👋 Welcome to Antlia Wallet, the official wallet and UI for the Antlia.
Install the following dependencies if you wish to run Antlia Wallet on developer mode or contribute.
Antlia Wallet 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 Antlia Wallet's dependencies. Download it here.
To run a local tesnet for Antlia Wallet you will need Docker installed. You can download it here.
IMPORTANT: Only use Ledger devices that you bought factory new or trust fully.
Antlia Wallet supports sending transactions through the Antlia
app for Ledger Nano hardware wallet. To install the Antlia
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
Antlia
application (this can take a while). Note: You may have to enableDev Mode
in the Ledger Live Settings to be able to download theAntlia
application - Navigate to the
Antlia
app on your Ledger device
With Node, Yarn and Docker installed, you're ready to check out the source code:
git clone https://github.com/antlia-io/Antlia-Web-Wallet.git
cd Antlia-Web-Wallet
yarn install
First generate some SSL certificates and add them to your trusted certificates.
yarn certificates
You can simply start a docker based testnet and the frontend.
yarn startlocal
This will create a rich account. You need to import that account into Antlia Wallet:
- Sign In
- Use an existing address
- Recover with backup code
- Write Account Name & Password on your own wish
- Use mnemonic (Seed Phrase):
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 Antlia to play with.
Create the bundle to deploy Antlia Wallet you can run:
yarn build:ui
If you want to set a particular Stargate
(Antlia SDK REST API) or Tendermint's RPC
endpoints:
STARGATE=<https://StargateAddress:port> RPC=<https://RPCAddress:port> yarn build:ui
Antlia Wallet has a automated release process. Every night the CI creates a new release PR. To release manually, run
yarn release
If you would like to run all the tests you can run:
yarn test
Antlia Wallet 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
If you want to run them locally first start a testnet:
MAX_NODES=4 yarn testnet:start
Then run the tests:
yarn test:e2e
To run only some tests, provide a filter:
yarn test:e2e:serve
yarn test:e2e:local --filter send.spec.js
To run the e2e tests on multiple browsers use Browserstack. You must set the environment variables BROWSERSTACK_USERNAME
and BROWSERSTACK_ACCESS_KEY
aquired from Browserstack first.
yarn test:e2e:serve
yarn test:e2e:browserstack
Finally stop the testnet when you are done:
yarn testnet:stop
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
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. |