Skip to content
Snippets Groups Projects
Commit 55c915d2 authored by Éloïs's avatar Éloïs
Browse files

feat: add script create-live-network.sh

parent a4358d8c
No related branches found
No related tags found
1 merge request!41feat: add script create-live-network.sh
version: "3.4"
services:
db:
image: postgres:12
restart: always
volumes:
- /var/lib/postgresql/data
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
duniter-rpc:
image: duniter/duniter-v2s:debug-sha-acaf89a4
restart: unless-stopped
ports:
- "9944:9944"
- "30333:30333"
volumes:
- ./duniter-rpc/:/var/lib/duniter/
environment:
- DUNITER_CHAIN_NAME=/var/lib/duniter/genesis-raw.json
command:
- "--bootnodes"
- "/dns/duniter-validator/tcp/30333/p2p/VALIDATOR_NODE_KEY"
- "--node-key-file"
- "/var/lib/duniter/node-key"
- "--unsafe-rpc-external"
- "--rpc-cors"
- "all"
duniter-validator:
image: duniter/duniter-v2s:debug-sha-acaf89a4
restart: unless-stopped
ports:
- "127.0.0.1:9945:9944"
- "30334:30333"
volumes:
- ./duniter-validator/:/var/lib/duniter/
environment:
- DUNITER_CHAIN_NAME=/var/lib/duniter/genesis.json
command:
- "--bootnodes"
- "/dns/duniter-rpc/tcp/30333/p2p/RPC_NODE_KEY"
- "--node-key-file"
- "/var/lib/duniter/node-key"
- "--rpc-methods=Unsafe"
- "--validator"
- "--unsafe-rpc-external"
- "--rpc-cors"
- "all"
indexer:
image: subsquid/hydra-indexer:5
restart: unless-stopped
environment:
- WORKERS_NUMBER=1
- DB_NAME=indexer
- DB_HOST=db
- DB_USER=postgres
- DB_PASS=postgres
- DB_PORT=5432
- REDIS_URI=redis://redis:6379/0
- FORCE_HEIGHT=true
- BLOCK_HEIGHT=0 # starting block height
- WS_PROVIDER_ENDPOINT_URI=ws://duniter-rpc:9944/
depends_on:
- db
- redis
command: >
sh -c "yarn db:bootstrap && yarn start:prod"
indexer-gateway:
image: subsquid/hydra-indexer-gateway:5
restart: unless-stopped
depends_on:
- redis
- db
- indexer-status-service
- indexer
ports:
- "4010:8080"
environment:
- DEV_MODE=true
- DB_NAME=indexer
- DB_HOST=db
- DB_USER=postgres
- DB_PASS=postgres
- DB_PORT=5432
- HYDRA_INDEXER_STATUS_SERVICE=http://indexer-status-service:8081/status
indexer-status-service:
image: subsquid/hydra-indexer-status-service:5
restart: unless-stopped
depends_on:
- redis
environment:
REDIS_URI: redis://redis:6379/0
PORT: 8081
redis:
image: redis:6.0-alpine
restart: always
ports:
- "6379"
{
"first_ud": 1000,
"identities": {
"Elois1": {
"balance": 1000,
"certs": ["Elois2", "Elois3"],
"pubkey": "5H95G8bwuf4yyNNNa83hDhj7wpYaSRhZiGezZ9TDbyqNdAhY"
},
"Elois2": {
"balance": 1000,
"certs": ["Elois1", "Elois3"],
"pubkey": "5GFEEx7kqvP4QEPCAXkALeYCG7m8DiA5LQ4YzW62j7FytQyg"
},
"Elois3": {
"balance": 1000,
"certs": ["Elois1", "Elois2"],
"pubkey": "5HNFikZ2smaTvWSfxHBRXpPVkCVeiKs6oBjGBn95RCs1RPRB"
}
},
"parameters": {
"babe_epoch_duration": 30,
"cert_period": 15,
"cert_max_by_issuer": 10,
"cert_min_received_cert_to_issue_cert": 2,
"cert_renewable_period": 50,
"cert_validity_period": 100000,
"idty_confirm_period": 40,
"idty_creation_period": 50,
"idty_max_disabled_period": 1000,
"membership_period": 100000,
"membership_renewable_period": 50,
"pending_membership_period": 500,
"ud_creation_period": 10,
"ud_first_reeval": 0,
"ud_reeval_period": 50,
"ud_reeval_period_in_blocks": 500,
"smith_cert_period": 15,
"smith_cert_max_by_issuer": 8,
"smith_cert_min_received_cert_to_issue_cert": 2,
"smith_cert_renewable_period": 50,
"smith_cert_validity_period": 100000,
"smith_membership_period": 100000,
"smith_membership_renewable_period": 50,
"smith_pending_membership_period": 500,
"smiths_wot_first_cert_issuable_on": 20,
"smiths_wot_min_cert_for_membership": 2,
"wot_first_cert_issuable_on": 20,
"wot_min_cert_for_create_idty_right": 2,
"wot_min_cert_for_membership": 2
},
"smiths": {
"Elois1": {
"authority": true,
"certs": ["Elois2", "Elois3"],
"session_keys": "0x90ea1e9059fd30860fc14370b62a3675a720763913e0aa41fa01b268c33afd3b64c9301d94f7a043ac6714c8a6301541e56e833c1b13170c19f9785fa469407864c9301d94f7a043ac6714c8a6301541e56e833c1b13170c19f9785fa469407864c9301d94f7a043ac6714c8a6301541e56e833c1b13170c19f9785fa4694078"
},
"Elois2": {
"certs": ["Elois1", "Elois3"],
"session_keys": "0x1a1c5027d35e315efde9b9296a0ff80920a9d448a7d0480080d9773e4035ec85a270415a3a2f5392df3185bc9f3d2d7a3cb158f55ebdf6ccc42da8ab26d96f7ca270415a3a2f5392df3185bc9f3d2d7a3cb158f55ebdf6ccc42da8ab26d96f7ca270415a3a2f5392df3185bc9f3d2d7a3cb158f55ebdf6ccc42da8ab26d96f7c"
},
"Elois3": {
"certs": ["Elois1", "Elois2"],
"session_keys": "0xcde37cd0d59573465dacd587f0759c93a82e9f0a40ee8f547772446abe846b86f0badfddff9238d6f18ab5ef8fa5fdd3d5edd29a9f6b097416ffc87e2f774022f0badfddff9238d6f18ab5ef8fa5fdd3d5edd29a9f6b097416ffc87e2f774022f0badfddff9238d6f18ab5ef8fa5fdd3d5edd29a9f6b097416ffc87e2f774022"
}
},
"sudo_key": "5H95G8bwuf4yyNNNa83hDhj7wpYaSRhZiGezZ9TDbyqNdAhY"
}
#!/usr/bin/env bash
# This script is meant to be run on Unix/Linux based systems
set -e
# params
VALIDATOR_SESSION_KEYS_SURI=$1
GENESIS="${2:-resources/gdev.json}"
CURRENCY="${3:-gdev}"
WORK_DIR="${4:-tmp/$CURRENCY}"
echo "CURRENCY=$CURRENCY"
# constants
DUNITER_BINARY="./target/debug/duniter"
# Clean and (re-)create working forders
rm -rf $WORK_DIR
mkdir -p $WORK_DIR/duniter-rpc
mkdir -p $WORK_DIR/duniter-validator
# build client in debug mode
#cargo clean -p duniter && cargo build
# generate raw_chain spec
export DUNITER_GENESIS_CONFIG=$GENESIS
$DUNITER_BINARY build-spec --chain $CURRENCY-gl --raw > $WORK_DIR/duniter-rpc/genesis-raw.json
cp $WORK_DIR/duniter-rpc/genesis-raw.json $WORK_DIR/duniter-validator/genesis-raw.json
# generate rpc node key
RPC_NODE_KEY=$($DUNITER_BINARY key generate-node-key --file $WORK_DIR/duniter-rpc/node-key 2>&1)
# generate validator node key
VALIDATOR_NODE_KEY=$($DUNITER_BINARY key generate-node-key --file $WORK_DIR/duniter-validator/node-key 2>&1)
# generate docker-compose file
cp docker/compose-examples/live-template.docker-compose.yml $WORK_DIR/docker-compose.yml
sed -i -e "s/RPC_NODE_KEY/$RPC_NODE_KEY/g" $WORK_DIR/docker-compose.yml
sed -i -e "s/VALIDATOR_NODE_KEY/$VALIDATOR_NODE_KEY/g" $WORK_DIR/docker-compose.yml
# Inject validator session keys in validator node keystore
$DUNITER_BINARY key generate-session-keys --chain "${CURRENCY}_local" --suri "$VALIDATOR_SESSION_KEYS_SURI" -d $WORK_DIR/duniter-validator
mv $WORK_DIR/duniter-validator/chains/${CURRENCY}_local $WORK_DIR/duniter-validator/chains/$CURRENCY
# Launch the network
cd $WORK_DIR
#docker-compose up -d
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment