Skip to content

Build custom waves wallet for your node

Sergey Ishchenko edited this page Nov 18, 2017 · 6 revisions

Setting up dev environment

Linux-like systems

Suppose we are working in ubuntu (in other systems should be similar)

sudo apt-get install nodejs npm git

Windows

For windows things are different (what's why you probably love it) - you have to install tools manually:

Building client from sources

This is to set up build pipeline and dependency management.

npm install -g grunt-cli bower

Downloading source code and installing dependencies

git clone https://github.com/wavesplatform/WavesExplorerLite.git
cd WavesGUI
npm install

Building a distribution

grunt distr

You can find distribution packages grouped by network type in ./distr directory. Waves Platform team uses three main configurations: devnet, testnet and mainnet. All of them are configured in Gruntfile.js

Development loop

If you're going to customize client look and feel or just change it's functionality, you need to understand how to test your changes locally. Ready to test package is created by grunt via command line:

gunt build-local

Just use your browser to open ./src/index.html

To test just-in-time changes you can run

grunt watch

This instructs grunt to monitor changes in templates, scripts and build file and run build-local for you. Refresh your browser to see what's changed.

Network configuration

Custom client for official Waves network

If you want to create your own version of a client to existing network, we've got you covered. It works out of the box. You would probably like to change client's node address. It's easy. For example, node address for testnet could be changed here

Client distribution for your private blockchain

In this case you need to know how chain parameters work. The network uses code symbol which should match the same setting of your node. You also have to change node address. Please make sure that this address is accessible from your customers' machines. Modification of network name parameter is optional, but feel free to change it to something more meaningful to you.

Clone this wiki locally