Implementation of the Ethereum 2.0 Beacon Chain.
Based on the (evolving) specification.
NOTE: This repo is still in early development.
To build, clone this repo and run with gradle
like so:
git clone --recursive https://github.com/PegaSysEng/artemis.git
cd artemis
./gradlew
After a successful build, distribution packages will be available in build/distributions
.
We use Google's Java coding conventions for the project. To reformat code, run:
./gradlew spotlessApply
Code style will be checked automatically during a build.
All the unit tests are run as part of the build, but can be explicitly triggered with:
./gradlew test
The integration tests can be triggered with:
./gradlew integrationTest
To view the run menu:
$ ./gradlew run --args='-h'
Usage: Artemis [-hpV] [-l=<LOG VERBOSITY LEVEL>]
-h, --help Show this help message and exit.
-l, --logging=<LOG VERBOSITY LEVEL> Logging verbosity levels: OFF, FATAL, WARN, INFO, DEBUG, TRACE, ALL (default: INFO).
-p, --PoWChainServiceDisabled If this option is enabled then the PoW Chain service is disabled.
-V, --version Print version information and exit.
You can run the executable from the CLI with this command:
./gradlew run
To run and send formatted output to a json file
$ ./gradlew run --args='-p=JSON -o=artemis.json'
NOTE: If no -p isn't provided then it defaults to JSON
To run and send formatted output to a csv file
$ ./gradlew run --args='-p=CSV -o=artemis.csv'
To run with loggin level set to ALL
$ ./gradlew run --args='-l=ALL'