Skip to content

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.

System Recommendations

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.




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:

  1. Add the STRATO software package to your node and change directories into the STRATO folder: cd strato-getting-started
  2. Launch STRATO single node:
./strato --single

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: ./strato --single

Windows users should always provide the NODE_HOST variable with the docker machine IP address (in most cases it is when running the STRATO: NODE_HOST= ./strato --single

  1. Check if STRATO services are running (using docker ps) & view the Strato Management Dashboard at http://localhost/ (or http://<remote_node_host>/ when running on remote machine)

If NODE_HOST is set in step 3, use it's value instead of the localhost hereinafter

  1. 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 PASSWORD into 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>"'

Stopping STRATO

To stop a running instance of STRATO Developer Edition on your machine, run this command (from within the git cloned strato-getting-started folder)

./strato --stop

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)

./strato --wipe

Other STRATO commands

A few other commands are important for management of your STRATO node:

./strato --down

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.

./strato --drop-chains

This removes all STRATO containers and chain data volumes. However, user data volumes are still retained.

./strato --fetch-logs

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 --help

Ports used

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)

License Agreement

See BlockApps STRATO end user license agreement