Skip to content

Instantly share code, notes, and snippets.

@alanshaw
Last active July 21, 2020 20:27
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alanshaw/8d88db67a5880a2bf9e50f5cebe74bb8 to your computer and use it in GitHub Desktop.
Save alanshaw/8d88db67a5880a2bf9e50f5cebe74bb8 to your computer and use it in GitHub Desktop.
drand dev setup

Setup

# Create keys
drand generate-keypair --tls-disable --folder ~/.drand0 127.0.0.1:3000
drand generate-keypair --tls-disable --folder ~/.drand1 127.0.0.1:3100
drand generate-keypair --tls-disable --folder ~/.drand2 127.0.0.1:3200

# Start daemons
drand start --tls-disable --folder ~/.drand0 --private-listen 127.0.0.1:3000 --control 3001 --public-listen 127.0.0.1:3002
drand start --tls-disable --folder ~/.drand1 --private-listen 127.0.0.1:3100 --control 3101 --public-listen 127.0.0.1:3102
drand start --tls-disable --folder ~/.drand2 --private-listen 127.0.0.1:3200 --control 3201 --public-listen 127.0.0.1:3202

# Setup Daemon 0 as leader
drand share --tls-disable --control 3001 --leader --nodes 3 --threshold 2 --secret secretis32characterslongminimum --period 10s
# Setup daemon 1 as participant
drand share --tls-disable --control 3101 --connect 127.0.0.1:3000 --nodes 3 --threshold 2 --secret secretis32characterslongminimum
# Setup daemon 2 as participant
drand share --tls-disable --control 3201 --connect 127.0.0.1:3000 --nodes 3 --threshold 2 --secret secretis32characterslongminimum

Gossip relay

# GRPC
go run ./main.go run -hash=$(curl http://127.0.0.1:3002/info -s | jq -r .hash) -grpc-connect=127.0.0.1:3000 -insecure

# HTTP
go run ./main.go run -hash=$(curl http://127.0.0.1:3002/info -s | jq -r .hash) -url=http://127.0.0.1:3002

Gossip client

go run ./main.go client -hash=$(curl http://127.0.0.1:3002/info -s | jq -r .hash) -peer-with=/ip4/127.0.0.1/tcp/44544/p2p/12D3KooWBHSzkTUCVrkSaND1PmayysgHA5QK2DA73u3AfzTk14uP -url=http://127.0.0.1:3002

Relay combinations

go run ./main.go run -relay=/ip4/192.168.1.157/tcp/44545/p2p/12D3KooWCgyz1gZWa6yd3CoeC5d7n2qRG4Q2VBWJZUgFUpTgjMAX \
                     -relay=/ip4/192.168.1.157/tcp/44544/p2p/12D3KooWBHSzkTUCVrkSaND1PmayysgHA5QK2DA73u3AfzTk14uP \
                     -group-conf=/Users/alan/.drand0/groups/drand_group.toml \
                     -store=./datastore3 \
                     -identity=identity3.key \
                     -listen=/ip4/0.0.0.0/tcp/44546

go run ./main.go run -relay=/ip4/192.168.1.157/tcp/44545/p2p/12D3KooWCgyz1gZWa6yd3CoeC5d7n2qRG4Q2VBWJZUgFUpTgjMAX \
                     -relay=/ip4/192.168.1.157/tcp/44544/p2p/12D3KooWBHSzkTUCVrkSaND1PmayysgHA5QK2DA73u3AfzTk14uP \
                     -url=http://127.0.0.1:3002 \
                     -hash=a8afe4a8793cc87e6df6389a051a4aa7a6c4f88198da858bead2e2d5314d5e27 \
                     -store=./datastore3 \
                     -identity=identity3.key \
                     -listen=/ip4/0.0.0.0/tcp/44546

go run ./main.go run -relay=/ip4/127.0.0.1/tcp/44544/p2p/12D3KooWPTqaFVH7DnsHtu4JFf7ZPoXQ6p8ngvrG2y1h1nzzhWwK \
                     -relay=/ip4/127.0.0.1/tcp/44545/p2p/12D3KooWKzGNUYstihJQNXuj9GWLGrgHPkLsEkNGizLBYcqUrja8 \
                     -url=http://127.0.0.1:3002 \
                     -hash=a8afe4a8793cc87e6df6389a051a4aa7a6c4f88198da858bead2e2d5314d5e27 \
                     -store=./datastore3 \
                     -identity=identity3.key \
                     -listen=/ip4/0.0.0.0/tcp/44546
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment