# ethereumj **Repository Path**: xwi88/chainj ## Basic Information - **Project Name**: ethereumj - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2016-12-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Welcome to ethereumj [![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/ethereum/ethereumj?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://travis-ci.org/ethereum/ethereumj.svg?branch=master)](https://travis-ci.org/ethereum/ethereumj) [![Coverage Status](https://coveralls.io/repos/ethereum/ethereumj/badge.png?branch=master)](https://coveralls.io/r/ethereum/ethereumj?branch=master) # About ethereumj is a pure-Java implementation of the Ethereum protocol. For high-level information about Ethereum and its goals, visit [ethereum.org](https://ethereum.org). The [ethereum white paper](https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-White-Paper) provides a complete conceptual overview, and the [yellow paper](http://gavwood.com/Paper.pdf) provides a formal definition of the protocol. # Check our blog http://ethereumj.io # Running EthereumJ ##### Adding as maven artifact to your project: ``` oss.jfrog.org Repository from Bintray http://dl.bintray.com/ethereum/maven org.ethereum ethereumj-core 1.3.9-RELEASE ``` or gradle: ``` repositories { maven {url "http://dl.bintray.com/ethereum/maven"} } compile ("org.ethereum:ethereumj-core:1.3.+") ``` As a starting point for your own project take a look at https://github.com/ether-camp/ethereumj.starter ##### Building an executable JAR ``` git clone https://github.com/ethereum/ethereumj cd ethereumj cp ethereumj-core/src/main/resources/ethereumj.conf ethereumj-core/src/main/resources/user.conf vim ethereumj-core/src/main/resources/user.conf # adjust user.conf to your needs ./gradlew clean shadowJar java -jar ethereumj-core/build/libs/ethereumj-core-*-all.jar ``` ##### Running from command line: ``` > git clone https://github.com/ethereum/ethereumj > cd ethereumj > ./gradlew run [-PmainClass=] ``` ##### Optional samples to try: ``` ./gradlew run -PmainClass=org.ethereum.samples.BasicSample ./gradlew run -PmainClass=org.ethereum.samples.FollowAccount ./gradlew run -PmainClass=org.ethereum.samples.PendingStateSample ./gradlew run -PmainClass=org.ethereum.samples.PriceFeedSample ./gradlew run -PmainClass=org.ethereum.samples.PrivateMinerSample ./gradlew run -PmainClass=org.ethereum.samples.TestNetSample ./gradlew run -PmainClass=org.ethereum.samples.TransactionBomb ``` ##### Importing project to IntelliJ IDEA: ``` > git clone https://github.com/ethereum/ethereumj > cd ethereumj > gradlew build ``` IDEA: * File -> New -> Project from existing sources… * Select ethereumj/build.gradle * Dialog “Import Project from gradle”: press “OK” * After building run either `org.ethereum.Start`, one of `org.ethereum.samples.*` or create your own main. # Configuring EthereumJ For reference on all existing options, their description and defaults you may refer to the default config `ethereumj.conf` (you may find it in either the library jar or in the source tree `ethereum-core/src/main/resources`) To override needed options you may use one of the following ways: * put your options to the `/config/ethereumj.conf` file * put `user.conf` to the root of your classpath (as a resource) * put your options to any file and supply it via `-Dethereumj.conf.file=` * programmatically by using `SystemProperties.CONFIG.override*()` * programmatically using by overriding Spring `SystemProperties` bean Note that don’t need to put all the options to your custom config, just those you want to override. # Contact Chat with us via [Gitter](https://gitter.im/ethereum/ethereumj) # License ethereumj is released under the [MIT license](LICENSE).