Renovate Bot
ee4ea6708c
|
5 years ago | |
---|---|---|
.github | 5 years ago | |
.vscode | 5 years ago | |
assets | 5 years ago | |
docker | 5 years ago | |
e2e | 5 years ago | |
electron | 5 years ago | |
public | 5 years ago | |
src | 5 years ago | |
tools | 5 years ago | |
.commitlintrc | 5 years ago | |
.editorconfig | 5 years ago | |
.electronbuildrc | 5 years ago | |
.eslintignore | 5 years ago | |
.eslintrc | 5 years ago | |
.gitattributes | 5 years ago | |
.gitignore | 5 years ago | |
.i18next-scanner.js | 5 years ago | |
.lintstagedrc | 5 years ago | |
.prettierrc | 5 years ago | |
.renovaterc | 5 years ago | |
.rescriptsrc.js | 5 years ago | |
.stylelintrc | 5 years ago | |
.testcafe-electron-rc | 5 years ago | |
.versionrc | 5 years ago | |
LICENSE | 5 years ago | |
README.md | 5 years ago | |
TODO.md | 5 years ago | |
package.json | 5 years ago | |
tsconfig.json | 5 years ago | |
yarn.lock | 5 years ago |
README.md
Polar
One-click Bitcoin Lightning networks for local app development & testing
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
- 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
- On Mac & Windows, you can just install Docker Desktop
- On Linux, you need to install Docker Server and Docker Compose separately
Download
The current pre-release downloads 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 |
Note: there is currently a bug in electron v6 on Windows with Dark Mode enabled. Use
yarn win
instead ofyarn dev
to automatically disabled dark mode during development. See win-light.cmd for more details.
Tips
- install the import-sorter Visual Studio Code extension for automatic import statement sorting
Tech Stack
- 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
- 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
- Renevate 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
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 😊.