Running Sawtooth as a Service¶
When you installed Sawtooth with
systemd units were added for
the Sawtooth components (validator, REST API, transaction processors, and
consensus engine). This procedure describes how to use the
command to start, stop, and restart Sawtooth components as
To learn more about
systemd and the
systemctl command, see the Digital
Ocean systemctl guide.
Each node in the Sawtooth network must run the same set of transaction processors. If this node will join an existing Sawtooth network, make sure that you know the full list of required transaction processors, and have installed any custom transaction processors.
If necessary, add the additional transaction processors to all
commands in this procedure.
Start the Sawtooth Services¶
Use these commands to start each Sawtooth component as a service:
$ sudo systemctl start sawtooth-rest-api.service $ sudo systemctl start sawtooth-poet-validator-registry-tp.service $ sudo systemctl start sawtooth-validator.service $ sudo systemctl start sawtooth-settings-tp.service $ sudo systemctl start sawtooth-intkey-tp-python.service $ sudo systemctl start sawtooth-identity-tp.service $ sudo systemctl start sawtooth-poet-engine.service
These commands start the required transaction processors:
PoET Validator Registry (
sawtooth-identity-tp). They also start the IntegerKey
transaction processor (
sawtooth-intkey-tp-python), which is used in a
later procedure to test basic Sawtooth functionality.
The last command starts the PoET consensus engine (
Check Service Status¶
Run this command to verify that the Sawtooth services are running:
$ sudo systemctl status sawtooth-rest-api.service $ sudo systemctl status sawtooth-poet-validator-registry-tp.service $ sudo systemctl status sawtooth-validator.service $ sudo systemctl status sawtooth-settings-tp.service $ sudo systemctl status sawtooth-intkey-tp-python.service $ sudo systemctl status sawtooth-identity-tp.service $ sudo systemctl status sawtooth-poet-engine.service
View Sawtooth Logs¶
Use the following command to view the log output.
$ sudo journalctl -f \ -u sawtooth-validator \ -u sawtooth-settings-tp \ -u sawtooth-poet-validator-registry-tp \ -u sawtooth-poet-engine \ -u sawtooth-rest-api \ -u sawtooth-intkey-tp-python \ -u sawtooth-identity-tp
This command shows the output that would have been displayed on the console if you ran the components manually.
Additional logging output can be found in
/var/log/sawtooth/. For more
information, see Log Configuration File.
Stop or Restart the Sawtooth Services¶
If you need to stop or restart the Sawtooth services for any reason, use the following commands:
Stop Sawtooth services:
$ sudo systemctl stop sawtooth-rest-api.service $ sudo systemctl stop sawtooth-poet-validator-registry-tp.service $ sudo systemctl stop sawtooth-validator.service $ sudo systemctl stop sawtooth-settings-tp.service $ sudo systemctl stop sawtooth-intkey-tp-python.service $ sudo systemctl stop sawtooth-identity-tp.service $ sudo systemctl stop sawtooth-poet-engine.service
Restart Sawtooth services:
$ sudo systemctl restart sawtooth-rest-api.service $ sudo systemctl restart sawtooth-poet-validator-registry-tp.service $ sudo systemctl restart sawtooth-validator.service $ sudo systemctl restart sawtooth-settings-tp.service $ sudo systemctl restart sawtooth-intkey-tp-python.service $ sudo systemctl restart sawtooth-identity-tp.service $ sudo systemctl restart sawtooth-poet-engine.service