diff --git a/bin/singlestart.sh b/bin/singlestart.sh new file mode 100755 index 0000000000000000000000000000000000000000..a0dda3160368a3d28b99eb69b73728fa87b254de --- /dev/null +++ b/bin/singlestart.sh @@ -0,0 +1,78 @@ +#!/bin/bash +# 20190816 Robert Martin-Legene +# GPL2-only + +bootnodekeyfile=${BFANETWORKDIR}/bootnode/key + +# Bail out if anything fails. +trap "exit 1" ERR + +if [ "$VIRTUALIZATION" = "DOCKER" ] +then + echo "Some log info can be seen with: docker logs bfanode" +fi + +# You can start as: +# BFAHOME=/home/bfa/bfa singlestart.sh +# singlestart.sh /home/bfa/bfa +if [ -z "${BFAHOME}" -a -n "$1" -a -f "$1" ] +then + BFAHOME="$1" +fi +if [ -z "${BFAHOME}" ]; then echo "\$BFAHOME not set. Did you source `dirname $0`/env ?" >&2; exit 1; fi +# +if [ -r "${BFAHOME}/bin/env" ] +then + source ${BFAHOME}/bin/env +else + if [ "$VIRTUALIZATION" = "DOCKER" ] + then + # The idea is that the environment already is set by the Docker environment. + touch ${BFAHOME}/bin/env + else + echo "Can't do much without a \$BFAHOME/bin/env file. Maybe you can copy one of these?" >&2 + ls -1 ${BFAHOME}/*/env >&2 + exit 1 + fi +fi +source ${BFAHOME}/bin/libbfa.sh + +echo "Logging mostly everything to ${BFANODEDIR}/log" +echo "Consider running: tail -n 1000 -F ${BFANODEDIR}/log" +if [ "$VIRTUALIZATION" = "DOCKER" ] +then + echo "or: docker exec -i bfanode bfalog.sh" +fi + +unset LOGDIR LOGPIPE PIDLIST + +echo "*** Setting up logging." +# Clean up logging +LOGDIR=$( mktemp --directory ) +trap "rm -f ${LOGDIR}" EXIT +LOGPIPE=${LOGDIR}/logpipe +mknod ${LOGPIPE} p +${BFAHOME}/bin/log.sh ${BFANODEDIR}/log < ${LOGPIPE} & +PIDLIST="${PIDLIST} $!" + +echo "*** Starting geth." +geth --config ${BFATOML} --gcmode archive --verbosity ${BFAVERBOSITY:-3} --allow-insecure-unlock > ${LOGPIPE} 2>&1 & +PIDLIST="${PIDLIST} $!" + +# bootnode +if [ -r "$bootnodekeyfile" ] +then + echo "*** Starting bootnode." + bootnode --nodekey $bootnodekeyfile & + PIDLIST="${PIDLIST} $!" +fi + +echo "*** Starting monitor.js" +monitor.js & +PIDLIST="${PIDLIST} $!" + +wait -n # if one dies +echo "*** Some process ended, so will shut down other processes too." > ${LOGPIPE} +sleep 2 # give log.sh time to work on the data written, before we kill it. +kill ${PIDLIST} # kill all +wait # wait for them all to end diff --git a/network/config.toml b/network/config.toml new file mode 100644 index 0000000000000000000000000000000000000000..235b4db9cc26d52bf0c0d6109aa1a4e759996e5b --- /dev/null +++ b/network/config.toml @@ -0,0 +1,87 @@ +[Eth] +NetworkId = 47525974938 +SyncMode = "full" +NoPruning = true +NoPrefetch = false +LightPeers = 100 +UltraLightFraction = 75 +DatabaseCache = 2048 +DatabaseFreezer = "" +TrieCleanCache = 1024 +TrieDirtyCache = 1024 +TrieTimeout = 3600000000000 +EnablePreimageRecording = false +EWASMInterpreter = "" +EVMInterpreter = "" + +[Eth.Miner] +GasFloor = 8000000 +GasCeil = 8000000 +GasPrice = 1000000000 +Recommit = 3000000000 +Noverify = false + +[Eth.Ethash] +CacheDir = "ethash" +CachesInMem = 2 +CachesOnDisk = 3 +DatasetDir = "/home/bfa/.ethash" +DatasetsInMem = 1 +DatasetsOnDisk = 2 +PowMode = 0 + +[Eth.TxPool] +Locals = [] +NoLocals = true +Journal = "transactions.rlp" +Rejournal = 3600000000000 +PriceLimit = 1 +PriceBump = 10 +AccountSlots = 16 +GlobalSlots = 4096 +AccountQueue = 64 +GlobalQueue = 1024 +Lifetime = 10800000000000 + +[Eth.GPO] +Blocks = 20 +Percentile = 60 + +[Shh] +MaxMessageSize = 1048576 +MinimumAcceptedPOW = 2e-01 +RestrictConnectionBetweenLightClients = true + +[Node] +DataDir = "/home/bfa/bfa/network/node" +HTTPHost = "127.0.0.1" +HTTPCors = ["*"] +omitempty = "" +IPCPath = "geth.ipc" +HTTPPort = 8545 +HTTPVirtualHosts = ["localhost"] +HTTPModules = ["net", "web3", "eth", "shh", "clique", "admin", "miner", "personal"] +WSPort = 8546 +WSModules = ["net", "web3", "eth", "shh"] +GraphQLPort = 8547 +GraphQLVirtualHosts = ["localhost"] + +[Node.P2P] +MaxPeers = 50 +NoDiscovery = false +BootstrapNodes = ["enode://7ec4dd9d5e1a2b29d6b60aa9f95677c0c3a5f9306e73d65dd3bcbfda3737a8c509b02d1eab763ce39f18cfe96423df7ee544d6c36191ec17f59ade75bc99d358@[2800:110:44:6300::aad2:2db3]:30301", "enode://7ec4dd9d5e1a2b29d6b60aa9f95677c0c3a5f9306e73d65dd3bcbfda3737a8c509b02d1eab763ce39f18cfe96423df7ee544d6c36191ec17f59ade75bc99d358@170.210.45.179:30301", "enode://82b66b13d7addcf9ffe1e4e972a105f6ccf50557161c4a0978a5d9ce595ababde609ea8a49897ae89b1d41e90551cb2e9241363238593e950ca68bd5af7c24d6@200.16.28.28:30301", "enode://59ae768ecdee632e0daceccb6f71b215392eba89230d626573f2fb4e9c0786c9a661027ab7343820ca63d96fe48ffd81ed1bf6e4d512f0ba50ec072c9efd9e4e@200.108.146.100:30301"] +BootstrapNodesV5 = ["enode://7ec4dd9d5e1a2b29d6b60aa9f95677c0c3a5f9306e73d65dd3bcbfda3737a8c509b02d1eab763ce39f18cfe96423df7ee544d6c36191ec17f59ade75bc99d358@[2800:110:44:6300::aad2:2db3]:30301", "enode://7ec4dd9d5e1a2b29d6b60aa9f95677c0c3a5f9306e73d65dd3bcbfda3737a8c509b02d1eab763ce39f18cfe96423df7ee544d6c36191ec17f59ade75bc99d358@170.210.45.179:30301", "enode://82b66b13d7addcf9ffe1e4e972a105f6ccf50557161c4a0978a5d9ce595ababde609ea8a49897ae89b1d41e90551cb2e9241363238593e950ca68bd5af7c24d6@200.16.28.28:30301", "enode://59ae768ecdee632e0daceccb6f71b215392eba89230d626573f2fb4e9c0786c9a661027ab7343820ca63d96fe48ffd81ed1bf6e4d512f0ba50ec072c9efd9e4e@200.108.146.100:30301"] +StaticNodes = [] +TrustedNodes = [] +ListenAddr = ":30303" +EnableMsgEvents = false + +[Node.HTTPTimeouts] +ReadTimeout = 30000000000 +WriteTimeout = 30000000000 +IdleTimeout = 120000000000 + +[Dashboard] +Host = "localhost" +Port = 8080 +Refresh = 5000000000 diff --git a/test2network/config.toml b/test2network/config.toml new file mode 100644 index 0000000000000000000000000000000000000000..e31ed59b6a1c4c77a2cef07cf0152f173c91ec25 --- /dev/null +++ b/test2network/config.toml @@ -0,0 +1,87 @@ +[Eth] +NetworkId = 55555000000 +SyncMode = "full" +NoPruning = true +NoPrefetch = false +LightPeers = 100 +UltraLightFraction = 75 +DatabaseCache = 2048 +DatabaseFreezer = "" +TrieCleanCache = 1024 +TrieDirtyCache = 1024 +TrieTimeout = 3600000000000 +EnablePreimageRecording = false +EWASMInterpreter = "" +EVMInterpreter = "" + +[Eth.Miner] +GasFloor = 8000000 +GasCeil = 8000000 +GasPrice = 1000000000 +Recommit = 3000000000 +Noverify = false + +[Eth.Ethash] +CacheDir = "ethash" +CachesInMem = 2 +CachesOnDisk = 3 +DatasetDir = "/home/bfa/.ethash" +DatasetsInMem = 1 +DatasetsOnDisk = 2 +PowMode = 0 + +[Eth.TxPool] +Locals = [] +NoLocals = true +Journal = "transactions.rlp" +Rejournal = 3600000000000 +PriceLimit = 1 +PriceBump = 10 +AccountSlots = 16 +GlobalSlots = 4096 +AccountQueue = 64 +GlobalQueue = 1024 +Lifetime = 10800000000000 + +[Eth.GPO] +Blocks = 20 +Percentile = 60 + +[Shh] +MaxMessageSize = 1048576 +MinimumAcceptedPOW = 2e-01 +RestrictConnectionBetweenLightClients = true + +[Node] +DataDir = "/home/bfa/bfa/test2network/node" +HTTPHost = "127.0.0.1" +HTTPCors = ["*"] +omitempty = "" +IPCPath = "geth.ipc" +HTTPPort = 8545 +HTTPVirtualHosts = ["localhost"] +HTTPModules = ["net", "web3", "eth", "shh", "clique", "admin", "miner", "personal"] +WSPort = 8546 +WSModules = ["net", "web3", "eth", "shh"] +GraphQLPort = 8547 +GraphQLVirtualHosts = ["localhost"] + +[Node.P2P] +MaxPeers = 50 +NoDiscovery = false +BootstrapNodes = ["enode://7ec4dd9d5e1a2b29d6b60aa9f95677c0c3a5f9306e73d65dd3bcbfda3737a8c509b02d1eab763ce39f18cfe96423df7ee544d6c36191ec17f59ade75bc99d358@[2800:110:44:6300::aad2:2db3]:30301", "enode://7ec4dd9d5e1a2b29d6b60aa9f95677c0c3a5f9306e73d65dd3bcbfda3737a8c509b02d1eab763ce39f18cfe96423df7ee544d6c36191ec17f59ade75bc99d358@170.210.45.179:30301", "enode://82b66b13d7addcf9ffe1e4e972a105f6ccf50557161c4a0978a5d9ce595ababde609ea8a49897ae89b1d41e90551cb2e9241363238593e950ca68bd5af7c24d6@200.16.28.28:30301", "enode://59ae768ecdee632e0daceccb6f71b215392eba89230d626573f2fb4e9c0786c9a661027ab7343820ca63d96fe48ffd81ed1bf6e4d512f0ba50ec072c9efd9e4e@200.108.146.100:30301"] +BootstrapNodesV5 = ["enode://7ec4dd9d5e1a2b29d6b60aa9f95677c0c3a5f9306e73d65dd3bcbfda3737a8c509b02d1eab763ce39f18cfe96423df7ee544d6c36191ec17f59ade75bc99d358@[2800:110:44:6300::aad2:2db3]:30301", "enode://7ec4dd9d5e1a2b29d6b60aa9f95677c0c3a5f9306e73d65dd3bcbfda3737a8c509b02d1eab763ce39f18cfe96423df7ee544d6c36191ec17f59ade75bc99d358@170.210.45.179:30301", "enode://82b66b13d7addcf9ffe1e4e972a105f6ccf50557161c4a0978a5d9ce595ababde609ea8a49897ae89b1d41e90551cb2e9241363238593e950ca68bd5af7c24d6@200.16.28.28:30301", "enode://59ae768ecdee632e0daceccb6f71b215392eba89230d626573f2fb4e9c0786c9a661027ab7343820ca63d96fe48ffd81ed1bf6e4d512f0ba50ec072c9efd9e4e@200.108.146.100:30301"] +StaticNodes = [] +TrustedNodes = [] +ListenAddr = ":30303" +EnableMsgEvents = false + +[Node.HTTPTimeouts] +ReadTimeout = 30000000000 +WriteTimeout = 30000000000 +IdleTimeout = 120000000000 + +[Dashboard] +Host = "localhost" +Port = 8080 +Refresh = 5000000000