(a) Setting classic block to zero requires all blocks at zero to have the mainnet 1920000 hash. That will never happen. No clients will sync as long as this is in place
(b) a full sync fails
```
2019-11-18 10:46:51.301-07:00 | EthScheduler-Services-5 (importBlock) | WARN | MainnetBlockBodyValidator | Invalid block: state root mismatch (expected=0xb8df31366db4c4dd0076bc0ddaffdeceba6c882681108cc000db9bc5f85c300c, actual=0xf4344e62f031897ff61f9e02a465b3d13f983220f52f1e452690448dc366a2ee)
```
Probably a bug in besu code, but until that bug is sussed out we can't support mordor.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
Change the configuration name of "CustomForks" to "Transitions." This
will better reflect that this is a list of blocks where transition
events might happen. These may be more than forks, and mainnet is also
moving away from the name forks to "network upgrades." Transitions is
more general purpose.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* Remove publishing steps from Jenkins Build
We are moving to CircleCI for our primary CI/CD solution
Signed-off-by: Edward Evans <edward.joshua.evans@gmail.com>
* Enable circle publishing
Signed-off-by: Edward Evans <edward.joshua.evans@gmail.com>
It was identified that when both KV_ROCKSDB metrics and Privacy were enabled,
that Besu failed to start due to a naming collision in Metrics Collators - this was ultimately due to Besu having 2 keyvalue stores - one for public state, and another for private state - and _both_ using the same metrics.
To overcome this issue, the metrics used in the private kv store are prefixed with the word "private".
Signed-off-by: Trent Mohay <trent.mohay@consensys.net>
* Multi-Tenancy: Do not specify a public key anymore when requesting a payload from Orion, so all private keys are tried to decrypt the encrypted payload.
Signed-off-by: Stefan Pingel <stefan.pingel@consensys.net>
* updates to circle building acceptance tests
* added in a testDocker gradle target to test the docker image
Signed-off-by: Joshua Fernandes <joshua.fernandes@consensys.net>
This PR introduces support for the Gotham fork on the Ethereum Classic Network including:
ECIP-1017: Monetary Policy and Final Modification to the Ethereum Classic Emission Schedule
ECIP 1039: Monetary policy rounding specification
ECIP 1041: Remove Difficulty Bomb
Signed-off-by: edwardmack <ed@edwardmack.com>
Add support for external GPU mining via the stratum protocol.
Three new CLI Options support this: `--miner-stratum-enabled`,
`--miner-stratum-host`, and `--miner-stratum-port`.
To use stratum first use the `--miner-enabled` option and add the
`--miner-stratum-enabled` option. This disables local CPU mining and opens up
a stratum server, configurable via `--miner-stratum-host` (default is
`0.0.0.0`) and `--miner-stratum-port` (default is 8008). This server supports
`stratum+tcp` mining and the JSON-RPC services (if enabled) will support the
`eth_getWork` and `eth_submitWork` calls as well (supporting `getwork` or
`http` schemes).
This is known to work with ethminer.
Signed-off-by: Antoine Toulme <antoine@lunar-ocean.com>
This change allows a user to specify a list of address which are
to become validators in an IBFT2 network at a specific block number.
This has required extending the VoteTallyCache, and also added a new
"CustomForks" section to the genesis file.
At the moment only validators are able to be changed, however the
framework now exists for future modifications to be defined that
affect the behaviour of the system "outside" of traditional Ethereum
milestones.
Signed-off-by: Trent Mohay <trent.mohay@consensys.net>
* Stop circle publishing - We cannot publish from both Jenkins and CircleCI. This is so that we do not have both CircleCI and Jenkins attempting to publish release artefacts
* Correctly comment out the publish workflow jobs
Signed-off-by: Edward Evans <edward.joshua.evans@gmail.com>
Upgrade Gradle to 6.0.
* This is needed as Gradle 5.x did not support Java 13
* Jacoco needed a version upgrade to support Java 13
* Upgrade Errorprone to fix some breaks
* Another Errorprone check is broken in 13
* The 'Finally' Errorprone check is only broken in Java 12
* JMH needed a version upgrade and a new build flag
* Switch to bin distribution for smaller builds
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
EF's testing team published the first version of the 7.0.0 reference tests.
* Update some blacklist patterns to catch all future fork names
* Ignore a new "postStateHash" json property
* Ignore test randomStatetest94 as it is too memory heavy to run in parallel
* Update file pattern as a stray test sits alone in one directory
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
This includes code to address reading config for classic network and
kotti test network.
ClassicForkPeerValidator checks peers at classicForkBlock (same as Dao
Fork Block) and connects with peers that did not do the Dao Fork and
continued on the classic network.
Signed-off-by: edwardmack <ed@edwardmack.com>
* PIE-2016: Added PoaQueryService method that returns local node signer address.
Signed-off-by: Mark Terry <mark.terry@consensys.net>
* [PIE-2016] PR fixes.
Signed-off-by: Mark Terry <mark.terry@consensys.net>
Support the "--identity" flag. This adds a fifth field to the normally
four part clientId, with the identity in the second position.
For example, if the CLI flag "--identity PegaSysEng" were passed in the
clientID reported by ethernodes would read
`besu/PegaSysEng/v1.3.2/linux-x86_64/oracle_openjdk-java-11`
Whereas without the flag it would just read
`besu/v1.3.2/linux-x86_64/oracle_openjdk-java-11`
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
The IbftQueryService has been added to the Plugin-api, along with an implementation.
This allows IBFT specific aspects of a block header to be queried (round number, and signers in block).
Signed-off-by: Trent Mohay <trent.mohay@consensys.net>
When setting the p2p port to zero and turning on UPNP nat an attempt is
made to map port zero. This should actually map the opened port
instead.
The core logic is also now set up to throw an exception if a zero local
port is requested.
Signed-off-by: Danno Ferrin <danno.ferrin@gmail.com>
* Rework how filter and log query parameters are created/used
We used a `FilterParameter` that held strings in places where we could
create strongly typed objects. We also used it in places where we only
wanted a subset of its descriptiveness, namely, the `LogsQuery` part of
it.
* deserialize directly into `LogsQuery`, which is useful for log pub/sub
* narrow uses of `FilterParameter` to `LogsQuery` where possible
* make `FilterParameter` hold strongly typed `Address`s and `LogTopic`s
Signed-off-by: Ratan Rai Sur <ratan.r.sur@gmail.com>
Fixed check-license to use root project's build dir property instead of relative path which resolves to user.dir.
Signed-off-by: Usman Saleem <usman@usmans.info>
Rename eea_getTransactionCount to priv_getEeaTransactionCount
Signed-off-by: Stefan Pingel <stefan.pingel@consensys.net>
Signed-off-by: Jason Frame <jasonwframe@gmail.com>