Installation and usage of the platform

Deploying the platform in the trial mode (Sandbox)

To familiarize yourself with the Waves Enterprise blockchain platform, a free trial version running in a Docker container is available to you. No license is required to install and use it, and the blockchain height is limited to 30,000 blocks. With a block round time of 30 seconds, the full operation time of the platform in trial mode is 10 days.

When you deploy the platform in the trial mode, you get a local version of the blockchain that allows you to test the basic features:

  • signing and sending of transactions;

  • obtaining of data from the blockchain;

  • installation and call of smart contracts;

  • transfer of confidential data between nodes;

  • testing node monitoring with InfluxDB and Grafana.

Interaction with the platform can be performed both through the client application and through gRPC and REST API interfaces.

Platform installation

Before you start the installation, make sure you have Docker Engine and Docker Compose installed on your machine. Also, familiarize yourself with the blockchain platform system requirements.

Note that you may need administrator rights to run commands on Linux (the sudo prefix followed by the administrator password).

  1. Create a working directory and place in it the docker-compose.yml file. You can download this file from the official Waves Enterprise repository on GitHub with the latest platform release or in the terminal using the wget utility:

wget https://github.com/waves-enterprise/WE-releases/releases/download/v1.6.0/docker-compose.yml
  1. Open a terminal and navigate to the directory containing the downloaded docker-compose.yml file. Start the Docker container to deploy the platform:

docker run --rm -ti -v $(pwd):/config-manager/output wavesenterprise/config-manager:v1.6.0

Wait for the message about the end of the deployment:

INFO [launcher] WE network environment is ready!

This will create 3 nodes with automatically generated credentials. Information about the nodes is available in the file ./credentials.txt:

node-0
blockchain address: 3Nzi7jJYn1ek6mMvtKbPhehxMQarAz9YQvF
public key:         7cLSA5AnvZgiL8CnoffwxXPkpQhvviJC9eywBKSUsi58
keystore password:  OEtrVSL9gzjO87jYx-gIoQ
keypair password:   JInWk1kauuZDHGXFJ-rNXQ
API key:            we

node-1
blockchain address: 3Nxz6BYyk6CYrqH4Zudu5UYoHU6w7NXbZMs
public key:         VBkFFQmaHzv3YMiWLhh4qsCn4prUvteWsjgiiHEpWEp
keystore password:  FsUp3xiX_NF-bQ9gw6t0sA
keypair password:   Qf2rBgBT9pnozLPOkO1yYw
API key:            we

node-2
blockchain address: 3NtT9onn8VH1DsbioPVBuhU4pnuCtBtbsTr
public key:         8YkDPLsek5VF5bNY9g2dxAthd9AMmmRyvMPTv1H9iEpZ
keystore password:  T77fAroHavbWCS6Uir2oFg
keypair password:   bELB4EU1GDd5rS-RId_6pA
API key:            we
  1. Run the finished configuration:

docker-compose up -d

Message when node and services start successfully:

Creating network "platf_we-network" with driver "bridge"
Creating node-2       ... done
Creating postgres     ... done
Creating node-0       ... done
Creating node-1       ... done
Creating auth-service ... done
Creating crawler      ... done
Creating data-service ... done
Creating frontend     ... done
Creating nginx-proxy  ... done

After successful launch of containers, the platform client will be available in your browser locally at 127.0.0.1 or localhost. The REST API of the node is located at 127.0.0.1/node-0 or localhost/node-0.

Note that the 80:80 port is provided for the local platform nginx server by default. If this port is occupied by another application in your system, change the ports parameter of the nginx-proxy section in the docker-compose.yml file, selecting the available port:

nginx-proxy:
  image: nginx:latest
  hostname: nginx-proxy
  container_name: nginx-proxy
  ports:
    - "81:80"

After that, the client and the REST API will be available at 127.0.0.1:81 or localhost:81.

  1. To stop running nodes, run the following command:

docker-compose down