Git Product home page Git Product logo

oasis-wallet-web's Introduction

Oasis Wallet

License codecov Renovate enabled Build status FOSSA Status

โš ๏ธ NEVER use the private keys and mnemonics given as example in this repository.

Features

  • Opening wallets through private key or mnemonic
  • Transaction history, currently all transactions are listed. We need to submit a pull-request to oasis-explorer to support pagination
  • Multiple languages (English and French currently supported)
  • Submitting transactions
  • Ledger support
  • Multiple accounts open in parallel

Additional features coming soon

  • Staking (Adding / reclaiming escrow)
  • Staking rewards and history
  • Debonding status
  • Various account & network stats
  • OETH Support

Getting started

Installing and running oasis-wallet

You can quickly get started with the following commands :

yarn install
REACT_APP_BYPASS_LOCAL=1 yarn start

Alternatively, to get started with a local network :

docker-compose up --build -d
yarn install
yarn start

Then go to http://localhost:3000 to access the wallet.

Test accounts

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

Architecture

Oasis-wallet needs multiple components to run, all provided in the docker-compose file 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 transasctions.
  • oasis-explorer, a block indexer to store historical data about transactions, accounts, validators, rewards, blocks and mores. It exposes an OpenAPI. oasis-explorer requires two databases :
    • A PostgreSQL instance to keep track of it's import batches
    • A Clickhouse server to store the indexed data

Contributing & development

Running the tests

The repository has two different test strategies :

  • E2E (End-to-end) tests, ran with Cypress, located in cypress/. These tests require the react app to be started on accessible on port 3000 and the docker-compose stack to be up.
  • Unit & functional tests, ran with Jest, located throughout the codebase

To run all tests :

# Run jest tests
yarn test

# Run cypress tests
docker-compose up -d
yarn start # Run this in another terminal to keep it open
yarn cypress:run

Code style

This repository uses prettier as a code formatter and eslint as it's linter. You can use the following commands :

# Lint the whole repository
yarn lint

# Fix linting issues
yarn lint:fix

Internationalization

Oasis-wallet uses react-i18next for I18n. You can simply use the useTranslation hook inside your components to add additional i18n-ready strings. You can then export the new keys to the translation files by running

yarn run extract-messages

To add a new language, edit src/locales/i18n.ts and i18next-scanner.config.js, then run the command above once more.

License

FOSSA Status

oasis-wallet-web's People

Contributors

buberdds avatar esya avatar fossabot avatar lukaw3d avatar matevz avatar mitjat avatar peterjgilbert avatar pro-wh avatar renovate-bot avatar renovate[bot] avatar semantic-release-bot avatar tjanez avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.