From de23fcd6b5c124e987d30f1ab19a87640f248c0b Mon Sep 17 00:00:00 2001 From: root Date: Tue, 30 Jul 2019 09:05:17 +0000 Subject: [PATCH] Bootnode Docker Compose --- bootnode.yml | 12 ++++++++ bootnode/bloxberg.json | 62 ++++++++++++++++++++++++++++++++++++++++++ bootnode/bootnode.pwd | 1 + bootnode/bootnode.toml | 34 +++++++++++++++++++++++ bootnode/bootnodes.txt | 10 +++++++ setup.sh | 23 ++++++++++++++++ 6 files changed, 142 insertions(+) create mode 100644 bootnode.yml create mode 100644 bootnode/bloxberg.json create mode 100644 bootnode/bootnode.pwd create mode 100644 bootnode/bootnode.toml create mode 100644 bootnode/bootnodes.txt create mode 100755 setup.sh diff --git a/bootnode.yml b/bootnode.yml new file mode 100644 index 0000000..0e34abe --- /dev/null +++ b/bootnode.yml @@ -0,0 +1,12 @@ +version: '3' +services: + bootnode: + image: parity/parity:latest + container_name: bootnode + volumes: + - ./bootnode:/home/parity/.local/share/io.parity.ethereum + command: --config /home/parity/.local/share/io.parity.ethereum/bootnode.toml + ports: + - 8545:8545 + - 8546:8546 + - 30303:30303 diff --git a/bootnode/bloxberg.json b/bootnode/bloxberg.json new file mode 100644 index 0000000..d4e530e --- /dev/null +++ b/bootnode/bloxberg.json @@ -0,0 +1,62 @@ +{ + "name": "Bloxberg", + "engine": { + "authorityRound": { + "params": { + "stepDuration": "5", + "validators" : { + "multi": { + "0": { + "list": ["0xaa84378fa41da83a9b6523ba46e45a664fbebfc8"] + }, + "100": { + "contract": "0x9850711951a84ef8a2a31a7868d0dca34b0661ca" + } + } + } + } + } + }, + "params": { + "gasLimitBoundDivisor": "0x400", + "maximumExtraDataSize": "0x20", + "minGasLimit": "0x7A1200", + "networkID" : "0x2323", + "eip155Transition": 0, + "validateChainIdTransition": 0, + "eip140Transition": 0, + "eip211Transition": 0, + "eip214Transition": 0, + "eip658Transition": 0, + "eip150Transition": "0x0", + "eip160Transition": "0x0", + "eip161abcTransition": "0x0", + "eip161dTransition": "0x0", + "eip98Transition": "0x7fffffffffffff", + "maxCodeSize": 24576, + "maxCodeSizeTransition": "0x0" + }, + "genesis": { + "seal": { + "authorityRound": { + "step": "0x0", + "signature": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + "difficulty": "0x20000", + "gasLimit": "0x7A1200" + }, + "accounts": { + "0x0000000000000000000000000000000000000001": { "balance": "1", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } }, + "0x0000000000000000000000000000000000000002": { "balance": "1", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } }, + "0x0000000000000000000000000000000000000003": { "balance": "1", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } }, + "0x0000000000000000000000000000000000000004": { "balance": "1", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } }, + "0x0000000000000000000000000000000000000005": { "builtin": { "name": "modexp", "activate_at": 0, "pricing": { "modexp": { "divisor": 20 } } } }, + "0x0000000000000000000000000000000000000006": { "builtin": { "name": "alt_bn128_add", "activate_at": 0, "pricing": { "linear": { "base": 500, "word": 0 } } } }, + "0x0000000000000000000000000000000000000007": { "builtin": { "name": "alt_bn128_mul", "activate_at": 0, "pricing": { "linear": { "base": 40000, "word": 0 } } } }, + "0x0000000000000000000000000000000000000008": { "builtin": { "name": "alt_bn128_pairing", "activate_at": 0, "pricing": { "alt_bn128_pairing": { "base": 100000, "pair": 80000 } } } }, + "0xab59a1ea1ac9af9f77518b9b4ad80942ade35088": { "balance": "100000000000000000000000000000000" } +} + + +} diff --git a/bootnode/bootnode.pwd b/bootnode/bootnode.pwd new file mode 100644 index 0000000..df452de --- /dev/null +++ b/bootnode/bootnode.pwd @@ -0,0 +1 @@ +*INSERT PASSWORD FOR BOOTNODE HERE* diff --git a/bootnode/bootnode.toml b/bootnode/bootnode.toml new file mode 100644 index 0000000..ac12d33 --- /dev/null +++ b/bootnode/bootnode.toml @@ -0,0 +1,34 @@ +# File exampleNode.toml + +[parity] +chain = "/home/parity/.local/share/io.parity.ethereum/bloxberg.json" +base_path = "/home/parity/.local/share/io.parity.ethereum/bootnode" + +[network] +port = 30303 +reserved_peers = "/home/parity/.local/share/io.parity.ethereum/bootnodes.txt" +max_peers = 100 +snapshot_peers = 25 +nat = "extip:*INSERT EXTERNAL IP HERE*" + +[rpc] +port = 8545 +apis = ["web3", "eth", "net", "personal", "parity", "parity_set", "traces", "rpc", "parity_accounts"] +interface = "all" +cors = ["*"] + +[websockets] +disable = false +port = 8546 +interface = "all" +origins = ["all"] + +[account] +password = ["/home/parity/.local/share/io.parity.ethereum/bootnode.pwd"] + +[footprint] +tracing = "on" +pruning = "archive" +pruning_history = 256 +cache_size_db = 2000 + diff --git a/bootnode/bootnodes.txt b/bootnode/bootnodes.txt new file mode 100644 index 0000000..a6db78d --- /dev/null +++ b/bootnode/bootnodes.txt @@ -0,0 +1,10 @@ +enode://a7a53baf91b612b25b84993c964beb987879bfe7430cf6acb55bd721b9c0d96ceb1849049b1dcc0aa6e86fa1e2234280581b16c1265d56644fb09085e6906034@141.5.98.231:30304 +enode://e89104a68d2727d3a0a8552fe4a1d80687fbb85403653e3bf18380cfc8aa3600cb000a75b4fe9739eb77e2083d21bb128a46e925184b3f191caa7df3e96ae8e8@134.76.28.172:30310 +enode://b3bd39e96832672d3a6e3dad4051adb07650ba7082f869780d9f8ac9e4de5d1fa2a7ce47a815650de3777ff981e50a504e596ab0810f76e130c44468b4bfb59d@130.183.206.234:30304 +enode://1f79770a9fbc4032f19d67b64495ecec4e38bd309d7d25d958699f60b9f67be88a22426bdc87823cacc4b3f49dc94246a0019b20fb7ea89848df7b3795ff60f5@141.5.98.231:30303 +enode://3ffe5e06eb10828ca3e1bb193e7ac029616de9611a4aae9a32bf57e8a28ae03832b31f2c7d0a664745dbd97f3a4b4acdd59c791a90f73ab4b97a1d6ad30275cf@134.76.28.172:30303 +enode://ce0154eb13c1c038017151dd1ff4d736178ffedc33f5e11fe694c247eb09279886d253c3c775486eb709a65057901e2788098f991c58e6ad26ff957a8f45253e@128.2.25.89:30303 +enode://8b158b94d191a991fa14d77206bc9bc15ac12d83e5f95e8ad9ba1acdd29469482f6edf99ab36b0c6f1772928e463c85a2ad67814adb8492979697098c51750bc@82.116.203.130:30303 +enode://4d9e6925ef3a92315283a655e856aa29dd516172c4f38d2a8fcd58c233a2cd80c57b507fed3bf351b1ac0611e8c7fefd6fb1c49de2d0d15eb1816d43629ac4ba@3.17.25.148:30303 +enode://ce82ac7b0238496ff4bab924843673374ec99c4d266cd32cdab9ee5196c0ef0eb64ef7e675098074988dadb3c42448ded529db96162117a238a3741202f06cf4@130.183.206.234:30303 +enode://c1b4664b3d60c4e9164ab52f3d2d8c0cf201c21330dd6ae30d9ed1e14bdcb131151b5d715ee1b1784191cbe9597ccbcefc3a28ea2fa33a3a13283542f5043e37@54.190.254.59:30303 diff --git a/setup.sh b/setup.sh new file mode 100755 index 0000000..8d3f962 --- /dev/null +++ b/setup.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +check_packages() { + + if [ $(grep -i debian /etc/*-release | wc -l) -gt 0 ]; then + if [ ! -f /usr/bin/docker ]; then + echo "INSTALLING DOCKER" + sudo apt-get install -y docker-ce + fi + + if [ ! -f /usr/local/bin/docker-compose ]; then + echo "INSTALLING DOCKER-COMPOSE" + sudo apt-get install docker-compose + fi + fi + + sudo apt install chrony + sudo systemctl enable chrony + sudo systemctl start chronyd +} + + +check_packages