* remove the import-blockchain command. Right now it's not useful
enough to support. Maybe it will return in the future.
* Remove the import-blockchain command.
Also remove BlockchainImporter that was backing the command.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* Introduce classes to wrap JSON config instead of accessing it directly in multiple places.
* Fix discrepancy in how CliqueProtocolSchedule and CliquePantheonController loaded the block period configuration.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
We create our own instance of Clock. However the java.time.Clock
provides what is needed and already exists on the platform.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* Introduce createInMemoryBlockchain test utility and use it everywhere appropriate.
* Inject BlockchainStorage into DefaultMutableBlockchain.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
Replace explicit usages of RocksDbKeyValueStorage with the more generic but now just as capable KeyValueStorage.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
* Fix default values for rpc-api and ws-api in --help output. Use ws-api values from the command line instead of always using the rpc apis.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
Previously the getMiningCoordinator() function on the
CliquePantheonController returned 'null' as a stub.
In order for the JSON RPC to operate correctly this function needs
to return the mining coordinator created during PantheonController
initialisation - which is the change introduced through this commit.
Signed-off-by: Adrian Sutton <adrian.sutton@consensys.net>
The Ibft consensus mechanism is responsible for sending a variety of
messages to other validating nodes in the network (provided they have
a point-to-point connection to them).
This change tracks which nodes have connected to the IBFT
subprotocol, and provides the functionality to only transmit messages
to nodes which are also validators.
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>
- 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>
* 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>