Giter Site home page Giter Site logo

asgardex-electron's Introduction



Test Electron build

ASGARDEX uses following libraries, frameworks and more:

(in alphabetical order)

Install

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

Environment variables

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.

Development

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

Tests

unit

yarn test

e2e

yarn test:e2e

Folder structure

src

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's "main" app)

src/main
├── electron.ts # entry point
├── i18n # internationalization (needed for menus)
└── menu # "native" menus

src/renderer (Electron's "renderer" app aka ReactJS webapp)

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

Packaging

Important note for macOS users: Please follow guide of "How to package ASGARDEX on macOS" before running following command.

yarn package:electron

Keystore

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:

Windows

# ASGARDEX installed from *.exe
%APPDATA%/ASGARDEX/storage/keystore.json
# ASGARDEX built and run locally
%APPDATA%/Electron/storage/keystore.json

macOS

# ASGARDEX installed from *.dmg
~/Library/Application Support/ASGARDEX/storage/keystore.json
# ASGARDEX built and run locally
~/Library/Application Support/Electron/storage/keystore.json

Linux

# 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.

Releasing

See RELEASE.md

Docs

See the docs and guides here

Contributing

Please see the Contributing Guidelines here (coming soon).

Bug Reports

Please see the Bug Report Process here (coming soon).

License

MIT THORChain

asgardex-electron's People

Contributors

veado avatar frozenice0617 avatar thatstrangeguythorchain avatar robertdavid010 avatar nomadnic avatar drawbit avatar thorchain-admin avatar vssrcj avatar imylomylo avatar davidp94 avatar jpthor avatar sectore avatar trolloks 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.