Run Trillian + sigsum-log-go locally
Trillian uses a database. So, we will need to set that up. It is documented
here, and how to check that it
is setup properly
here.
Other than the database we need Trillian log signer, Trillian log server, and
sigsum-log-go.
$ go install github.com/google/trillian/cmd/trillian_log_signer
$ go install github.com/google/trillian/cmd/trillian_log_server
$ go install
Start Trillian log signer:
trillian_log_signer --logtostderr -v 9 --force_master --rpc_endpoint=localhost:6961 --http_endpoint=localhost:6964 --num_sequencers 1 --sequencer_interval 100ms --batch_size 100
Start Trillian log server:
trillian_log_server --logtostderr -v 9 --rpc_endpoint=localhost:6962 --http_endpoint=localhost:6963
As described in more detail
here,
we need to provision a Merkle tree once:
$ go install github.com/google/trillian/cmd/createtree
$ createtree --admin_server localhost:6962
<tree id>
Hang on to <tree id>
. Our sigsum-log-go instance will use it when talking to
the Trillian log server to specify which Merkle tree we are working against.
(If you take a look in the Trees
table you will see that the tree has been
provisioned.)
We will also need a public key-pair for sigsum-log-go.
$ go install golang.sigsum.org/sigsum-log-go/cmd/tmp/keygen
$ ./keygen
sk: <sk>
vk: <vk>
Start sigsum-log-go:
$ tree_id=<tree_id>
$ sk=<sk>
$ sigsum_log_go --logtostderr -v 9 --http_endpoint localhost:6965 --log_rpc_server localhost:6962 --trillian_id $tree_id --key $sk
Quick test: