Using Hyperledger Sawtooth on FreeBSD 11.1

Status

Hyperledger Sawtooth is a modular blockchain platform for building, deploying, and running distributed ledgers. Hyperledger Sawtooth doesn't require Docker and Docker-compose compared to other Hyperledger projects.

This quick and dirty guide assumes you running as root. There are some packages that needs to be installed beforehand in FreeBSD. Also this guide will help you install python packages system wide (Warning: maybe better use virtual environment in production!). It is also possible to try these instructions using FreeBSD jail.

Another interesting thing to try is how Proof of Elapsed Time (PoET) consensus works with Intel SGX. More info about PoET and SGX at:

As for SGX support in FreeBSD, it was brought and committed by br@ in CURRENT.

Install necessary packages

Install following packages using pkg install as root:

Install python3 packages

Sawtooth needs several python3 modules, so install them using pip-3.6:

Install gprcio and gprcio-tools

There are 2 important ports (thanks to vanilla@) required for Sawtooth are:

Install ports

If you don't have /usr/ports yet, then you can use portsnap to fetch:

py-grpcio and py-grpcio-tools ports are required to build/install until corresponding packages will be available:

Get Sawtooth and run

Now clone Sawtooth repo from github:

If it is necessary then set PATH to ${PATH}:${HOME}/sawtooth-core/bin for environment.

Install sawtooh_cli and sawtooth_sdk related python modules:

Now that grpcio, grpcio-tools are installed, the protobuf files need to be generated. The protogen script generates python classes based on the proto files found in the protos directory. Assuming you are in sawtooth-core directory run:

If everything is correctly installed it should run without any error.

Now follow the guide at:

to create genesis block and start necessary processes like validator etc.

Some of logs running Sawtooth on FreeBSD:

It may require some more testing, however that's it for now.

Enjoy running blockchain network using FreeBSD.

Any improvements or suggestions are welcome.

HyperledgerSawtooth (last edited 2017-11-13 01:59:39 by GanboldTsagaankhuu)