Deployment: Start a Node
Set Up a Single STRATO Node
If you are using STRATO for the first time, there are a few steps that are required to start a single node (or a single node network). Before we get to the setup instructions, we'll walk through some general system recommendations and prerequisites for your software setup.
Although STRATO may be run in a Windows environment successfully, we generally recommend that STRATO be set up on a Linux or Unix-based (Mac) Operating system.
In addition to being slightly more perfomant, we have found that troubleshooting on a Linux/Unix environment is much easier for first time users.
- Install Docker on your machine
- Install Docker Compose on your machine
- Python 2.7 for PBFT network deployment
wgetcan be installed on MacOS with Homebrew:
brew install wget --with-libressl
- Install Docker Toolbox ("Docker for Windows" is not currently supported)
The list of the ports required to be available on the machine
Steps to setup and run single STRATO node using Docker on your machine:
- Add the STRATO software package to your node and change directories into the STRATO folder:
- Launch STRATO single node:
If running on the remote machine, provide the NODE_HOST variable with the machine's external IP address or domain (reachable through the network) when running the STRATO:
NODE_HOST=example.com ./strato --single
Windows users should always provide the NODE_HOST variable with the docker machine IP address (in most cases it is
192.168.99.100) when running the STRATO:
NODE_HOST=192.168.99.100 ./strato --single
- Check if STRATO services are running (using
docker ps) & view the Strato Management Dashboard at
http://<remote_node_host>/when running on remote machine)
NODE_HOSTis set in step 3, use it's value instead of the
- If you are using STRATO with OAuth enabled, set the key encryption password.
If you are manually starting a STRATO node with OAuth, you will be prompted for a key encryption password. This password is used to encrypt STRATO users' private keys.
If you need to start a new STRATO node programmatically, calling strato-getting-started from a script, you pass the environment variable
PASSWORDinto the strato-getting-started script. If starting STRATO without using strato-getting-started, the following command must be executed before the node will allow transactions to be signed by OAuth accounts:
docker exec -it strato_bloc_1 curl -X POST http://vault-wrapper:8000/strato/v2.3/password -H "Content-Type: application/json" -d '"<your_chosen_password>"'
To stop a running instance of STRATO Developer Edition on your machine, run this command (from within the git cloned
To stop and wipe out a running instance of STRATO Developer Edition on your machine, run this command (from within the git cloned
strato-getting-started folder)(you will lose state of any transactions/data created in the blockchain)
Other STRATO commands
A few other commands are important for management of your STRATO node:
This removes STRATO containers but leaves your underlying volumes intact. Starting with STRATO 4.5, this allows a user to stop and start a STRATO node without needing to resync chain data. Note: the node must stay on the same STRATO version for the chain data to persist, and the user cannot restart the node with an upgraded STRATO version.
This removes all STRATO containers and chain data volumes. However, user data volumes are still retained.
This retrieves a zipped folder of key STRATO system logs, and can be used after a node or network error to aide BlockApps Support in responding to your support request.
A full list of STRATO commands can be seen by running the help function inside your STRATO folder:
STRATO services need the following ports to be available on the machine (refer docker-compose.yml for details):
:80(customizable), :443(customizable) (for Nginx) :30303, :30303/UDP (for Strato P2P)