From 15eb1c5382217a04915988dac3b2fcf9748f760d Mon Sep 17 00:00:00 2001 From: parazyd Date: Mon, 16 May 2022 12:56:59 +0200 Subject: [PATCH] contrib: Add scripts for localnet testing. --- contrib/localnet/README.md | 4 ++ contrib/localnet/darkfid0.toml | 58 +++++++++++++++++++++++++++++ contrib/localnet/darkfid1.toml | 58 +++++++++++++++++++++++++++++ contrib/localnet/darkfid2.toml | 58 +++++++++++++++++++++++++++++ contrib/localnet/faucetd.toml | 37 ++++++++++++++++++ contrib/localnet/faucetd/wallet.db | Bin 0 -> 20480 bytes contrib/localnet/tmux_sessions.sh | 15 ++++++++ 7 files changed, 230 insertions(+) create mode 100644 contrib/localnet/README.md create mode 100644 contrib/localnet/darkfid0.toml create mode 100644 contrib/localnet/darkfid1.toml create mode 100644 contrib/localnet/darkfid2.toml create mode 100644 contrib/localnet/faucetd.toml create mode 100644 contrib/localnet/faucetd/wallet.db create mode 100755 contrib/localnet/tmux_sessions.sh diff --git a/contrib/localnet/README.md b/contrib/localnet/README.md new file mode 100644 index 000000000..124be82d1 --- /dev/null +++ b/contrib/localnet/README.md @@ -0,0 +1,4 @@ +DarkFi localnet tools +===================== + +Helpful scripts for local network deployment and testing. diff --git a/contrib/localnet/darkfid0.toml b/contrib/localnet/darkfid0.toml new file mode 100644 index 000000000..bd87efc51 --- /dev/null +++ b/contrib/localnet/darkfid0.toml @@ -0,0 +1,58 @@ +## darkfid configuration file +## +## Please make sure you go through all the settings so you can configure +## your daemon properly. +## +## The default values are left commented. They can be overridden either by +## uncommenting, or by using the command-line. + +# Chain to use (testnet, mainnet) +chain = "testnet" + +# Path to the wallet database +wallet_path = "darkfid0/wallet.db" + +# Password for the wallet database +wallet_pass = "changeme" + +# Path to the blockchain database directory +database = "darkfid0/blockchain" + +# JSON-RPC listen url +rpc_listen = "tcp://127.0.0.1:8340" + +# Participate in the consensus protocol +consensus = true + +# P2P accept address for the consensus protocol +consensus_p2p_accept = "tls://127.0.0.1:8341" + +# P2P external address for the consensus protocol +consensus_p2p_external = "tls://127.0.0.1:8341" + +# Connection slots for the consensus protocol +#consensus_slots = 8 + +# Connection slots for the consensus protocol +#consensus_p2p_seed = [] + +# Peers to connect to for the consensus protocol +#consensus_p2p_peer = [] + +# P2P accept address for the syncing protocol +sync_p2p_accept = "tls://127.0.0.1:8342" + +# P2P external address for the syncing protocol +sync_p2p_external = "tls://127.0.0.1:8342" + +# Connection slots for the syncing protocol +#sync_slots = 8 + +# Seed nodes to connect to for the syncing protocol +#sync_p2p_seed = [] + +# Peers to connect to for the syncing protocol +#sync_p2p_peer = [] + +# Whitelisted faucet public key +faucet_pub = ["1z3JuN456MieHtpoF4cr5a1ntFF87L8Z3m2E5ACppFodFcjnLS"] diff --git a/contrib/localnet/darkfid1.toml b/contrib/localnet/darkfid1.toml new file mode 100644 index 000000000..fc65f8d58 --- /dev/null +++ b/contrib/localnet/darkfid1.toml @@ -0,0 +1,58 @@ +## darkfid configuration file +## +## Please make sure you go through all the settings so you can configure +## your daemon properly. +## +## The default values are left commented. They can be overridden either by +## uncommenting, or by using the command-line. + +# Chain to use (testnet, mainnet) +chain = "testnet" + +# Path to the wallet database +wallet_path = "darkfid1/wallet.db" + +# Password for the wallet database +wallet_pass = "changeme" + +# Path to the blockchain database directory +database = "darkfid1/blockchain" + +# JSON-RPC listen url +rpc_listen = "tcp://127.0.0.1:8440" + +# Participate in the consensus protocol +consensus = true + +# P2P accept address for the consensus protocol +consensus_p2p_accept = "tls://127.0.0.1:8441" + +# P2P external address for the consensus protocol +consensus_p2p_external = "tls://127.0.0.1:8441" + +# Connection slots for the consensus protocol +#consensus_slots = 8 + +# Connection slots for the consensus protocol +consensus_p2p_seed = ["tls://127.0.0.1:8341"] + +# Peers to connect to for the consensus protocol +#consensus_p2p_peer = [] + +# P2P accept address for the syncing protocol +sync_p2p_accept = "tls://127.0.0.1:8442" + +# P2P external address for the syncing protocol +sync_p2p_external = "tls://127.0.0.1:8442" + +# Connection slots for the syncing protocol +#sync_slots = 8 + +# Seed nodes to connect to for the syncing protocol +sync_p2p_seed = ["tls://127.0.0.1:8342"] + +# Peers to connect to for the syncing protocol +#sync_p2p_peer = [] + +# Whitelisted faucet public key +faucet_pub = ["1z3JuN456MieHtpoF4cr5a1ntFF87L8Z3m2E5ACppFodFcjnLS"] diff --git a/contrib/localnet/darkfid2.toml b/contrib/localnet/darkfid2.toml new file mode 100644 index 000000000..469f852d3 --- /dev/null +++ b/contrib/localnet/darkfid2.toml @@ -0,0 +1,58 @@ +## darkfid configuration file +## +## Please make sure you go through all the settings so you can configure +## your daemon properly. +## +## The default values are left commented. They can be overridden either by +## uncommenting, or by using the command-line. + +# Chain to use (testnet, mainnet) +chain = "testnet" + +# Path to the wallet database +wallet_path = "darkfid2/wallet.db" + +# Password for the wallet database +wallet_pass = "changeme" + +# Path to the blockchain database directory +database = "darkfid2/blockchain" + +# JSON-RPC listen url +rpc_listen = "tcp://127.0.0.1:8540" + +# Participate in the consensus protocol +consensus = true + +# P2P accept address for the consensus protocol +consensus_p2p_accept = "tls://127.0.0.1:8541" + +# P2P external address for the consensus protocol +consensus_p2p_external = "tls://127.0.0.1:8541" + +# Connection slots for the consensus protocol +#consensus_slots = 8 + +# Connection slots for the consensus protocol +consensus_p2p_seed = ["tls://127.0.0.1:8341"] + +# Peers to connect to for the consensus protocol +#consensus_p2p_peer = [] + +# P2P accept address for the syncing protocol +sync_p2p_accept = "tls://127.0.0.1:8542" + +# P2P external address for the syncing protocol +sync_p2p_external = "tls://127.0.0.1:8542" + +# Connection slots for the syncing protocol +#sync_slots = 8 + +# Seed nodes to connect to for the syncing protocol +sync_p2p_seed = ["tls://127.0.0.1:8342"] + +# Peers to connect to for the syncing protocol +#sync_p2p_peer = [] + +# Whitelisted faucet public key +faucet_pub = ["1z3JuN456MieHtpoF4cr5a1ntFF87L8Z3m2E5ACppFodFcjnLS"] diff --git a/contrib/localnet/faucetd.toml b/contrib/localnet/faucetd.toml new file mode 100644 index 000000000..8c9df25cc --- /dev/null +++ b/contrib/localnet/faucetd.toml @@ -0,0 +1,37 @@ +## faucetd configuration file +## +## Please make sure you go through all the settings so you can configure +## your daemon properly. +## +## The default values are left commented. They can be overridden either by +## uncommenting, or by using the command-line. + +# Chain to use (testnet, mainnet) +chain = "testnet" + +# Path to the wallet database +wallet_path = "faucetd/wallet.db" + +# Password for the wallet database +wallet_pass = "changeme" + +# Path to the blockchain database directory +database = "faucetd/blockchain" + +# JSON-RPC listen URL +rpc_listen = "tls://127.0.0.1:8640" + +# P2P accept address for the syncing protocol +sync_p2p_accept = "tls://127.0.0.1:8642" + +# P2P external address for the syncing protocol +sync_p2p_external = "tls://127.0.0.1:8642" + +# Connection slots for the syncing protocol +#sync_slots = 8 + +# Seed nodes to connect to for the syncing protocol +sync_p2p_seed = ["tls://127.0.0.1:8342"] + +# Peers to connect to for the syncing protocol +#sync_p2p_peer = [] diff --git a/contrib/localnet/faucetd/wallet.db b/contrib/localnet/faucetd/wallet.db new file mode 100644 index 0000000000000000000000000000000000000000..5e6a1840e65a9583c21ffeac8c99d48c8b5780ff GIT binary patch literal 20480 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 Hic0R3HqOd{ literal 0 HcmV?d00001 diff --git a/contrib/localnet/tmux_sessions.sh b/contrib/localnet/tmux_sessions.sh new file mode 100755 index 000000000..ceaf4bb59 --- /dev/null +++ b/contrib/localnet/tmux_sessions.sh @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +# Start a tmux session with two consensus nodes and a non-consensus node, and +# a faucet that's able to mint tokens. + +tmux new-session -d "LOG_TARGETS='!sled' ../../darkfid2 -v -c darkfid0.toml" +sleep 2 +tmux split-window -v "LOG_TARGETS='!sled' ../../darkfid2 -v -c darkfid1.toml" +sleep 2 +tmux split-window -h "LOG_TARGETS='!sled' ../../darkfid2 -v -c darkfid2.toml" +sleep 2 +tmux select-pane -t 0 +tmux split-window -h "LOG_TARGETS='!sled' ../../faucetd -v -c faucetd.toml" +tmux attach