Cross platform GUI for decred
JavaScript CSS Protocol Buffer Other
Latest commit 20d8e23 Jan 20, 2017 @alexlyp alexlyp committed on GitHub Basic match of upcoming design docs (#191)

README.md

decrediton

decrediton is a cross-platform GUI for decred written in node.js using Electron.

Installation

Currently decrediton has only been tested and built on Linux and macOS. Additional systems will be added in the future.

Decrediton will NOT use or in any way disrupt the wallet file you may already be using at this time.

Download the decrediton release for your operating system.

On macOS, Ubuntu (14.04 and later), and recent Debians, there should be no additional dependencies needed.

On Fedora or similar distros you may need to install the libXScrnSaver package if you see this error:

error while loading shared libraries: libXss.so.1

You can install this on a recent Fedora with the command:

sudo dnf -y install libXScrnSaver

On linux you will need to decompress the package:

tar -xvzf decrediton-X.X.X.tar.gz

and then run the file:

./decrediton

This will start dcrd and dcrwallet for you.

On macOS, double-click the .dmg file, drag the .app to your Applications folder. Double click on Decrediton.app to start.

From there follow the on screen instructions to setup your wallet.

Developing

Due to potential compatibility issues, for now, all work should be done with node v6.5.0 and electron 1.4.6. It is likely we can relax this once things have settled down. The recommended way to install node is using nvm.

This has primarily been tested on Linux at the moment although OSX should work similarly.

git clone https://github.com/creationix/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
. ~/.nvm/nvm.sh
nvm install v6.5.0
nvm use v6.5.0
nvm alias default v6.5.0
npm install -g npm
cd

Due to an incompatibility between grpc and electron, several extra steps are necessary. As some current PRs make it into grpc these steps will be unnecessary in the future. Since you must locally build grpc, you must have compilers and the normal development tools installed.

Adjust the following steps for the paths you want to use.

mkdir code
cd code
git clone https://github.com/decred/decrediton.git
git clone https://github.com/grpc/grpc
cd grpc
git submodule update --init
npm install
cd ../decrediton
npm install

Start dcrd and dcrwallet with the following options. Note, you must NOT already have rpc certs from dcrwallet so it is easiest to start with an emtpy $HOME/.dcrwallet

dcrd --testnet -u USER -P PASSWORD --rpclisten=127.0.0.1:19109 --rpccert=$HOME/.dcrd/rpc.cert
dcrwallet --testnet --experimentalrpclisten=127.0.0.1:19112 --noinitialload --tlscurve=P-256 --onetimetlskey --appdata=~/.config/decrediton

On macOS you should use:

dcrd --testnet -u USER -P PASSWORD --rpclisten=127.0.0.1:19109 --rpccert=$HOME/Library/Application\ Support\Dcrd/rpc.cert
dcrwallet --testnet --experimentalrpclisten=127.0.0.1:19112 --noinitialload --tlscurve=P-256 --onetimetlskey --appdata=$HOME/Library/Application\ Support/decrediton

Start decrediton

npm run dev

Windows

On windows you will need some extra steps to build grpc. This assumes you are using msys2 with various development tools (copilers, make, ect) all installed.

Install node from the official package https://nodejs.org/en/download/ and add it to your msys2 path.

Install openssl from the following site: https://slproweb.com/products/Win32OpenSSL.html

From an admin shell:

npm install --global --production windows-build-tools

Then build grpc as described above.

Building the package

To build a packaged version of decrediton (including a dmg on OSX and exe on Windows), follow the development steps above. Then build the dcr command line tools:

go get -u -v github.com/decred/dcrd
go get -u -v github.com/decred/dcrwallet
go get -u -v github.com/Masterminds/glide
cd $GOPATH/github.com/decred/dcrd
glide i
go install . ./cmd/dcrctl/
cd ../dcrwallet
glide i
go install
cd
cd code/decrediton
mkdir bin
cp `which dcrd` bin/
cp `which dcrctl` bin/
cp `which dcrwallet` bin/
npm install
npm run package

Contact

If you have any further questions you can find us at:

  • irc.freenode.net (channel #decred)
  • webchat
  • forum.decred.org
  • decred.slack.com

Issue Tracker

The integrated github issue tracker is used for this project.

License

decrediton is licensed under the copyfree ISC License.