Skip to content
Lunie is the user interface for the Cosmos Hub.
Branch: develop
Clone or download
faboweb Merge pull request #2631 from luniehq/release-candidate/v1.0.0-beta.73
automatic release created for v1.0.0-beta.73
Latest commit 360643b May 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.aws fix commas Mar 13, 2019
.circleci Fabo/switch to our servers again (#2584) May 13, 2019
.github Organise Github files in .github folder May 15, 2019
src update cosmos-js May 19, 2019
tasks fix keybase May 18, 2019
test fix e2e test url May 19, 2019
.babelrc update babel Mar 25, 2019
.eslintignore restructured repo Apr 26, 2019
.eslintrc.js working Apr 26, 2019
.gitattributes clean up Apr 25, 2019
.gitignore Ignore environmnent file May 15, 2019
.npmrc Use exact version numbers for dependencies. Mar 26, 2018
.nvmrc automatic release created for v1.0.0-beta.5 (#2051) Feb 22, 2019
.prettierignore restructured repo Apr 26, 2019
.prettierrc install eslint-plugin-vue, upgrade prettier, create prettierrc file Nov 19, 2018
.sentryclirc fix sentry org Apr 2, 2019
.stylelintignore Ignore linting CSS in dist folder May 6, 2019
.stylelintrc fix lints Feb 17, 2019
CHANGELOG.md Bump version for release. May 19, 2019
LICENSE automatic release created for v1.0.0-beta.43 (#2458) Apr 16, 2019
PENDING.md changelog Mar 25, 2019
README.md Fix: Switch to live-server for code coverage May 6, 2019
circle.ebs_deploy.sh Update circle.ebs_deploy.sh Feb 1, 2019
codecov.yaml restructured repo Apr 26, 2019
jest.config.js disable console error helper for jest as tests are very reliable thes… Apr 28, 2019
package.json Bump version for release. May 19, 2019
seed.txt xxx Apr 23, 2019
webpack.renderer.config.js fixed csp May 9, 2019
yarn.lock update cosmos-js May 19, 2019

README.md

Lunie logo — spaceship blasting off

Welcome to Lunie.io!

CircleCI

👋 Welcome to Lunie, the official wallet and UI for the Cosmos Hub.

⚠️ This is beta software. DO NOT enter your Cosmos fundraiser seed into Lunie. We will not ask for it and this is considered highly unsafe.

Development Dependencies

Install the following dependencies if you wish to run lunie on developer mode or contribute.

Node

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

Yarn is a JS package manager we use to manage Lunie's dependencies. Download it here.

Docker

To run a local tesnet for Lunie you will need Docker installed. You can 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:

  1. Download the Ledger Live app here
  2. Connect your Ledger via USB and update to the latest firmware
  3. Go to the Ledger Live App Store, and download the Cøsmos application (this can take a while). Note: You may have to enable Dev Mode in the Ledger Live Settings to be able to download the Cøsmos application
  4. Navigate to the Cøsmos app 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

Lunie Development

Generate SSL certificates

First generate some SSL certificates and add them to your trusted certificates.

yarn certificates

Run local testnet

You can simply start a docker based testnet and the frontend.

yarn start

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.

Deploy

Create the bundle to deploy Lunie you can run:

yarn build:ui

If you want to set a particular Stargate (Cosmos SDK REST API) or Tendermint's RPC endpoints:

STARGATE=<https://StargateAddress:port> RPC=<https://RPCAddress:port> yarn build:ui

Release

Lunie has a automated release process. Every night the CI creates a new release PR. To release manually, run

yarn release

Testing

If you would like to run all the tests you can run:

yarn test

Unit tests

Lunie uses Jest to run unit tests. You can run all the unit tests with the following command:

yarn test:unit

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:

yarn test:e2e

Code coverage

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.

yarn test:coverage

Flags

A list of all environment variables and their purpose:

Variable Values default Purpose
NODE_ENV production, development
CI true, false false Adds better structured output, makes a screenshot and adds logs to files (used on CircleCI).
ALLOW_CONSOLE true, false false Unit tests fail if they use console.error or console.warn. To see the initial use/occurences of those callings, you can escape this behavior using this flag.

Thanks

Browserstack

You can’t perform that action at this time.