(in alphabetical order)
- Ant Design
- Create React App
- ESLint
- Electron
- fp-ts
- Jest
- Observable Hooks
- Prettier
- ReactJS
- Styled Components
- Testcafe
- THORChain Byzantine Module
- RxJS
- Typescript
- and others ...
It's recommended to use a Node version as same as Electron is running with (currently: Electron v9.1.2
/ Node 12.14.1
)
git clone https://github.com/thorchain/asgardex-electron.git asgardex
cd asgardex
yarn
While environment variables are not required (defaults are set), you can configure them. Create an .env
file by copying all content of .env.sample
and change these for your needs.
yarn dev
How to auto-unlock a locked wallet while hot-reloading the app (for development only, disabled in production build)
Use REACT_APP_WALLET_PASSWORD
to run the app by replacing password
with your own password
REACT_APP_WALLET_PASSWORD=password yarn dev
Or add to REACT_APP_WALLET_PASSWORD=password
to .env
file and run yarn dev
yarn test
yarn test:e2e
src
├── index.ts # entry point for CRA
├── main # sources of Electron's main process
├── renderer # sources of Electron's renderer process (aka webapp)
└── shared # shared sources for Electron's main and renderer processes
src/main
├── electron.ts # entry point
├── i18n # internationalization (needed for menus)
└── menu # "native" menus
src/renderer
├── assets # static files (svg, fonts etc.)
├── components # basic components
├── contexts # React contexts to provide "global" accessible states (RxJS based)
├── helpers # helper functions
├── hooks # custom hooks
├── i18n # internationalization (translations etc.)
├── index.tsx # entry point
├── routes # routing
├── services # RxJS based IO handler and states (consumed by contexts)
├── types # TypeScript types (e.g. generated types for Midgard API)
└── views # "Container" components
Important note for macOS
users: Please follow guide of "How to package ASGARDEX
on macOS" before running following command.
yarn package:electron
By creating a new wallet or importing an existing one, ASGARDEX is saving wallet's phrase encrypted in keystore.json
on your machine in Electron's appData
folder at following location:
# ASGARDEX installed from *.exe
%APPDATA%/ASGARDEX/storage/keystore.json
# ASGARDEX built and run locally
%APPDATA%/Electron/storage/keystore.json
# ASGARDEX installed from *.dmg
~/Library/Application Support/ASGARDEX/storage/keystore.json
# ASGARDEX built and run locally
~/Library/Application Support/Electron/storage/keystore.json
# ASGARDEX installed from *.deb
~/.config/ASGARDEX/storage/keystore.json
# ASGARDEX built and run locally
~/.config/Electron/storage/keystore.json
keystore.json
can be removed in ASGARDEX by clicking "Remove wallet" in Wallet -> Settings
or by removing it manually.
See RELEASE.md
See the docs and guides here
Please see the Contributing Guidelines here (coming soon).
Please see the Bug Report Process here (coming soon).
MIT THORChain