From 8b0331797b421083bb0292f97ec9f2e61e18c1ba Mon Sep 17 00:00:00 2001 From: Nicolas Tallar Date: Fri, 18 Sep 2020 15:06:35 -0300 Subject: [PATCH 1/4] [ETCM-121] Refactor configs --- build.sbt | 2 +- src/main/resources/application.conf | 12 +- .../chains/{base.conf => base-chain.conf} | 0 src/main/resources/chains/etc-chain.conf | 1 + src/main/resources/chains/etc.conf | 1 - .../chains/{eth.conf => eth-chain.conf} | 2 +- .../chains/{mordor.conf => mordor-chain.conf} | 2 +- .../{mordor.json => mordor-genesis.json} | 0 .../{ropsten.conf => ropsten-chain.conf} | 4 +- .../{ropsten.json => ropsten-genesis.json} | 0 .../chains/{test.conf => test-chain.conf} | 2 +- ...ivate.conf => testnet-internal-chain.conf} | 4 +- ...ate.json => testnet-internal-genesis.json} | 0 .../conf/rpc-test-private.conf | 2 +- src/universal/bin/mantis-etc | 2 +- src/universal/bin/mantis-eth | 2 +- src/universal/bin/mantis-mordor | 3 + src/universal/bin/mantis-testnet-internal | 3 + src/universal/conf/app.conf | 23 ++++ src/universal/conf/application.ini | 2 +- src/universal/conf/blockchains.conf | 115 ------------------ src/universal/conf/consensus.conf | 33 ----- src/universal/conf/etc.conf | 7 ++ src/universal/conf/eth.conf | 14 +++ src/universal/conf/logging.conf | 12 -- src/universal/conf/mantis.conf | 26 ---- src/universal/conf/metrics.conf | 11 -- src/universal/conf/misc.conf | 14 --- src/universal/conf/mordor.conf | 7 ++ src/universal/conf/network.conf | 100 --------------- src/universal/conf/storage.conf | 45 ------- src/universal/conf/sync.conf | 16 --- src/universal/conf/testmode.conf | 4 +- ...ate-testnet.conf => testnet-internal.conf} | 12 +- 34 files changed, 83 insertions(+), 400 deletions(-) rename src/main/resources/chains/{base.conf => base-chain.conf} (100%) create mode 100644 src/main/resources/chains/etc-chain.conf delete mode 100644 src/main/resources/chains/etc.conf rename src/main/resources/chains/{eth.conf => eth-chain.conf} (99%) rename src/main/resources/chains/{mordor.conf => mordor-chain.conf} (99%) rename src/main/resources/chains/{mordor.json => mordor-genesis.json} (100%) rename src/main/resources/chains/{ropsten.conf => ropsten-chain.conf} (96%) rename src/main/resources/chains/{ropsten.json => ropsten-genesis.json} (100%) rename src/main/resources/chains/{test.conf => test-chain.conf} (66%) rename src/main/resources/chains/{private.conf => testnet-internal-chain.conf} (83%) rename src/main/resources/chains/{private.json => testnet-internal-genesis.json} (100%) create mode 100644 src/universal/bin/mantis-mordor create mode 100644 src/universal/bin/mantis-testnet-internal create mode 100644 src/universal/conf/app.conf delete mode 100644 src/universal/conf/blockchains.conf delete mode 100644 src/universal/conf/consensus.conf create mode 100644 src/universal/conf/etc.conf create mode 100644 src/universal/conf/eth.conf delete mode 100644 src/universal/conf/logging.conf delete mode 100644 src/universal/conf/mantis.conf delete mode 100644 src/universal/conf/metrics.conf delete mode 100644 src/universal/conf/misc.conf create mode 100644 src/universal/conf/mordor.conf delete mode 100644 src/universal/conf/network.conf delete mode 100644 src/universal/conf/storage.conf delete mode 100644 src/universal/conf/sync.conf rename src/universal/conf/{private-testnet.conf => testnet-internal.conf} (87%) diff --git a/build.sbt b/build.sbt index a04101f54a..69928d2326 100644 --- a/build.sbt +++ b/build.sbt @@ -126,7 +126,7 @@ Universal / mappings += (resourceDirectory in Compile).value / "logback.xml" -> val sep = java.io.File.separator jdkPackagerJVMArgs := Seq( - "-Dconfig.file=." + sep + "conf" + sep + "mantis.conf", + "-Dconfig.file=." + sep + "conf" + sep + "app.conf", "-Dlogback.configurationFile=." + sep + "conf" + sep + "logback.xml", "-Xss10M" ) diff --git a/src/main/resources/application.conf b/src/main/resources/application.conf index e274621ded..c8efd96132 100644 --- a/src/main/resources/application.conf +++ b/src/main/resources/application.conf @@ -255,17 +255,17 @@ mantis { blockchains { network = "etc" - etc { include "chains/etc.conf" } + etc { include "chains/etc-chain.conf"} - eth { include "chains/eth.conf" } + eth { include "chains/eth-chain.conf"} - mordor { include "chains/mordor.conf"} + mordor { include "chains/mordor-chain.conf"} - ropsten { include "chains/ropsten.conf" } + ropsten { include "chains/ropsten-chain.conf"} - test { include "chains/test.conf" } + test { include "chains/test-chain.conf"} - private { include "chains/private.conf" } + testnet-internal { include "chains/testnet-internal-chain.conf"} } sync { diff --git a/src/main/resources/chains/base.conf b/src/main/resources/chains/base-chain.conf similarity index 100% rename from src/main/resources/chains/base.conf rename to src/main/resources/chains/base-chain.conf diff --git a/src/main/resources/chains/etc-chain.conf b/src/main/resources/chains/etc-chain.conf new file mode 100644 index 0000000000..d13ed69a08 --- /dev/null +++ b/src/main/resources/chains/etc-chain.conf @@ -0,0 +1 @@ +{ include "base-chain.conf"} diff --git a/src/main/resources/chains/etc.conf b/src/main/resources/chains/etc.conf deleted file mode 100644 index fc950006a9..0000000000 --- a/src/main/resources/chains/etc.conf +++ /dev/null @@ -1 +0,0 @@ -{ include "base.conf" } diff --git a/src/main/resources/chains/eth.conf b/src/main/resources/chains/eth-chain.conf similarity index 99% rename from src/main/resources/chains/eth.conf rename to src/main/resources/chains/eth-chain.conf index 24261ff489..20f5959bd6 100644 --- a/src/main/resources/chains/eth.conf +++ b/src/main/resources/chains/eth-chain.conf @@ -1,5 +1,5 @@ { - include "etc.conf" + include "base-chain.conf" eip150-block-number = "2463000" eip155-block-number = "2675000" diff --git a/src/main/resources/chains/mordor.conf b/src/main/resources/chains/mordor-chain.conf similarity index 99% rename from src/main/resources/chains/mordor.conf rename to src/main/resources/chains/mordor-chain.conf index 1002449b1f..16bed2afca 100644 --- a/src/main/resources/chains/mordor.conf +++ b/src/main/resources/chains/mordor-chain.conf @@ -90,7 +90,7 @@ # Custom genesis JSON file path # null value indicates using default genesis definition that matches the main network - custom-genesis-file = "chains/mordor.json" + custom-genesis-file = "chains/mordor-genesis.json" # Monetary policy parameters # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md diff --git a/src/main/resources/chains/mordor.json b/src/main/resources/chains/mordor-genesis.json similarity index 100% rename from src/main/resources/chains/mordor.json rename to src/main/resources/chains/mordor-genesis.json diff --git a/src/main/resources/chains/ropsten.conf b/src/main/resources/chains/ropsten-chain.conf similarity index 96% rename from src/main/resources/chains/ropsten.conf rename to src/main/resources/chains/ropsten-chain.conf index b6d106978c..9b49e6c0bd 100644 --- a/src/main/resources/chains/ropsten.conf +++ b/src/main/resources/chains/ropsten-chain.conf @@ -1,5 +1,5 @@ { - include "base.conf" + include "base-chain.conf" frontier-block-number = "0" homestead-block-number = "0" @@ -48,7 +48,7 @@ network-id = 3 - custom-genesis-file = "chains/ropsten.json" + custom-genesis-file = "chains/ropsten-genesis.json" bootstrap-nodes = [ "enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@52.169.14.227:30303", diff --git a/src/main/resources/chains/ropsten.json b/src/main/resources/chains/ropsten-genesis.json similarity index 100% rename from src/main/resources/chains/ropsten.json rename to src/main/resources/chains/ropsten-genesis.json diff --git a/src/main/resources/chains/test.conf b/src/main/resources/chains/test-chain.conf similarity index 66% rename from src/main/resources/chains/test.conf rename to src/main/resources/chains/test-chain.conf index d615786c7c..60a715e26c 100644 --- a/src/main/resources/chains/test.conf +++ b/src/main/resources/chains/test-chain.conf @@ -1,5 +1,5 @@ { - include "base.conf" + include "base-chain.conf" eip160-block-number = "0" bootstrap-nodes = [] } diff --git a/src/main/resources/chains/private.conf b/src/main/resources/chains/testnet-internal-chain.conf similarity index 83% rename from src/main/resources/chains/private.conf rename to src/main/resources/chains/testnet-internal-chain.conf index 636ac1a916..95b45f2180 100644 --- a/src/main/resources/chains/private.conf +++ b/src/main/resources/chains/testnet-internal-chain.conf @@ -1,5 +1,5 @@ { - include "base.conf" + include "base-chain.conf" frontier-block-number = "0" homestead-block-number = "0" eip150-block-number = "0" @@ -14,7 +14,7 @@ chain-id = "0x2A" network-id = 42 - custom-genesis-file = "chains/private.json" + custom-genesis-file = "chains/testnet-internal-genesis.json" dao = null bootstrap-nodes = [] } diff --git a/src/main/resources/chains/private.json b/src/main/resources/chains/testnet-internal-genesis.json similarity index 100% rename from src/main/resources/chains/private.json rename to src/main/resources/chains/testnet-internal-genesis.json diff --git a/src/rpcTest/resources/privateNetConfig/conf/rpc-test-private.conf b/src/rpcTest/resources/privateNetConfig/conf/rpc-test-private.conf index 45e92962fe..2614ca612d 100644 --- a/src/rpcTest/resources/privateNetConfig/conf/rpc-test-private.conf +++ b/src/rpcTest/resources/privateNetConfig/conf/rpc-test-private.conf @@ -1,4 +1,4 @@ -include "mantis.conf" +include "app.conf" mantis { diff --git a/src/universal/bin/mantis-etc b/src/universal/bin/mantis-etc index c0e35f88ff..e6e203f6f2 100755 --- a/src/universal/bin/mantis-etc +++ b/src/universal/bin/mantis-etc @@ -1,3 +1,3 @@ #!/bin/bash -./bin/mantis -Dmantis.blockchains.network=etc "$@" +./bin/mantis -Dconfig.file=./conf/etc.conf "$@" diff --git a/src/universal/bin/mantis-eth b/src/universal/bin/mantis-eth index d456285619..ef0e1e6d05 100755 --- a/src/universal/bin/mantis-eth +++ b/src/universal/bin/mantis-eth @@ -1,3 +1,3 @@ #!/bin/bash -./bin/mantis -Dmantis.blockchains.network=eth -Dmantis.pruning.mode=inmemory -Dmantis.pruning.history=64 "$@" +./bin/mantis -Dconfig.file=./conf/eth.conf "$@" diff --git a/src/universal/bin/mantis-mordor b/src/universal/bin/mantis-mordor new file mode 100644 index 0000000000..166dc1f83f --- /dev/null +++ b/src/universal/bin/mantis-mordor @@ -0,0 +1,3 @@ +#!/bin/bash + +./bin/mantis -Dconfig.file=./conf/mordor.conf "$@" diff --git a/src/universal/bin/mantis-testnet-internal b/src/universal/bin/mantis-testnet-internal new file mode 100644 index 0000000000..d8c87b6ec7 --- /dev/null +++ b/src/universal/bin/mantis-testnet-internal @@ -0,0 +1,3 @@ +#!/bin/bash + +./bin/mantis -Dconfig.file=./conf/testnet-internal.conf "$@" diff --git a/src/universal/conf/app.conf b/src/universal/conf/app.conf new file mode 100644 index 0000000000..aa624ad812 --- /dev/null +++ b/src/universal/conf/app.conf @@ -0,0 +1,23 @@ +# This is the base configuration file for the Mantis ETC client. + +# This where all the default settings are defined (this file is packaged within the executable). +# It should always go at the top. +include "application.conf" + +# Enable HTTPS +mantis { + network { + rpc { + http { + mode = "https" + + certificate-keystore-path = "conf/mantis.jks" + + certificate-keystore-type = "jks" + + certificate-password-file = "conf/nopassword" + + } + } + } +} diff --git a/src/universal/conf/application.ini b/src/universal/conf/application.ini index 6f4981ede0..3dbf31d102 100644 --- a/src/universal/conf/application.ini +++ b/src/universal/conf/application.ini @@ -1 +1 @@ --Dconfig.file=./conf/mantis.conf -Dlogback.configurationFile=./conf/logback.xml -J-Xmx4g -J-Xss10M +-Dconfig.file=./conf/app.conf -Dlogback.configurationFile=./conf/logback.xml -J-Xmx4g -J-Xss10M diff --git a/src/universal/conf/blockchains.conf b/src/universal/conf/blockchains.conf deleted file mode 100644 index f3d735e485..0000000000 --- a/src/universal/conf/blockchains.conf +++ /dev/null @@ -1,115 +0,0 @@ -mantis { - blockchains { - # Used network name, default is "etc", available are: "etc", "eth", "morden", "ropsten", "test", "private" - # Network to be usable has to be configured as an object under mantis.blockachains - # in similar fashion to "example-blockchain" below - # network = "example-blockchain" - - # example-blockchain { - # Frontier block number - # frontier-block-number = "0" - - # Homestead fork block number - # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md - # homestead-block-number = "1150000" - - # EIP-106 fork block number - # Doc: https://github.com/ethereum/EIPs/issues/106 - # eip106-block-number = "1000000000000000000" - - # EIP-150 fork block number - # Doc: https://github.com/ethereum/EIPs/issues/150 - # eip150-block-number = "2500000" - - # EIP-155 fork block number - # Doc: https://github.com/ethereum/eips/issues/155 - # 3 000 000 following lead of existing clients implementation to maintain compatibility - # https://github.com/paritytech/parity/blob/b50fb71dd1d29dfde2a6c7e1830447cf30896c31/ethcore/res/ethereum/classic.json#L15 - # eip155-block-number = "3000000" - - # EIP-160 fork block number - # Doc: https://github.com/ethereum/EIPs/issues/160 - # eip160-block-number = "3000000" - - # EIP-161 fork block number (ETH Only) - # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-161.md - # eip161-block-number = "1000000000000000000" - - # Byzantium fork block number (ETH only) - # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-609.md - # byzantium-block-number = "1000000000000000000" - - # EIP-170 max code size (Eth only) - # Doc: https://github.com/ethereum/EIPs/issues/170 - # null value indicates there's no max code size for the contract code - # max-code-size = null - - # Difficulty bomb pause block number - # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md - # difficulty-bomb-pause-block-number = "3000000" - - # Difficulty bomb continuation block number - # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md - # difficulty-bomb-continue-block-number = "5000000" - - # Difficulty bomb defusion block number (ETC Only) - # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1041.md - # difficulty-bomb-removal-block-number = "5900000" - - # DAO fork configuration (Ethereum HF/Classic split) - # https://blog.ethereum.org/2016/07/20/hard-fork-completed/ - # dao { - - # DAO fork block number - # fork-block-number = "1920000" - - # The hash of the accepted DAO fork block - # fork-block-hash = "94365e3a8c0b35089c1d1195081fe7489b528a84b22199c916180db8b28ade7f" - - # Extra data to be put in fork block headers - # block-extra-data = null - - # number of blocks to place extra data after fork - # block-extra-data-range = 10 - - # Address to send funds when draining - # refund-contract-address = null - - # List of accounts addresses to be drained. For example ["d4fe7bc31cedb7bfb8a345f31e668033056b2728", "b3fb0e5aba0e20e5c49d252dfd30e102b171a425"] - # drain-list = [] - # } - - # Starting nonce a an empty account. Some networks (like Morden) use different values. - # account-start-nonce = "0" - - # The ID of the accepted chain - # chain-id = "0x3d" - - # The network id, previously at network.peer.network-id - # network-id = 42 - - # Custom genesis JSON file - # null value indicates using default genesis definition that matches the main network - # custom-genesis-file = null - - # Monetary policy parameters - # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md - # monetary-policy { - # Block reward in the first era - # first-era-block-reward = "5000000000000000000" - - # Monetary policy era duration in number of blocks - # era-duration = 5000000 - - # Rate at which rewards get reduced in successive eras. - # Value in range [0.0, 1.0] - # reward-reduction-rate = 0.2 - # } - - # Nodes used to start discovery, previously at network.discovery.bootstrap-nodes - # bootstrap-nodes = [ - # "enode://somehash@ip:port" - # ] - # } - } -} diff --git a/src/universal/conf/consensus.conf b/src/universal/conf/consensus.conf deleted file mode 100644 index 356a151c7e..0000000000 --- a/src/universal/conf/consensus.conf +++ /dev/null @@ -1,33 +0,0 @@ -mantis { - consensus { - # Miner's coinbase address - # Also used in non-Ethash consensus. - # coinbase = "0011223344556677889900112233445566778899" - - # This determines how many parallel eth_getWork request we can handle, by storing the prepared blocks in a cache, - # until a corresponding eth_submitWork request is received. - # - # Also used by the generic `BlockGenerator`. - # block-cashe-size = 30 - - # If true then the consensus protocol uses this node for mining. - # In the case of ethash PoW, this means mining new blocks, as specified by Ethereum. - # In the general case, the semantics are due to the specific consensus implementation. - # mining-enabled = false - - # See io.iohk.ethereum.consensus.Protocol for the available protocols. - # Declaring the protocol here means that a more protocol-specific configuration - # is pulled from the corresponding consensus implementation. - # For example, in case of ethash, a section named `ethash` is used. - # Available protocols: ethash, mocked - # In case of mocked, remember to enable qa api - # protocol = ethash - } - - # This is the section dedicated to Ethash mining. - # This consensus protocol is selected by setting `mantis.consensus.protocol = ethash`. - ethash { - # Maximum number of ommers kept in the pool - # ommers-pool-size = 30 - } -} diff --git a/src/universal/conf/etc.conf b/src/universal/conf/etc.conf new file mode 100644 index 0000000000..0c570738a0 --- /dev/null +++ b/src/universal/conf/etc.conf @@ -0,0 +1,7 @@ +include "app.conf" + +mantis { + blockchains { + network = "etc" + } +} diff --git a/src/universal/conf/eth.conf b/src/universal/conf/eth.conf new file mode 100644 index 0000000000..3c6537a675 --- /dev/null +++ b/src/universal/conf/eth.conf @@ -0,0 +1,14 @@ +include "app.conf" + +mantis { + blockchains { + network = "eth" + } + + + pruning { + mode = "inmemory" + + history = 64 + } +} diff --git a/src/universal/conf/logging.conf b/src/universal/conf/logging.conf deleted file mode 100644 index b63b434bfc..0000000000 --- a/src/universal/conf/logging.conf +++ /dev/null @@ -1,12 +0,0 @@ -mantis { - logging { - # Flag used to switch logs to the JSON format - # json-output = false - - # Logs directory - # logs-dir = ${mantis.datadir}"/logs" - - # Logs filename - # logs-file = "mantis" - } -} diff --git a/src/universal/conf/mantis.conf b/src/universal/conf/mantis.conf deleted file mode 100644 index c1c51d04e1..0000000000 --- a/src/universal/conf/mantis.conf +++ /dev/null @@ -1,26 +0,0 @@ -# This is the main configuration file for the Mantis ETC client. -# It consist of series of include where actual settings are defined. - - -# This where all the default settings are defined (this file is packaged within the executable). -# It should always go at the top. -include "application.conf" - -# The following include are where users are expected to defined their own configuration overrides. -# To override a setting, go to a specific file, uncomment a setting and provide a value. -include "network.conf" -include "storage.conf" -include "blockchains.conf" -include "sync.conf" -include "misc.conf" -include "consensus.conf" -include "metrics.conf" -include "logging.conf" - -# Uncomment to run Mantis in test-mode (similar to --test flag in cpp-ethereum). -# When set, test validators and consensus are used by this node. -# It also enables test_ RPC endpoints. -# include "testmode.conf" - -# Example private network configuration -# include "private-testnet.conf" diff --git a/src/universal/conf/metrics.conf b/src/universal/conf/metrics.conf deleted file mode 100644 index f18cc26b77..0000000000 --- a/src/universal/conf/metrics.conf +++ /dev/null @@ -1,11 +0,0 @@ -mantis { - metrics { - # Set to `true` iff your deployment supports metrics collection. - # We expose metrics using a Prometheus server - # We default to `false` here because we do not expect all deployments to support metrics collection. - # enabled = false - - # The port for setting up a Prometheus server over localhost. - # port = 13798 - } -} diff --git a/src/universal/conf/misc.conf b/src/universal/conf/misc.conf deleted file mode 100644 index 2ce6d9605c..0000000000 --- a/src/universal/conf/misc.conf +++ /dev/null @@ -1,14 +0,0 @@ -mantis { - txPool { - # Maximum number of pending transaction kept in the pool - # tx-pool-size = 1000 - - # A time after which the transaction (if not mined) is removed from the pool - # transaction-timeout = 2.minutes - } - - filter { - # Time at which a filter remains valid - # filter-timeout = 10.minutes - } -} diff --git a/src/universal/conf/mordor.conf b/src/universal/conf/mordor.conf new file mode 100644 index 0000000000..cc2d95fa0f --- /dev/null +++ b/src/universal/conf/mordor.conf @@ -0,0 +1,7 @@ +include "app.conf" + +mantis { + blockchains { + network = "mordor" + } +} diff --git a/src/universal/conf/network.conf b/src/universal/conf/network.conf deleted file mode 100644 index cdb9b88e2d..0000000000 --- a/src/universal/conf/network.conf +++ /dev/null @@ -1,100 +0,0 @@ -mantis { - - network { - - server-address { - # Listening interface for Ethereum protocol connections - # interface = "0.0.0.0" - - # Listening port for Ethereum protocol connections - # port = 9076 - } - - discovery { - # Turn discovery of/off - # discovery-enabled = true - - # Listening port for discovery protocol - # port = 30303 - } - - peer { - # Retry delay for failed attempt at connecting to a peer - # connect-retry-delay = 1 minute - - # Maximum number of reconnect attempts after the connection has been initiated. - # After that, the connection will be dropped until its initiated again (eg. by peer discovery) - # connect-max-retries = 1 - - # Maximum number of peers this node can connect to - # max-outgoing-peers = 40 - - # Maximum number of peers that can connect to this node - # max-incoming-peers = 5 - - # Maximum number of peers that can be connecting to this node - # max-pending-peers = 5 - - # Ethereum network identifier: - # 1 - mainnet, 2 - morden - # network-id = 1 - - # Peer which disconnect during tcp connection becouse of too many peers will not be retried for this short duration - # short-blacklist-duration = 6.minutes - - # Peer which disconnect during tcp connection becouse of other reasons will not be retried for this long duration - # other reasons include: timeout during connection, wrong protocol, incompatible network - # long-blacklist-duration = 30.minutes - } - - rpc { - http { - # JSON-RPC mode - # Available modes are: http, https - # Choosing https requires creating a certificate and setting up 'certificate-keystore-path' and - # 'certificate-password-file' - # See: https://github.com/input-output-hk/mantis/wiki/Creating-self-signed-certificate-for-using-JSON-RPC-with-HTTPS - mode = "https" - - # Whether to enable JSON-RPC HTTP(S) endpoint - # enabled = true - - # Listening address of JSON-RPC HTTP(S) endpoint - # interface = "localhost" - - # Listening port of JSON-RPC HTTP(S) endpoint - # port = 8546 - - # Path to the keystore storing the certificates (used only for https) - # null value indicates HTTPS is not being used - certificate-keystore-path = "conf/mantis.jks" - - # Type of certificate keystore being used - # Has to be null or one of the ones listed in: - # https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#KeyStore - # A null value indicates HTTPS is not being used - certificate-keystore-type = "jks" - - # File with the password used for accessing the certificate keystore (used only for https) - # null value indicates HTTPS is not being used - certificate-password-file = "conf/nopassword" - - # Domains allowed to query RPC endpoint. Use "*" to enable requests from - # any domain. - # cors-allowed-origins = [] - } - - ipc { - # Whether to enable JSON-RPC over IPC - # enabled = true - - # Path to IPC socket file - # socket-file = ${mantis.datadir}"/mantis.ipc" - } - - # Enabled JSON-RPC APIs over the JSON-RPC endpoint - # Available choices are: eth, web3, net, personal, test, daedalus, iele, debug, qa - # apis = "eth,web3,net,personal,daedalus" - } - } -} diff --git a/src/universal/conf/storage.conf b/src/universal/conf/storage.conf deleted file mode 100644 index 6d4be3f54f..0000000000 --- a/src/universal/conf/storage.conf +++ /dev/null @@ -1,45 +0,0 @@ -mantis { - - # Base directory where all the data used by the node is stored, including blockchain data and private keys - # datadir = ${user.home}"/.mantis" - - # The unencrypted private key of this node - # node-key-file = ${mantis.datadir}"/node.key" - - keyStore { - - # Keystore directory: stores encrypted private keys of accounts managed by this node - # keystore-dir = ${mantis.datadir}"/keystore" - - # Enforces minimal length for passphrase of this keystore - # minimal-passphrase-length = 7 - - # Allows possibility for no passphrase - # If passphrase is set it must be greater than minimal-passphrase-length - # allow-no-passphrase = true - } - - db { - rocksdb { - # RocksDb data directory - # path = ${mantis.datadir}"/rocksdb/" - } - } - - pruning { - # Pruning mode that the application will use. - # - # - archive: No pruning is performed - # - basic: reference count based pruning - # - inmemory: reference count inmemory pruning - # - # After changing, please delete previous db before starting the client - # - # mode = "archive" - - # The amount of block history kept before pruning - # Note: if fast-sync clients choose target block offset greater than this value, mantis may not be able to - # correctly act as a fast-sync server - # history = 64 - } -} diff --git a/src/universal/conf/sync.conf b/src/universal/conf/sync.conf deleted file mode 100644 index 9425aeef1b..0000000000 --- a/src/universal/conf/sync.conf +++ /dev/null @@ -1,16 +0,0 @@ -mantis { - sync { - # Whether to enable fast-sync - # do-fast-sync = true - - # Maximum concurrent requests when in fast-sync mode - # max-concurrent-requests = 50 - - # Minimum number of peers required to start fast-sync (by determining the target block) - # min-peers-to-choose-target-block = 2 - - # During fast-sync when most up to date block is determined from peers, the actual target block number - # will be decreased by this value - # target-block-offset = 500 - } -} diff --git a/src/universal/conf/testmode.conf b/src/universal/conf/testmode.conf index bad8155acb..481ce5f748 100644 --- a/src/universal/conf/testmode.conf +++ b/src/universal/conf/testmode.conf @@ -1,3 +1,5 @@ +include "app.conf" + mantis { testmode = true @@ -15,7 +17,7 @@ mantis { } network.rpc { - apis = "eth,web3,net,personal,daedalus,test,iele,debug" + apis = "eth,web3,net,personal,daedalus,test,iele,debug,qa" } } diff --git a/src/universal/conf/private-testnet.conf b/src/universal/conf/testnet-internal.conf similarity index 87% rename from src/universal/conf/private-testnet.conf rename to src/universal/conf/testnet-internal.conf index c4bd112309..603c9bf3b7 100644 --- a/src/universal/conf/private-testnet.conf +++ b/src/universal/conf/testnet-internal.conf @@ -1,4 +1,5 @@ -# Sample configuration for a custom private testnet. +include "app.conf" + mantis { sync { # Whether to enable fast-sync @@ -14,12 +15,12 @@ mantis { broadcast-new-block-hashes = false pruning { - mode = "archive" + mode = "archive" } } blockchains { - network = "private" + network = "testnet-internal" } consensus { @@ -35,8 +36,6 @@ mantis { # Listening interface for discovery protocol interface = ${mantis.network.server-address.interface} - # Listening port for discovery protocol - # port = 30303 } rpc { @@ -51,9 +50,6 @@ mantis { # Listening address of JSON-RPC HTTP/HTTPS endpoint interface = ${mantis.network.server-address.interface} - # Listening port of JSON-RPC HTTP/HTTPS endpoint - # port = 8546 - # Domains allowed to query RPC endpoint. Use "*" to enable requests from any domain. cors-allowed-origins = "*" } From e02a01726fcb879cf61a58d599afc85397d9010b Mon Sep 17 00:00:00 2001 From: Nicolas Tallar Date: Mon, 21 Sep 2020 12:39:55 -0300 Subject: [PATCH 2/4] [ETCM-121] Replaced bash script for every chain for a single mantis-launcher; removed unnecessary configurations from testnet internal; removed https from app.conf --- src/universal/bin/mantis-etc | 3 --- src/universal/bin/mantis-eth | 3 --- src/universal/bin/mantis-launcher | 10 ++++++++++ src/universal/bin/mantis-mordor | 3 --- src/universal/bin/mantis-testnet-internal | 3 --- src/universal/conf/app.conf | 18 ------------------ src/universal/conf/nopassword | 1 - src/universal/conf/testnet-internal.conf | 11 ----------- 8 files changed, 10 insertions(+), 42 deletions(-) delete mode 100755 src/universal/bin/mantis-etc delete mode 100755 src/universal/bin/mantis-eth create mode 100644 src/universal/bin/mantis-launcher delete mode 100644 src/universal/bin/mantis-mordor delete mode 100644 src/universal/bin/mantis-testnet-internal delete mode 100644 src/universal/conf/nopassword diff --git a/src/universal/bin/mantis-etc b/src/universal/bin/mantis-etc deleted file mode 100755 index e6e203f6f2..0000000000 --- a/src/universal/bin/mantis-etc +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -./bin/mantis -Dconfig.file=./conf/etc.conf "$@" diff --git a/src/universal/bin/mantis-eth b/src/universal/bin/mantis-eth deleted file mode 100755 index ef0e1e6d05..0000000000 --- a/src/universal/bin/mantis-eth +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -./bin/mantis -Dconfig.file=./conf/eth.conf "$@" diff --git a/src/universal/bin/mantis-launcher b/src/universal/bin/mantis-launcher new file mode 100644 index 0000000000..5ebb44edc4 --- /dev/null +++ b/src/universal/bin/mantis-launcher @@ -0,0 +1,10 @@ +#!/bin/bash + +chain="$1" +if [ -z "$chain" ] +then + echo "You need to choose chain" +else + shift + ./bin/mantis -Dconfig.file=./conf/"$chain".conf "$@" +fi \ No newline at end of file diff --git a/src/universal/bin/mantis-mordor b/src/universal/bin/mantis-mordor deleted file mode 100644 index 166dc1f83f..0000000000 --- a/src/universal/bin/mantis-mordor +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -./bin/mantis -Dconfig.file=./conf/mordor.conf "$@" diff --git a/src/universal/bin/mantis-testnet-internal b/src/universal/bin/mantis-testnet-internal deleted file mode 100644 index d8c87b6ec7..0000000000 --- a/src/universal/bin/mantis-testnet-internal +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -./bin/mantis -Dconfig.file=./conf/testnet-internal.conf "$@" diff --git a/src/universal/conf/app.conf b/src/universal/conf/app.conf index aa624ad812..f9be304dda 100644 --- a/src/universal/conf/app.conf +++ b/src/universal/conf/app.conf @@ -3,21 +3,3 @@ # This where all the default settings are defined (this file is packaged within the executable). # It should always go at the top. include "application.conf" - -# Enable HTTPS -mantis { - network { - rpc { - http { - mode = "https" - - certificate-keystore-path = "conf/mantis.jks" - - certificate-keystore-type = "jks" - - certificate-password-file = "conf/nopassword" - - } - } - } -} diff --git a/src/universal/conf/nopassword b/src/universal/conf/nopassword deleted file mode 100644 index 7c3a49833a..0000000000 --- a/src/universal/conf/nopassword +++ /dev/null @@ -1 +0,0 @@ -nopassword diff --git a/src/universal/conf/testnet-internal.conf b/src/universal/conf/testnet-internal.conf index 603c9bf3b7..c0315623be 100644 --- a/src/universal/conf/testnet-internal.conf +++ b/src/universal/conf/testnet-internal.conf @@ -10,10 +10,6 @@ mantis { # are controlled by a single party, eg. private networks) blacklist-duration = 0 - # Set to false to disable broadcasting the NewBlockHashes message, as its usefulness is debatable, - # especially in the context of private networks - broadcast-new-block-hashes = false - pruning { mode = "archive" } @@ -40,13 +36,6 @@ mantis { rpc { http { - # JSON-RPC mode - # Available modes are: http, https - # Choosing https requires creating a certificate and setting up 'certificate-keystore-path' and - # 'certificate-password-file' - # See: https://github.com/input-output-hk/mantis/wiki/Creating-self-signed-certificate-for-using-JSON-RPC-with-HTTPS - mode = "http" - # Listening address of JSON-RPC HTTP/HTTPS endpoint interface = ${mantis.network.server-address.interface} From b0f9a119397d9bd18e0feaea43bb846e7a3b3963 Mon Sep 17 00:00:00 2001 From: Nicolas Tallar Date: Tue, 22 Sep 2020 10:06:48 -0300 Subject: [PATCH 3/4] [ETCM-121] Removed base-chain.conf --- src/main/resources/chains/base-chain.conf | 153 ----------------- src/main/resources/chains/etc-chain.conf | 154 +++++++++++++++++- src/main/resources/chains/eth-chain.conf | 118 +++++++++++--- src/main/resources/chains/mordor-chain.conf | 2 +- src/main/resources/chains/ropsten-chain.conf | 128 +++++++++++++-- src/main/resources/chains/test-chain.conf | 141 +++++++++++++++- .../chains/testnet-internal-chain.conf | 112 ++++++++++++- 7 files changed, 608 insertions(+), 200 deletions(-) delete mode 100644 src/main/resources/chains/base-chain.conf diff --git a/src/main/resources/chains/base-chain.conf b/src/main/resources/chains/base-chain.conf deleted file mode 100644 index 2b4c02fa5f..0000000000 --- a/src/main/resources/chains/base-chain.conf +++ /dev/null @@ -1,153 +0,0 @@ -{ - # Ethereum network identifier: - # 1 - mainnet, 7 - mordor - network-id = 1 - - # Frontier block number - frontier-block-number = "0" - - # Homestead fork block number - # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md - homestead-block-number = "1150000" - - # EIP-106 fork block number - # Doc: https://github.com/ethereum/EIPs/issues/106 - eip106-block-number = "1000000000000000000" - - # EIP-150 fork block number - # Doc: https://github.com/ethereum/EIPs/issues/150 - eip150-block-number = "2500000" - - # EIP-155 fork block number - # Doc: https://github.com/ethereum/eips/issues/155 - # 3 000 000 following lead of existing clients implementation to maintain compatibility - # https://github.com/paritytech/parity/blob/b50fb71dd1d29dfde2a6c7e1830447cf30896c31/ethcore/res/ethereum/classic.json#L15 - eip155-block-number = "3000000" - - # EIP-160 fork block number - # Doc: https://github.com/ethereum/EIPs/issues/160 - eip160-block-number = "3000000" - - # EIP-161 fork block number (ETH Only) - # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-161.md - eip161-block-number = "1000000000000000000" - - # EIP-170 max code size (Enabled from Atlantis fork block number) - # Doc: https://github.com/ethereum/EIPs/issues/170 - # null value indicates there's no max code size for the contract code - # TODO improve this configuration format as currently it is not obvious that this is enabled only from some block number - max-code-size = "24576" - - # Difficulty bomb pause block number - # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md - difficulty-bomb-pause-block-number = "3000000" - - # Difficulty bomb continuation block number - # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md - difficulty-bomb-continue-block-number = "5000000" - - # Difficulty bomb defusion block number - # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1041.md - difficulty-bomb-removal-block-number = "5900000" - - # Byzantium fork block number (ETH only) - # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-609.md - byzantium-block-number = "1000000000000000000" - - # Atlantis fork block number (ETC only) - # https://ecips.ethereumclassic.org/ECIPs/ecip-1054 - atlantis-block-number = "8772000" - - # Agharta fork block number (ETC only) - # https://ecips.ethereumclassic.org/ECIPs/ecip-1056 - agharta-block-number = "9573000" - - # Phoenix fork block number (ETC only) - # https://ecips.ethereumclassic.org/ECIPs/ecip-1088 - phoenix-block-number = "10500839" - - # Constantinople fork block number (ETH only) - # https://github.com/ethereum/pm/issues/53 - constantinople-block-number = "1000000000000000000" - - # Petersburg fork block number (ETH only) - # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1716.md - petersburg-block-number = "1000000000000000000" - - # Istanbul fork block number (ETH only) - # https://eips.ethereum.org/EIPS/eip-1679 - istanbul-block-number = "1000000000000000000" - - # DAO fork configuration (Ethereum HF/Classic split) - # https://blog.ethereum.org/2016/07/20/hard-fork-completed/ - dao { - # DAO fork block number - fork-block-number = "1920000" - - # The hash of the accepted DAO fork block - fork-block-hash = "94365e3a8c0b35089c1d1195081fe7489b528a84b22199c916180db8b28ade7f" - - # Extra data to be put in fork block headers - block-extra-data = null - - # number of blocks to place extra data after fork - block-extra-data-range = 10 - - # Address to send funds when draining - refund-contract-address = null - - # List of accounts to be drained - drain-list = null - } - - # Starting nonce of an empty account. Some networks (like Morden) use different values. - account-start-nonce = "0" - - # The ID of the accepted chain - chain-id = "0x3d" - - # Custom genesis JSON file path - # null value indicates using default genesis definition that matches the main network - custom-genesis-file = null - - # Monetary policy parameters - # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md - monetary-policy { - # Block reward in the first era - first-era-block-reward = "5000000000000000000" - - # Reduced block reward after Byzantium fork - first-era-reduced-block-reward = "3000000000000000000" - - # Reduced block reward after Constantinople fork - first-era-constantinople-reduced-block-reward = "2000000000000000000" - - # Monetary policy era duration in number of blocks - era-duration = 5000000 - - # Rate at which rewards get reduced in successive eras. - # Value in range [0.0, 1.0] - reward-reduction-rate = 0.2 - } - - # if 2 competing blocktree branches are equal in terms of total difficulty and this is set to true, then gas - # consumed in those branches will be used to resolve the tie - # this is currently only used in ETS blockchain tests - gas-tie-breaker = false - - # if true, account storage will use Ethereum-specific format for storing keys/value in MPT (32 byte) - # if false, generic storage for arbitrary length integers will be used - eth-compatible-storage = true - - # Set of initial nodes - bootstrap-nodes = [ - "enode://d860a01f9722d78051619d1e2351aba3f43f943f6f00718d1b9baa4101932a1f5011f16bb2b1bb35db20d6fe28fa0bf09636d26a87d31de9ec6203eeedb1f666@18.138.108.67:30303", // bootnode-aws-ap-southeast-1-001 - "enode://22a8232c3abc76a16ae9d6c3b164f98775fe226f0917b0ca871128a74a8e9630b458460865bab457221f1d448dd9791d24c4e5d88786180ac185df813a68d4de@3.209.45.79:30303", // bootnode-aws-us-east-1-001 - "enode://ca6de62fce278f96aea6ec5a2daadb877e51651247cb96ee310a318def462913b653963c155a0ef6c7d50048bba6e6cea881130857413d9f50a621546b590758@34.255.23.113:30303", // bootnode-aws-eu-west-1-001 - "enode://279944d8dcd428dffaa7436f25ca0ca43ae19e7bcf94a8fb7d1641651f92d121e972ac2e8f381414b80cc8e5555811c2ec6e1a99bb009b3f53c4c69923e11bd8@35.158.244.151:30303", // bootnode-aws-eu-central-1-001 - "enode://8499da03c47d637b20eee24eec3c356c9a2e6148d6fe25ca195c7949ab8ec2c03e3556126b0d7ed644675e78c4318b08691b7b57de10e5f0d40d05b09238fa0a@52.187.207.27:30303", // bootnode-azure-australiaeast-001 - "enode://103858bdb88756c71f15e9b5e09b56dc1be52f0a5021d46301dbbfb7e130029cc9d0d6f73f693bc29b665770fff7da4d34f3c6379fe12721b5d7a0bcb5ca1fc1@191.234.162.198:30303", // bootnode-azure-brazilsouth-001 - "enode://715171f50508aba88aecd1250af392a45a330af91d7b90701c436b618c86aaa1589c9184561907bebbb56439b8f8787bc01f49a7c77276c58c1b09822d75e8e8@52.231.165.108:30303", // bootnode-azure-koreasouth-001 - "enode://5d6d7cd20d6da4bb83a1d28cadb5d409b64edf314c0335df658c1a54e32c7c4a7ab7823d57c39b6a757556e68ff1df17c748b698544a55cb488b52479a92b60f@104.42.217.25:30303" // bootnode-azure-westus-001 - ] -} diff --git a/src/main/resources/chains/etc-chain.conf b/src/main/resources/chains/etc-chain.conf index d13ed69a08..064d074368 100644 --- a/src/main/resources/chains/etc-chain.conf +++ b/src/main/resources/chains/etc-chain.conf @@ -1 +1,153 @@ -{ include "base-chain.conf"} +{ + # Ethereum network identifier: + # 1 - mainnet, 3 - ropsten, 7 - mordor + network-id = 1 + + # Frontier block number + frontier-block-number = "0" + + # Homestead fork block number + # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md + homestead-block-number = "1150000" + + # EIP-106 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/106 + eip106-block-number = "1000000000000000000" + + # EIP-150 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/150 + eip150-block-number = "2500000" + + # EIP-155 fork block number + # Doc: https://github.com/ethereum/eips/issues/155 + # 3 000 000 following lead of existing clients implementation to maintain compatibility + # https://github.com/paritytech/parity/blob/b50fb71dd1d29dfde2a6c7e1830447cf30896c31/ethcore/res/ethereum/classic.json#L15 + eip155-block-number = "3000000" + + # EIP-160 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/160 + eip160-block-number = "3000000" + + # EIP-161 fork block number (ETH Only) + # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-161.md + eip161-block-number = "1000000000000000000" + + # EIP-170 max code size (Enabled from Atlantis fork block number) + # Doc: https://github.com/ethereum/EIPs/issues/170 + # null value indicates there's no max code size for the contract code + # TODO improve this configuration format as currently it is not obvious that this is enabled only from some block number + max-code-size = "24576" + + # Difficulty bomb pause block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md + difficulty-bomb-pause-block-number = "3000000" + + # Difficulty bomb continuation block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md + difficulty-bomb-continue-block-number = "5000000" + + # Difficulty bomb defusion block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1041.md + difficulty-bomb-removal-block-number = "5900000" + + # Byzantium fork block number (ETH only) + # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-609.md + byzantium-block-number = "1000000000000000000" + + # Atlantis fork block number (ETC only) + # https://ecips.ethereumclassic.org/ECIPs/ecip-1054 + atlantis-block-number = "8772000" + + # Agharta fork block number (ETC only) + # https://ecips.ethereumclassic.org/ECIPs/ecip-1056 + agharta-block-number = "9573000" + + # Phoenix fork block number (ETC only) + # https://ecips.ethereumclassic.org/ECIPs/ecip-1088 + phoenix-block-number = "10500839" + + # Constantinople fork block number (ETH only) + # https://github.com/ethereum/pm/issues/53 + constantinople-block-number = "1000000000000000000" + + # Petersburg fork block number (ETH only) + # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1716.md + petersburg-block-number = "1000000000000000000" + + # Istanbul fork block number (ETH only) + # https://eips.ethereum.org/EIPS/eip-1679 + istanbul-block-number = "1000000000000000000" + + # DAO fork configuration (Ethereum HF/Classic split) + # https://blog.ethereum.org/2016/07/20/hard-fork-completed/ + dao { + # DAO fork block number + fork-block-number = "1920000" + + # The hash of the accepted DAO fork block + fork-block-hash = "94365e3a8c0b35089c1d1195081fe7489b528a84b22199c916180db8b28ade7f" + + # Extra data to be put in fork block headers + block-extra-data = null + + # number of blocks to place extra data after fork + block-extra-data-range = 10 + + # Address to send funds when draining + refund-contract-address = null + + # List of accounts to be drained + drain-list = null + } + + # Starting nonce of an empty account. Some networks (like Morden) use different values. + account-start-nonce = "0" + + # The ID of the accepted chain + chain-id = "0x3d" + + # Custom genesis JSON file path + # null value indicates using default genesis definition that matches the main network + custom-genesis-file = null + + # Monetary policy parameters + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md + monetary-policy { + # Block reward in the first era + first-era-block-reward = "5000000000000000000" + + # Reduced block reward after Byzantium fork + first-era-reduced-block-reward = "3000000000000000000" + + # Reduced block reward after Constantinople fork + first-era-constantinople-reduced-block-reward = "2000000000000000000" + + # Monetary policy era duration in number of blocks + era-duration = 5000000 + + # Rate at which rewards get reduced in successive eras. + # Value in range [0.0, 1.0] + reward-reduction-rate = 0.2 + } + + # if 2 competing blocktree branches are equal in terms of total difficulty and this is set to true, then gas + # consumed in those branches will be used to resolve the tie + # this is currently only used in ETS blockchain tests + gas-tie-breaker = false + + # if true, account storage will use Ethereum-specific format for storing keys/value in MPT (32 byte) + # if false, generic storage for arbitrary length integers will be used + eth-compatible-storage = true + + # Set of initial nodes + bootstrap-nodes = [ + "enode://d860a01f9722d78051619d1e2351aba3f43f943f6f00718d1b9baa4101932a1f5011f16bb2b1bb35db20d6fe28fa0bf09636d26a87d31de9ec6203eeedb1f666@18.138.108.67:30303", // bootnode-aws-ap-southeast-1-001 + "enode://22a8232c3abc76a16ae9d6c3b164f98775fe226f0917b0ca871128a74a8e9630b458460865bab457221f1d448dd9791d24c4e5d88786180ac185df813a68d4de@3.209.45.79:30303", // bootnode-aws-us-east-1-001 + "enode://ca6de62fce278f96aea6ec5a2daadb877e51651247cb96ee310a318def462913b653963c155a0ef6c7d50048bba6e6cea881130857413d9f50a621546b590758@34.255.23.113:30303", // bootnode-aws-eu-west-1-001 + "enode://279944d8dcd428dffaa7436f25ca0ca43ae19e7bcf94a8fb7d1641651f92d121e972ac2e8f381414b80cc8e5555811c2ec6e1a99bb009b3f53c4c69923e11bd8@35.158.244.151:30303", // bootnode-aws-eu-central-1-001 + "enode://8499da03c47d637b20eee24eec3c356c9a2e6148d6fe25ca195c7949ab8ec2c03e3556126b0d7ed644675e78c4318b08691b7b57de10e5f0d40d05b09238fa0a@52.187.207.27:30303", // bootnode-azure-australiaeast-001 + "enode://103858bdb88756c71f15e9b5e09b56dc1be52f0a5021d46301dbbfb7e130029cc9d0d6f73f693bc29b665770fff7da4d34f3c6379fe12721b5d7a0bcb5ca1fc1@191.234.162.198:30303", // bootnode-azure-brazilsouth-001 + "enode://715171f50508aba88aecd1250af392a45a330af91d7b90701c436b618c86aaa1589c9184561907bebbb56439b8f8787bc01f49a7c77276c58c1b09822d75e8e8@52.231.165.108:30303", // bootnode-azure-koreasouth-001 + "enode://5d6d7cd20d6da4bb83a1d28cadb5d409b64edf314c0335df658c1a54e32c7c4a7ab7823d57c39b6a757556e68ff1df17c748b698544a55cb488b52479a92b60f@104.42.217.25:30303" // bootnode-azure-westus-001 + ] +} diff --git a/src/main/resources/chains/eth-chain.conf b/src/main/resources/chains/eth-chain.conf index 20f5959bd6..24c1384a46 100644 --- a/src/main/resources/chains/eth-chain.conf +++ b/src/main/resources/chains/eth-chain.conf @@ -1,29 +1,58 @@ { - include "base-chain.conf" + # Ethereum network identifier: + # 1 - mainnet, 3 - ropsten, 7 - mordor + network-id = 1 + # Frontier block number + frontier-block-number = "0" + + # Homestead fork block number + # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md + homestead-block-number = "1150000" + + # EIP-106 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/106 + eip106-block-number = "1000000000000000000" + + # EIP-150 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/150 eip150-block-number = "2463000" + + # EIP-155 fork block number + # Doc: https://github.com/ethereum/eips/issues/155 + # 3 000 000 following lead of existing clients implementation to maintain compatibility + # https://github.com/paritytech/parity/blob/b50fb71dd1d29dfde2a6c7e1830447cf30896c31/ethcore/res/ethereum/classic.json#L15 eip155-block-number = "2675000" - eip160-block-number = "2675000" - eip161-block-number = "2675000" - # Byzantium fork block number (ETH only) - # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-609.md - byzantium-block-number = "4370000" + # EIP-160 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/160 + eip160-block-number = "2675000" - # Constantinople fork block number (ETH only) - # https://github.com/ethereum/pm/issues/53 - constantinople-block-number = "7280000" + # EIP-161 fork block number (ETH Only) + # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-161.md + eip161-block-number = "2675000" - # EIP-170 max code size (Enabled from eip161-block-number) + # EIP-170 max code size (Enabled from Atlantis fork block number) + # Doc: https://github.com/ethereum/EIPs/issues/170 + # null value indicates there's no max code size for the contract code + # TODO improve this configuration format as currently it is not obvious that this is enabled only from some block number max-code-size = "24576" - # Setting both values to zero disables difficulty bomb delay + # Difficulty bomb pause block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md difficulty-bomb-pause-block-number = "0" + + # Difficulty bomb continuation block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md difficulty-bomb-continue-block-number = "0" - # Disabled for ethereumHF + + # Difficulty bomb defusion block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1041.md difficulty-bomb-removal-block-number = "1000000000000000000" - chain-id = "1" + # Byzantium fork block number (ETH only) + # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-609.md + byzantium-block-number = "4370000" # Atlantis fork block number (ETC only) # https://ecips.ethereumclassic.org/ECIPs/ecip-1054 @@ -37,6 +66,10 @@ # https://ecips.ethereumclassic.org/ECIPs/ecip-1088 phoenix-block-number = "1000000000000000000" + # Constantinople fork block number (ETH only) + # https://github.com/ethereum/pm/issues/53 + constantinople-block-number = "7280000" + # Petersburg fork block number (ETH only) # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1716.md petersburg-block-number = "7280000" @@ -45,18 +78,6 @@ # https://eips.ethereum.org/EIPS/eip-1679 istanbul-block-number = "9069000" - monetary-policy { - - # Setting era-duration for eth and ropsten chain to big number is necessery to ensure - # that those chains will always remain in era - 0. Later eras are only relevant for - # etc and morden chain. - # 500000000 blocks will ensure that 0 era will last at least 237 years. - # - era-duration = 500000000 - - reward-reduction-rate = 0 - } - # DAO fork configuration (Ethereum HF/Classic split) # https://blog.ethereum.org/2016/07/20/hard-fork-completed/ dao { @@ -197,6 +218,51 @@ ] } + # Starting nonce of an empty account. Some networks (like Morden) use different values. + account-start-nonce = "0" + + # The ID of the accepted chain + chain-id = "1" + + # Custom genesis JSON file path + # null value indicates using default genesis definition that matches the main network + custom-genesis-file = null + + # Monetary policy parameters + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md + monetary-policy { + # Block reward in the first era + first-era-block-reward = "5000000000000000000" + + # Reduced block reward after Byzantium fork + first-era-reduced-block-reward = "3000000000000000000" + + # Reduced block reward after Constantinople fork + first-era-constantinople-reduced-block-reward = "2000000000000000000" + + # Monetary policy era duration in number of blocks + # Setting era-duration for eth and ropsten chain to big number is necessery to ensure + # that those chains will always remain in era - 0. Later eras are only relevant for + # etc and morden chain. + # 500000000 blocks will ensure that 0 era will last at least 237 years. + # + era-duration = 500000000 + + # Rate at which rewards get reduced in successive eras. + # Value in range [0.0, 1.0] + reward-reduction-rate = 0 + } + + # if 2 competing blocktree branches are equal in terms of total difficulty and this is set to true, then gas + # consumed in those branches will be used to resolve the tie + # this is currently only used in ETS blockchain tests + gas-tie-breaker = false + + # if true, account storage will use Ethereum-specific format for storing keys/value in MPT (32 byte) + # if false, generic storage for arbitrary length integers will be used + eth-compatible-storage = true + + # Set of initial nodes bootstrap-nodes = [ "enode://a979fb575495b8d6db44f750317d0f4622bf4c2aa3365d6af7c284339968eef29b69ad0dce72a4d8db5ebb4968de0e3bec910127f134779fbcb0cb6d3331163c@52.16.188.185:30303", "enode://3f1d12044546b76342d59d4a05532c14b85aa669704bfe1f864fe079415aa2c02d743e03218e57a33fb94523adb54032871a6c51b2cc5514cb7c7e35b3ed0a99@13.93.211.84:30303", @@ -205,5 +271,5 @@ "enode://1118980bf48b0a3640bdba04e0fe78b1add18e1cd99bf22d53daac1fd9972ad650df52176e7c7d89d1114cfef2bc23a2959aa54998a46afcf7d91809f0855082@52.74.57.123:30303", "enode://979b7fa28feeb35a4741660a16076f1943202cb72b6af70d327f053e248bab9ba81760f39d0701ef1d8f89cc1fbd2cacba0710a12cd5314d5e0c9021aa3637f9@5.1.83.226:30303", ] - } + diff --git a/src/main/resources/chains/mordor-chain.conf b/src/main/resources/chains/mordor-chain.conf index 16bed2afca..16d3ec8c55 100644 --- a/src/main/resources/chains/mordor-chain.conf +++ b/src/main/resources/chains/mordor-chain.conf @@ -1,6 +1,6 @@ { # Ethereum network identifier: - # 1 - mainnet, 7 - mordor + # 1 - mainnet, 3 - ropsten, 7 - mordor network-id = 7 # Frontier block number diff --git a/src/main/resources/chains/ropsten-chain.conf b/src/main/resources/chains/ropsten-chain.conf index 9b49e6c0bd..7d1f1b6b99 100644 --- a/src/main/resources/chains/ropsten-chain.conf +++ b/src/main/resources/chains/ropsten-chain.conf @@ -1,55 +1,153 @@ { - include "base-chain.conf" + # Ethereum network identifier: + # 1 - mainnet, 3 - ropsten, 7 - mordor + network-id = 3 + # Frontier block number frontier-block-number = "0" + + # Homestead fork block number + # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md homestead-block-number = "0" + + # EIP-106 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/106 + eip106-block-number = "1000000000000000000" + + # EIP-150 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/150 eip150-block-number = "0" + + # EIP-155 fork block number + # Doc: https://github.com/ethereum/eips/issues/155 + # 3 000 000 following lead of existing clients implementation to maintain compatibility + # https://github.com/paritytech/parity/blob/b50fb71dd1d29dfde2a6c7e1830447cf30896c31/ethcore/res/ethereum/classic.json#L15 eip155-block-number = "10" + + # EIP-160 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/160 eip160-block-number = "10" + + # EIP-161 fork block number (ETH Only) + # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-161.md eip161-block-number = "10" + + # EIP-170 max code size (Enabled from Atlantis fork block number) + # Doc: https://github.com/ethereum/EIPs/issues/170 + # null value indicates there's no max code size for the contract code + # TODO improve this configuration format as currently it is not obvious that this is enabled only from some block number + max-code-size = "24576" + + # Difficulty bomb pause block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md difficulty-bomb-pause-block-number = "0" + + # Difficulty bomb continuation block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md difficulty-bomb-continue-block-number = "0" + + # Difficulty bomb defusion block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1041.md difficulty-bomb-removal-block-number = "1000000000000000000" # Byzantium fork block number (ETH only) # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-609.md byzantium-block-number = "1700000" + # FIXME: should this value be updated? + # Atlantis fork block number (ETC only) + # https://ecips.ethereumclassic.org/ECIPs/ecip-1054 + atlantis-block-number = "8772000" + + # FIXME: should this value be updated? + # Agharta fork block number (ETC only) + # https://ecips.ethereumclassic.org/ECIPs/ecip-1056 + agharta-block-number = "9573000" + + # FIXME: should this value be updated? + # Phoenix fork block number (ETC only) + # https://ecips.ethereumclassic.org/ECIPs/ecip-1088 + phoenix-block-number = "10500839" + # Constantinople fork block number (ETH only) # https://github.com/ethereum/pm/issues/53 constantinople-block-number = "4230000" - max-code-size = 24576 - - monetary-policy { - - # Setting era-duration for eth and ropsten chain to big number is necessery to ensure - # that those chains will always remain in era - 0. Later eras are only relevant for - # etc and morden chain. - # 500000000 blocks will ensure that 0 era will last at least 237 years. - # - era-duration = 500000000 + # Petersburg fork block number (ETH only) + # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1716.md + petersburg-block-number = "1000000000000000000" - reward-reduction-rate = 0 - } + # Istanbul fork block number (ETH only) + # https://eips.ethereum.org/EIPS/eip-1679 + istanbul-block-number = "1000000000000000000" + # DAO fork configuration (Ethereum HF/Classic split) + # https://blog.ethereum.org/2016/07/20/hard-fork-completed/ dao { + # DAO fork block number fork-block-number = "641350" + + # The hash of the accepted DAO fork block fork-block-hash = "8033403e9fe5811a7b6d6b469905915de1c59207ce2172cbcf5d6ff14fa6a2eb" + + # Extra data to be put in fork block headers block-extra-data = null + + # number of blocks to place extra data after fork block-extra-data-range = 0 + + # Address to send funds when draining refund-contract-address = null + + # List of accounts to be drained drain-list = null } + # Starting nonce of an empty account. Some networks (like Morden) use different values. account-start-nonce = "0" + # The ID of the accepted chain chain-id = "0x3" - network-id = 3 - + # Custom genesis JSON file path + # null value indicates using default genesis definition that matches the main network custom-genesis-file = "chains/ropsten-genesis.json" + # Monetary policy parameters + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md + monetary-policy { + # Block reward in the first era + first-era-block-reward = "5000000000000000000" + + # Reduced block reward after Byzantium fork + first-era-reduced-block-reward = "3000000000000000000" + + # Reduced block reward after Constantinople fork + first-era-constantinople-reduced-block-reward = "2000000000000000000" + + # Monetary policy era duration in number of blocks + # Setting era-duration for eth and ropsten chain to big number is necessery to ensure + # that those chains will always remain in era - 0. Later eras are only relevant for + # etc and morden chain. + # 500000000 blocks will ensure that 0 era will last at least 237 years. + # + era-duration = 500000000 + + # Rate at which rewards get reduced in successive eras. + # Value in range [0.0, 1.0] + reward-reduction-rate = 0 + } + + # if 2 competing blocktree branches are equal in terms of total difficulty and this is set to true, then gas + # consumed in those branches will be used to resolve the tie + # this is currently only used in ETS blockchain tests + gas-tie-breaker = false + + # if true, account storage will use Ethereum-specific format for storing keys/value in MPT (32 byte) + # if false, generic storage for arbitrary length integers will be used + eth-compatible-storage = true + + # Set of initial nodes bootstrap-nodes = [ "enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@52.169.14.227:30303", "enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@13.84.180.240:30303", diff --git a/src/main/resources/chains/test-chain.conf b/src/main/resources/chains/test-chain.conf index 60a715e26c..bb6815ce3a 100644 --- a/src/main/resources/chains/test-chain.conf +++ b/src/main/resources/chains/test-chain.conf @@ -1,5 +1,144 @@ { - include "base-chain.conf" + # Ethereum network identifier: + # 1 - mainnet, 7 - mordor + network-id = 1 + + # Frontier block number + frontier-block-number = "0" + + # Homestead fork block number + # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md + homestead-block-number = "1150000" + + # EIP-106 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/106 + eip106-block-number = "1000000000000000000" + + # EIP-150 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/150 + eip150-block-number = "2500000" + + # EIP-155 fork block number + # Doc: https://github.com/ethereum/eips/issues/155 + # 3 000 000 following lead of existing clients implementation to maintain compatibility + # https://github.com/paritytech/parity/blob/b50fb71dd1d29dfde2a6c7e1830447cf30896c31/ethcore/res/ethereum/classic.json#L15 + eip155-block-number = "3000000" + + # EIP-160 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/160 eip160-block-number = "0" + + # EIP-161 fork block number (ETH Only) + # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-161.md + eip161-block-number = "1000000000000000000" + + # EIP-170 max code size (Enabled from Atlantis fork block number) + # Doc: https://github.com/ethereum/EIPs/issues/170 + # null value indicates there's no max code size for the contract code + # TODO improve this configuration format as currently it is not obvious that this is enabled only from some block number + max-code-size = "24576" + + # Difficulty bomb pause block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md + difficulty-bomb-pause-block-number = "3000000" + + # Difficulty bomb continuation block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md + difficulty-bomb-continue-block-number = "5000000" + + # Difficulty bomb defusion block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1041.md + difficulty-bomb-removal-block-number = "5900000" + + # Byzantium fork block number (ETH only) + # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-609.md + byzantium-block-number = "1000000000000000000" + + # Atlantis fork block number (ETC only) + # https://ecips.ethereumclassic.org/ECIPs/ecip-1054 + atlantis-block-number = "8772000" + + # Agharta fork block number (ETC only) + # https://ecips.ethereumclassic.org/ECIPs/ecip-1056 + agharta-block-number = "9573000" + + # Phoenix fork block number (ETC only) + # https://ecips.ethereumclassic.org/ECIPs/ecip-1088 + phoenix-block-number = "10500839" + + # Constantinople fork block number (ETH only) + # https://github.com/ethereum/pm/issues/53 + constantinople-block-number = "1000000000000000000" + + # Petersburg fork block number (ETH only) + # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1716.md + petersburg-block-number = "1000000000000000000" + + # Istanbul fork block number (ETH only) + # https://eips.ethereum.org/EIPS/eip-1679 + istanbul-block-number = "1000000000000000000" + + # DAO fork configuration (Ethereum HF/Classic split) + # https://blog.ethereum.org/2016/07/20/hard-fork-completed/ + dao { + # DAO fork block number + fork-block-number = "1920000" + + # The hash of the accepted DAO fork block + fork-block-hash = "94365e3a8c0b35089c1d1195081fe7489b528a84b22199c916180db8b28ade7f" + + # Extra data to be put in fork block headers + block-extra-data = null + + # number of blocks to place extra data after fork + block-extra-data-range = 10 + + # Address to send funds when draining + refund-contract-address = null + + # List of accounts to be drained + drain-list = null + } + + # Starting nonce of an empty account. Some networks (like Morden) use different values. + account-start-nonce = "0" + + # The ID of the accepted chain + chain-id = "0x3d" + + # Custom genesis JSON file path + # null value indicates using default genesis definition that matches the main network + custom-genesis-file = null + + # Monetary policy parameters + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md + monetary-policy { + # Block reward in the first era + first-era-block-reward = "5000000000000000000" + + # Reduced block reward after Byzantium fork + first-era-reduced-block-reward = "3000000000000000000" + + # Reduced block reward after Constantinople fork + first-era-constantinople-reduced-block-reward = "2000000000000000000" + + # Monetary policy era duration in number of blocks + era-duration = 5000000 + + # Rate at which rewards get reduced in successive eras. + # Value in range [0.0, 1.0] + reward-reduction-rate = 0.2 + } + + # if 2 competing blocktree branches are equal in terms of total difficulty and this is set to true, then gas + # consumed in those branches will be used to resolve the tie + # this is currently only used in ETS blockchain tests + gas-tie-breaker = false + + # if true, account storage will use Ethereum-specific format for storing keys/value in MPT (32 byte) + # if false, generic storage for arbitrary length integers will be used + eth-compatible-storage = true + + # Set of initial nodes bootstrap-nodes = [] } diff --git a/src/main/resources/chains/testnet-internal-chain.conf b/src/main/resources/chains/testnet-internal-chain.conf index 95b45f2180..9f18a33c86 100644 --- a/src/main/resources/chains/testnet-internal-chain.conf +++ b/src/main/resources/chains/testnet-internal-chain.conf @@ -1,20 +1,126 @@ { - include "base-chain.conf" + # Ethereum network identifier: + # 1 - mainnet, 3 - ropsten, 7 - mordor + network-id = 42 + + # Frontier block number frontier-block-number = "0" + + # Homestead fork block number + # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md homestead-block-number = "0" + + # EIP-106 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/106 + eip106-block-number = "1000000000000000000" + + # EIP-150 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/150 eip150-block-number = "0" + + # EIP-155 fork block number + # Doc: https://github.com/ethereum/eips/issues/155 + # 3 000 000 following lead of existing clients implementation to maintain compatibility + # https://github.com/paritytech/parity/blob/b50fb71dd1d29dfde2a6c7e1830447cf30896c31/ethcore/res/ethereum/classic.json#L15 eip155-block-number = "0" + + # EIP-160 fork block number + # Doc: https://github.com/ethereum/EIPs/issues/160 eip160-block-number = "0" + + # EIP-161 fork block number (ETH Only) + # Doc: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-161.md + eip161-block-number = "1000000000000000000" + + # EIP-170 max code size (Enabled from Atlantis fork block number) + # Doc: https://github.com/ethereum/EIPs/issues/170 + # null value indicates there's no max code size for the contract code + # TODO improve this configuration format as currently it is not obvious that this is enabled only from some block number + max-code-size = "24576" + + # Difficulty bomb pause block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md difficulty-bomb-pause-block-number = "0" + + # Difficulty bomb continuation block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1010.md difficulty-bomb-continue-block-number = "0" + + # Difficulty bomb defusion block number + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1041.md difficulty-bomb-removal-block-number = "0" + + # Byzantium fork block number (ETH only) + # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-609.md + byzantium-block-number = "1000000000000000000" + + # Atlantis fork block number (ETC only) + # https://ecips.ethereumclassic.org/ECIPs/ecip-1054 atlantis-block-number = "0" + + # Agharta fork block number (ETC only) + # https://ecips.ethereumclassic.org/ECIPs/ecip-1056 agharta-block-number = "0" + + # Phoenix fork block number (ETC only) + # https://ecips.ethereumclassic.org/ECIPs/ecip-1088 phoenix-block-number = "0" + # Constantinople fork block number (ETH only) + # https://github.com/ethereum/pm/issues/53 + constantinople-block-number = "1000000000000000000" + + # Petersburg fork block number (ETH only) + # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1716.md + petersburg-block-number = "1000000000000000000" + + # Istanbul fork block number (ETH only) + # https://eips.ethereum.org/EIPS/eip-1679 + istanbul-block-number = "1000000000000000000" + + # DAO fork configuration (Ethereum HF/Classic split) + # https://blog.ethereum.org/2016/07/20/hard-fork-completed/ + dao = null + + # Starting nonce of an empty account. Some networks (like Morden) use different values. + account-start-nonce = "0" + + # The ID of the accepted chain chain-id = "0x2A" - network-id = 42 + + # Custom genesis JSON file path + # null value indicates using default genesis definition that matches the main network custom-genesis-file = "chains/testnet-internal-genesis.json" - dao = null + + # Monetary policy parameters + # Doc: https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md + monetary-policy { + # Block reward in the first era + first-era-block-reward = "5000000000000000000" + + # Reduced block reward after Byzantium fork + first-era-reduced-block-reward = "3000000000000000000" + + # Reduced block reward after Constantinople fork + first-era-constantinople-reduced-block-reward = "2000000000000000000" + + # Monetary policy era duration in number of blocks + era-duration = 5000000 + + # Rate at which rewards get reduced in successive eras. + # Value in range [0.0, 1.0] + reward-reduction-rate = 0.2 + } + + # if 2 competing blocktree branches are equal in terms of total difficulty and this is set to true, then gas + # consumed in those branches will be used to resolve the tie + # this is currently only used in ETS blockchain tests + gas-tie-breaker = false + + # if true, account storage will use Ethereum-specific format for storing keys/value in MPT (32 byte) + # if false, generic storage for arbitrary length integers will be used + eth-compatible-storage = true + + # Set of initial nodes bootstrap-nodes = [] } From c6ae3e75aa79698091ab344d2814c1a8d02f3c72 Mon Sep 17 00:00:00 2001 From: Nicolas Tallar Date: Tue, 22 Sep 2020 10:19:49 -0300 Subject: [PATCH 4/4] [ETCM-121] Make mantis-launcher executable --- src/universal/bin/mantis-launcher | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 src/universal/bin/mantis-launcher diff --git a/src/universal/bin/mantis-launcher b/src/universal/bin/mantis-launcher old mode 100644 new mode 100755