This is an unofficial fork of Polar that follows Bitcoin's change of proof-of-work algorithm to BLAKE2b. It is not affiliated with the Polar project. Upstream Polar has not adopted the change, so use it instead if that is what you want.
For regtest only, and not audited. Use at your own risk, and no warranty of any kind, see the MIT license. Everything below the divider is upstream's documentation and describes Polar rather than this fork.
- Bitcoin Knots. The Bitcoin node is Bitcoin Knots, started with
-testactivationheight=blake2b@1, so every block past the genesis block has the 164 byte v2 header and its BLAKE2b hash as the block id. - Lightning nodes that follow BLAKE2b. LND is paulscode/lightning-fork and Core Lightning is privkeyio/lightning. Both sign channels with the unified opt-in signature hash and advertise
option_blake2b, so they peer with each other and not with Lightning nodes on the SHA256d rules. - Removed: Bitcoin Core, Eclair, Taproot Assets and Lightning Terminal, which do not follow BLAKE2b.
- Images are published to
ghcr.io/privkeyio/polarfrom the Dockerfiles in docker, and the image list is fetched from this repository rather than upstream's. - Separate data directory. Networks, settings and logs live in
~/.polar-blake2b(or~/.local/share/polar-blake2b), so it installs alongside upstream Polar without sharing networks. Do not run both at once: they use the same container names and host ports. Networks made with upstream Polar have SHA256d blocks; create new ones here. - Knots policy. Bitcoin Knots also runs with
-rejectparasites=0, so a Core Lightning wallet transaction is not refused for a locktime that policy reads as a parasite.
Published under Releases with a signed SHA256SUMS covering every file:
gpg --import privkeyio-signing-key.asc
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMSSigned by Kyle Santiago kyle@privkey.io, key A47D99B6DB0D715D40C59A2023AE8A8EA7E24E38.
The macOS builds are not notarized and the Windows installers are not Authenticode signed, so both are reported as untrusted on first launch. Verify SHA256SUMS first, because clearing quarantine removes the check that would otherwise stop a tampered download:
xattr -dr com.apple.quarantine "/Applications/Polar BLAKE2b.app"The node images are built by the Images workflow from the Dockerfiles in docker, Bitcoin Knots is pinned to its signed checksum file, LND to a source commit, and Core Lightning builds on the lightningd image privkeyio/lightning publishes for each release; see docker/README.md.
Use the Issues tab for problems specific to this fork. Anything else belongs upstream.
One-click Bitcoin Lightning networks for local app development & testing
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
- 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.20.0, v0.19.3, v0.19.2, v0.19.1, v0.18.5, v0.18.4, v0.18.3, v0.17.5, v0.16.4
- Core Lightning - v25.12, v25.09.3, v25.05, v25.02, v24.11.1, v24.08.1
- Bitcoin Core - v30.0, v29.0, v28.0, v27.0, v26.0
Polar includes an MCP server that enables AI agents like Claude & Cursor to programmatically control Lightning Network simulations.
See the polar-mcp repo for installation instructions.
See the MCP Architecture Documentation for technical information on the architecture, API, and how to add new tools to Polar.
Polar requires that you have Docker installed to create the local networks
- On Mac & Windows, you can just install Docker Desktop
- On Linux, you need to install Docker Server.
You will be prompted to install Docker if Polar cannot detect it automatically
- 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 Polar v4.0.0 for your OS
Alternative and older version binaries can be found in the GitHub releases
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.
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.
| 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 |
- Node.js: nodejs version >= 20
- Electron: cross platform desktop app framework
- Typescript: increased productivity with a typed language
- ReactJS: declarative UI library for JavaScript
- Create React App: minimize build configuration
- easy-peasy: Redux state management without the boilerplate
- Emotion: simplified CSS style composition
- Ant Design: don't reinvent the wheel with UI design
- react-i18next: support for multiple languages (english/spanish included)
- electron-log: multi-level logging to console and file
- Prettier: keep code format consistent
- ESLint: follow code quality best practices
- Github Actions: automate builds and testing on Windows/Mac/Linux
- Renovate Bot: automate dependency upgrades via GitHub bot
- Jest: delightful JavaScript testing
- React Testing Library: React specific testing utilities
- CodeCov: maintain quality of unit tests
- Testcafe: End-to-end is important
- commitlint: standardize git commit messages
- standard-version: automate release versioning and changelog generation
