You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
renovate[bot] 271d29c645 chore(deps): update dependency prettier to v1.19.1 (#249) 5 years ago
.github ci(github): do not build electron in fork PRs 5 years ago
.vscode test(designer): add more unit tests for updated components 5 years ago
assets docs(readme): update screenshot and youtube link in the readme 5 years ago
docker docs(docker): update docker readme 5 years ago
e2e test(e2e): fix broken e2e tests 5 years ago
electron fix(electron): fix app icon on linux 5 years ago
public chore(config): use nodemon to automatically reload electron 5 years ago
src chore(deps): update dependency prettier to v1.19.1 (#249) 5 years ago
.commitlintrc chore(setup): initial app setup (#1) 5 years ago
.editorconfig chore(setup): initial app setup (#1) 5 years ago
.electronbuildrc fix(electron): fix app icon on linux 5 years ago
.eslintignore chore(config): use nodemon to automatically reload electron 5 years ago
.eslintrc chore(deps): update dependencies react-scripts eslint webpack (#14) 5 years ago
.gitattributes chore(setup): initial app setup (#1) 5 years ago
.gitignore feat(lnd): implement initial communication with lnd 5 years ago
.i18next-scanner.js chore(setup): initial app setup (#1) 5 years ago
.lintstagedrc test(e2e): update e2e test to use new emotion css selectors 5 years ago
.prettierrc chore(setup): initial app setup (#1) 5 years ago
.renovaterc chore(deps): update renovate config to ignore lnrpc 5 years ago
.rescriptsrc.js feat(styles): add dependency babel-plugin-emotion 5 years ago
.stylelintrc feat(styles): add emotion dependency 5 years ago
.testcafe-electron-rc chore(setup): initial app setup (#1) 5 years ago
.versionrc chore(setup): initial app setup (#1) 5 years ago
CHANGELOG.md docs(changelog): remove exrta char in chanelog 5 years ago
LICENSE chore(setup): initial app setup (#1) 5 years ago
README.md docs(readme): update screenshot and youtube link in the readme 5 years ago
TODO.md feat(network): implement node removal 5 years ago
package.json chore(deps): update dependency prettier to v1.19.1 (#249) 5 years ago
tsconfig.json feat(network): create an actual network based on user input 5 years ago
yarn.lock chore(deps): update dependency prettier to v1.19.1 (#249) 5 years ago

README.md

Polar

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

Actions Status codecov

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
  • Launch a terminal in each bitcoin/lightning node
  • Add more nodes using drag & drop
  • Open & Close Channels
  • Manually mine new blocks
  • Deposit regtest coins into each Lightning node

Supported Network Nodes:

  • LND v0.8.0 & v0.7.1
  • Bitcoin Core v0.18.1
  • c-lightning (coming soon)
  • eclair (coming soon)

Dependencies

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

Download

The most current downloads for Mac, Windows & Linux can be found in the GitHub releases

Development

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 langs extract i18n language keys from code
yarn package package the app for your OS

Tips

  • install the import-sorter Visual Studio Code extension for automatic import statement sorting

Tech Stack

Recognition

Huge thanks to maintainers of Lightning Joule, Zap Wallet, LND, Bitcoin Core, along with many others for the amazing apps & libraries that gave this project inspiration, ideas & sometimes even a little code 😊.

Contact

I plan to setup a website and email soon. The best place to reach me now is on Twitter @jamaljsr. I also lurk in the LND Slack server, so you can msg me there as well.