Install the following dependencies if you wish to run lunie on developer mode or contribute.
Lunie requires Node.js
>=10.13.0. If you have a different version of Node.js installed, you can use
n to install the correct version. The following command will use
n to install it alongside your current version of Node.js.
npm i -g n && n 10.13.0
Yarn is a JS package manager we use to manage Lunie's dependencies. Download it here.
Ledger Cosmos App
IMPORTANT: Only use Ledger devices that you bought factory new or trust fully.
Lunie supports sending transactions through the
Cøsmos app for Ledger Nano S hardware wallet. To install the
Cøsmos app on your device you'll have to:
- Download the Ledger Live app here
- Connect your Ledger via USB and update to the latest firmware
- Go to the Ledger Live App Store, and download the
Cøsmosapplication (this can take a while). Note: You may have to enable
Dev Modein the Ledger Live Settings to be able to download the
- Navigate to the
Cøsmosapp on your Ledger device
Check out Lunie
With Node, Yarn and Docker installed, you're ready to check out the source code:
git clone https://github.com/luniehq/lunie.git cd lunie yarn install
Generate SSL certificates
First generate some SSL certificates and add them to your trusted certificates.
Run local testnet
You can simply start a docker based testnet and the frontend.
This will create a rich account. You need to import that account into Lunie:
- Sign In
- Import Account
- Use mnemonic:
release endorse scale across absurd trouble climb unaware actor elite fantasy chair license word rare length business kiss smoke tackle report february bid ginger
You should now have a bunch of stake to play with.
Create the bundle to deploy Lunie you can run:
If you want to set a particular
Stargate (Cosmos SDK REST API) or Tendermint's
STARGATE=<https://StargateAddress:port> RPC=<https://RPCAddress:port> yarn build:ui
Lunie has a automated release process. Every night the CI creates a new release PR. To release manually, run
If you would like to run all the tests you can run:
Lunie uses Jest to run unit tests. You can run all the unit tests with the following command:
For a single test file (e.g.
PageValidator.spec.js) run the unit tests like this to watch the tests whenever there are changes:
yarn watch PageValidator
End to end tests
End to end testing will be soon restored thanks to: Browserstack
If you want to run them locally build the UI and serve the files so the E2E tests can access them:
yarn build:ui ./node_modules/.bin/live-server /app/dist -p 8081
Then run the actual tests:
To check test coverage locally run following. It will spin up a webserver and provide you with a link to the coverage report web page.
A list of all environment variables and their purpose:
||Adds better structured output, makes a screenshot and adds logs to files (used on CircleCI).|
||Unit tests fail if they use