* Added docker quickstart test
- quickstart folder is now a module
- added junit tests that runs the bash scripts
- added new gradle task for testing quickstart scripts
- added jenkinsfile step for the gradle task
- switched the build image to one with docker in it
- split into nodes and docker env
- parallel jobs
- modified host usage in bash scripts to take the docker-in-docker architecture in account
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* [minor] distribution tweaks
* the 'pantheon:client' project is empty, and results in an empty jar, delete
* clique hard codes a version, delete so the parent takes effect
* clique does not describe it's jar, add description
* evmtools does not describe it's jar, add description.
results in
* clique-1.0.0-SNAPSHOT -> pantheon-clique-0.8.0-RC
* evmtools-0.8.0-SNAPSHOT -> pantheon-evmtools-0.8.0-RC
* client-0.8.0-SNAPSHOT -> *deleted*
* spotless formatting on the gradle file
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* Upgrade ethereum reference tests
* Add support for sealEngine: NoProof by skipping PoW validation for ommer headers as well. Production code continues to always use full validation for ommers.
* Add Constantinople to reference test schedules ready for when we enable Constantinople tests.
* Blacklist the new reference tests that are failing while we investigate them.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* Introduce MessageFrameTestFixture to make it easier to test EVM operations.
* Add unit tests for BlockHashOperation.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* Release plugin and rework of the Bintray plugin in Gradle, in-code ignoring tests that were being ignored at runtime on the CI.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
With the advent of Clique, some JSON RPCs pertaining to mining are
no longer going to produce appropriate results.
The Get/Set coinbase RPCs cannot affect a Clique based miner, as such
the miner throws an "Unsupported Operation" exception. The JSON
handler is responsible for catching this, and returning an
appropriate error code.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
On the transition to the EthHash/Clique Mining Coordinator a change
was lost whereby the EthHashMiningCoordinator is to capture the
current Hashrate on cancellation of a mining operation.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
- Remove custom Rocksdbjni and use upgraded version from rocksdb
- Remove custom picocli lib and use the upgraded version from pico
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* [NC-1685] Fix BlockHashOperation so it handles blocks being added on forks and gets the hash of the block at the requested number on that fork rather than on the current canonical chain.
* [NC-1644] Cache block hashes across all transactions in a block.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* NC-1026 Make Framer#frame Throw on Excessively Large messages
Note that this is
* NC-1026 Make Framer#frame Throw on Excessively Large messages
It is impossible to receive an uncompressed message < 16MiB because the length field in the header is 3 bytes. So this test will never pass.
* NC-1026 Make Framer#frame Throw on Excessively Large messages
review changes
* NC-1026 Make Framer#frame Throw on Excessively Large messages
Missed change in exception type. Added Null uncompressedLength test.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* comment out the @Option annotation
* eliminate syncModeOptionMustBeUsed
* update to OverrideDefaultValuesIfKeyIsPresentInConfigFile
* unify on comment out approach
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
The MiningCoordinator has been split into common, and ethhash
specific funcationality.
This adversely affects the JSON RPC, in that all mining related
RPCs are now generic based on the type of miner being used.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
This commit adds the clique specific implementation of the Miner
executor.
It is responsible for starting a clique mining operation when
requested. It also supplies the functionality to blend vanity data
with validator data etc. in the extra data field.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
The EthHashMinerExecutor is comprised of both EthHash specific
functions as well as common functions which will be useful to other
consensus mechanisms.
As such the common functionality has been extracted to a parent class,
leaving ethhash specific functionality in the child.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
Responsible for mining a block if the local node address
is a validator, and has not recently mined a block.
This has necessitated a slight rework of helper functions,
and shuffling of tests.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
The EthHashBlockMiner contains both the generic mining capabilities
and the EthHash JSON specific API.
The generic capabilities have been extracted into a base class which
can be reused for Clique (or other) consensus mechanisms.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>