⚠️ NEVER use the private keys and mnemonics given as example in this repository.
You can quickly get started with the following commands:
yarn install yarn start
Alternatively, to get started with a local network:
docker-compose up --build -d yarn install REACT_APP_LOCALNET=1 yarn start
Then go to http://localhost:3000 to access the wallet.
The local single-node network used for development comes built-in with two accounts already having tokens.
Using a private key: X0jlpvskP1q8E6rHxWRJr7yTvpCuOPEKBGW8gtuVTxfnViTI0s2fBizgMxNzo75Q7w7MxdJXtOLeqDoFUGxxMg== oasis1qz0k5q8vjqvu4s4nwxyj406ylnflkc4vrcjghuwk Using a mnemonic: abuse gown claw final toddler wedding sister parade useful typical spatial skate decrease bulk student manual cloth shove fat car little swamp tag ginger oasis1qq5t7f2gecsjsdxmp5zxtwgck6pzpjmkvc657z6l
Oasis-wallet needs multiple components to run, all provided in the docker-compose.yml for local development.
envoy-proxy, used as a gRPC gateway for live access to the oasis-node, to fetch live balance, information about the current state of the network, and to submit transactions.
API that web wallet is using is determined during a build time.
The repository has two different test strategies:
3000and the docker-compose stack to be up.
To run all tests:
# Check typescript errors yarn checkTs # Run jest tests yarn test # Run playwright tests yarn start (cd playwright; yarn; npx playwright install --with-deps) (cd playwright; yarn test) # Or set BASE_URL and EXTENSION_PATH to test production builds. # Run cypress tests docker-compose up -d # Run this in another terminal to keep it open REACT_APP_LOCALNET=1 REACT_APP_BACKEND=oasismonitor yarn start yarn cypress:run # Manually check that content-security-policy in ./internals/getCsp.js doesn't # break any functionality yarn --silent print-csp yarn start:prod # Open http://localhost:5000/account/oasis1qq3xrq0urs8qcffhvmhfhz4p0mu7ewc8rscnlwxe/stake # and switch to testnet. This exercises at least: fonts, grpc, testnet grpc, API, # and validator logos.
# Lint the whole repository yarn lint # Fix linting issues yarn lint:fix
A quick summary:
A detailed post on Git commit messages: How To Write a Git Commit Message.
Translating: We have Transifex to easily contribute translations.
Development: Oasis Wallet uses react-i18next for internationalization. You can
simply use the useTranslation hook inside your components to add additional
translation-ready strings. You can then export the new keys to the
English translation.json by running
yarn run extract-messages.
Updating from Transifex: English translation.json is set as an automatically updating resource in Transifex, so the new translation strings will appear in Transifex a few hours after changes are merged. After they are translated, click "Download for use" on each language, and create a new pull request with title "i18n: Update translations from Transifex".
Adding a new language:
src/localesand download the translation file there,