/polar

One-click Bitcoin Lightning networks for local app development & testing

Primary LanguageTypeScriptMIT LicenseMIT

Polar

One-click Bitcoin Lightning networks for local app development & testing

Actions Status codecov Crowdin GitHub license GitHub release

View a short video demo

Purpose

Polar was built to help Lightning Network application developers quickly spin up one or more networks locally on their computers.

With Polar you can:

  • Create a regtest Lightning Network in just a few clicks
  • Connect from your app to the lightning nodes via RPC
  • Add more nodes using drag & drop
  • Start and stop individual nodes
  • Open & Close Channels
  • Create & Pay Lightning Invoices
  • Launch a terminal in each bitcoin/lightning node
  • View streaming logs from each node
  • Manually mine new blocks
  • Deposit regtest coins into each Lightning node
  • Mint, Send & Receive Taproot Assets
  • Create & Pay Taproot Asset invoices
  • Export and import networks, for sharing with other Lightning developers
  • Create you own docker images to use as custom nodes (ex: master branch, local fork)

Supported Network Node Versions:

  • LND - v0.18.3, v0.17.5, v0.16.4, v0.15.5, v0.14.3, v0.13.1
  • Core Lightning - v24.08, v24.05, v24.02.2, v23.11.2
  • Eclair - v0.10.0, v0.9.0, v0.8.0, v0.7.0, v0.6.2, v0.5.0
  • Bitcoin Core - v28.0, v27.0, v26.0, v25.0, v24.0, v23.0, v22.0, v0.21.1
  • Taproot Assets - v0.4.1, v0.3.3
  • Terminal - v0.13.995

Dependencies

Polar requires that you have Docker installed to create the local networks

You will be prompted to install Docker if Polar cannot detect it automatically

⚠️ Important Docker Notes

  • On Linux, Docker Desktop is currently not supported due to a significant change in how it handles file sharing between host and container (See #636)

Download

Download Polar v3.0.0 for your OS

Alternative and older version binaries can be found in the GitHub releases

Help Translate

Polar's translations are managed on Crowdin. The initial translations of 10 languages were done by machine (Google Translate) and are likely to not be 100% accurate. If you speak multiple languages and wish to help with translations, please feel free to head over to the project page on Crowdin and submit updated strings. This assistance would be greatly appreciated.

Development

If you would like to learn how to package Polar from source code or want to fix a bug or add a new feature, please see CONTRIBUTING for detailed instructions.

Commands

Command Description
yarn install dependencies
yarn dev run the app with react hot reloading and electron live restarting
yarn test run unit tests in watch mode
yarn test:e2e run e2e tests
yarn lint:all run typescript and eslint syntax checking
yarn package package the app for your OS

Tech Stack