Decent.bet Wallet
Clone or download
bradleySuira Merge pull request #71 from decent-bet/develop
Merge develop into master with builder config fixes
Latest commit 626a461 Nov 13, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode minor updates Oct 25, 2018
__mocks__ DBET-188 - create tests for wallet application Mar 14, 2018
public fixed autoupdater name files format for mac and updated icons paths a… Oct 11, 2018
src downgrade to web .33 Nov 9, 2018
.eslintignore added .nvmrc and eslint settings Aug 15, 2018
.eslintrc.json adds support for e2e tests with jest puppeteer, see Login for examples. Oct 15, 2018
.gitignore changed app id and added type distribution for mac build Oct 3, 2018
.gitlab-ci.yml Added yarn to documentation and tests Feb 20, 2018
.nvmrc remove staging env and add node lts to .nvmrc Nov 8, 2018
.prettierrc Extracted the ConfirmedTransactionListItem Jan 29, 2018
CHANGELOG.md minor UI improvements Nov 7, 2018
README.md 2.0.2: material upgrade Oct 31, 2018
electron-builder.beta.yml change scripts and remove staging env Nov 8, 2018
electron-builder.yml fixed builder settings for autoupdater Nov 13, 2018
images.d.ts working typescript implementation Sep 20, 2018
index.js fixing yarn electron and dist Sep 20, 2018
jest-puppeteer.config.js adds support for e2e tests with jest puppeteer, see Login for examples. Oct 15, 2018
jest.config adds support for e2e tests with jest puppeteer, see Login for examples. Oct 15, 2018
jsconfig.json working typescript implementation Sep 20, 2018
package-lock.json fixed builder settings for autoupdater Nov 13, 2018
package.json fixed builder settings for autoupdater Nov 13, 2018
tsconfig.json fixes and refactor deposit token. migrated contract classes to typesc… Sep 21, 2018
tsconfig.prod.json adding missing tsconfig json Sep 20, 2018
tsconfig.test.json working typescript implementation Sep 20, 2018
tslint.json working typescript implementation Sep 20, 2018

README.md

DBET Web/Desktop Wallet - Vechain / Ethereum Version

Latest Version 2.0.2

Desktop wallet to interact with the Decent.bet token contract on the Vechain / Ethereum mainnet.

Setup with Thor

  1. Enable CORS: thor solo --on-demand --verbosity 9 --api-cors http://localhost:3100
  2. Configure proper networks to use updated contracts
  3. Run with environment variable: export THOR_URL=http://localhost:8669;npm start

Features

  • Wallet login using Ethereum private keys/mnemonics.
  • Create new wallets using a random mnemonic generator (Using Ethers).
  • View DBET balances, transactions and send DBETs to other addresses.

Technicalities

Built initially with Truffle Box and Electron, then migrated to use react-scripts-ts. Uses Ethers for Wallet creation/verfication and parts of Web3 1.0 for account management.

Installation

  1. Clone this repository
  2. Install dependencies with npm install
  3. Rebuild scrypt npm rebuild

Development

The mainnet token contract ABIs are included in the build/contracts folder, which would mean that you wouldn't have to migrate any contracts to your local network. For development,

  1. Run the webpack server for front-end hot reloading.

    npm start
    
  2. To build the application for production/working with electron, use the build command. A production build will be created in the build folder.

    npm run build
    
  3. Deploy the build files using a simple express server and pm2/serve or create a packaged electron based executable file using the instructions below.

Build

DBET Wallet uses electron-builder to build and create installers across all operating systems.

Make sure you run npm run build and have the build folder in the wallet's root directory. Once available, simply call:

  • Windows npm run dist:windows
  • Linux npm run dist:linux
  • MacOs npm run dist:mac
  • All npm run dist:all

Relase

DBET Wallet uses GitHub releases.

Make sure you run npm run build and have the build folder in the wallet's root directory. Once available, change the package.json version and call:

  • npm run release

A new release will be created on releases.

Exception Logger

Uncaught exceptions are logged with electron-log.

Environment variables

The settings for each environment can be found in Config.ts