Skip to content
This repository has been archived by the owner on Dec 5, 2024. It is now read-only.

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
mkalinin committed Mar 21, 2018
2 parents de97ee3 + afaa437 commit 7f55db5
Show file tree
Hide file tree
Showing 212 changed files with 9,854 additions and 5,026 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ target/

# Output
database*
out
logs
test_db*
testnetSampleDb
Expand All @@ -41,3 +42,6 @@ sampleDB*
**/test-user.conf
**/out.log
**/user.log4j.properties

# jenv
.java-version
22 changes: 17 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,9 @@


# 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/White-Paper) provides a complete conceptual overview, and the [yellow paper](http://gavwood.com/Paper.pdf) provides a formal definition of the protocol.
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/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
We keep EthereumJ as thin as possible. For [JSON-RPC](https://github.com/ethereum/wiki/wiki/JSON-RPC) support and other client features check [Ethereum Harmony](https://github.com/ether-camp/ethereum-harmony).

# Running EthereumJ

Expand All @@ -20,7 +19,7 @@ http://ethereumj.io
<dependency>
<groupId>org.ethereum</groupId>
<artifactId>ethereumj-core</artifactId>
<version>1.5.0-RELEASE</version>
<version>1.6.3-RELEASE</version>
</dependency>
```

Expand All @@ -29,8 +28,10 @@ http://ethereumj.io
```
repositories {
mavenCentral()
jcenter()
maven { url "https://dl.bintray.com/ethereum/maven/" }
}
compile "org.ethereum:ethereumj-core:1.5.+"
compile "org.ethereum:ethereumj-core:1.6.+"
```

As a starting point for your own project take a look at https://github.com/ether-camp/ethereumj.starter
Expand Down Expand Up @@ -86,6 +87,17 @@ To override needed options you may use one of the following ways:
* 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.

# Special thanks
YourKit for providing us with their nice profiler absolutely for free.

YourKit supports open source projects with its full-featured Java Profiler.
YourKit, LLC is the creator of <a href="https://www.yourkit.com/java/profiler/">YourKit Java Profiler</a>
and <a href="https://www.yourkit.com/.net/profiler/">YourKit .NET Profiler</a>,
innovative and intelligent tools for profiling Java and .NET applications.

![YourKit Logo](https://www.yourkit.com/images/yklogo.png)

# Contact
Chat with us via [Gitter](https://gitter.im/ethereum/ethereumj)

Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
wrapper.gradleVersion = '2.14.1'
wrapper.gradleVersion = '4.6'

allprojects {
apply plugin: 'eclipse'
Expand Down
24 changes: 13 additions & 11 deletions circle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,19 @@ dependencies:
- for img in `ls ~/.docker`; do docker load -i ~/.docker/$img; done

# Pull in and hive, restore cached ethash DAGs and do a dry run
- go get -u github.com/ether-camp/hive
- (cd ~/.go_workspace/src/github.com/ether-camp/hive && mkdir -p workspace/ethash/ ~/.ethash)
- (cd ~/.go_workspace/src/github.com/ether-camp/hive && cp -r ~/.ethash/. workspace/ethash/)
- (cd ~/.go_workspace/src/github.com/ether-camp/hive && hive --docker-noshell --client=NONE --test=. --sim=. --loglevel=6)
- go get -u github.com/karalabe/hive
- (cd ~/.go_workspace/src/github.com/karalabe/hive && mkdir -p workspace/ethash/ ~/.ethash)
- (cd ~/.go_workspace/src/github.com/karalabe/hive && cp -r ~/.ethash/. workspace/ethash/)
- (cd ~/.go_workspace/src/github.com/karalabe/hive && hive --docker-noshell --client=NONE --test=. --sim=. --loglevel=6)
# Generating DAG
- (cd ~/ethereumj && ./gradlew run -PmainClass=org.ethereum.Start -PjvmArgs="-Dethash.dir=~/.go_workspace/src/github.com/karalabe/hive/workspace/ethash -Dethash.blockNumber=0 -Xmx2G")
# timeout 20 min
- (cd ~/.go_workspace/src/github.com/ether-camp/hive && hive --docker-noshell --client=ethereumj:local --test=NONE --sim=NONE --loglevel=6):
- (cd ~/.go_workspace/src/github.com/karalabe/hive && hive --docker-noshell --client=ethereumj:local --test=NONE --sim=NONE --loglevel=6):
timeout: 1200

# Cache all the docker images and the ethash DAGs
- for img in `docker images | grep -v "^<none>" | tail -n +2 | awk '{print $1}'`; do docker save $img > ~/.docker/`echo $img | tr '/' ':'`.tar; done
- cp -r ~/.go_workspace/src/github.com/ether-camp/hive/workspace/ethash/. ~/.ethash
- cp -r ~/.go_workspace/src/github.com/karalabe/hive/workspace/ethash/. ~/.ethash
# Cache gradle artifacts
- (cd ~/ethereumj && ./gradlew compileJava)
- (cd ~ && git clone --depth 1 -b develop https://github.com/ether-camp/ethereum-harmony.git)
Expand All @@ -31,12 +33,12 @@ dependencies:
test:
override:
# Build app and move into a known folder
- (cd ~/ethereumj && ./gradlew install -x test)
- (cd ~/ethereum-harmony && ./gradlew stage -x test -PuseMavenLocal)
- cp ~/ethereum-harmony/build/distributions/harmony.ether.camp.tar ~/harmony.ether.camp.tar
- (cd ~/.go_workspace/src/github.com/karalabe/hive/clients/ethereumj\:local && ./build.sh ~/ethereumj ~/ethereum-harmony ~)

# Run hive and move all generated logs into the public artifacts folder
- (cd ~/.go_workspace/src/github.com/ether-camp/hive && hive --docker-noshell=true --client=ethereumj:local --override=$HOME/harmony.ether.camp.tar --test=. --sim=dao-hard-fork --loglevel=3):
- (cd ~/.go_workspace/src/github.com/karalabe/hive && hive --docker-noshell --client=ethereumj:local --override=$HOME/harmony.ether.camp.tar --smoke --loglevel=3):
timeout: 4000
- cp -r ~/.go_workspace/src/github.com/ether-camp/hive/workspace/logs/* $CIRCLE_ARTIFACTS
- (cd ~/.go_workspace/src/github.com/karalabe/hive && hive --docker-noshell --client=ethereumj:local --override=$HOME/harmony.ether.camp.tar --test=. --loglevel=3):
timeout: 4000
- cp -r ~/.go_workspace/src/github.com/karalabe/hive/workspace/logs/* $CIRCLE_ARTIFACTS

43 changes: 30 additions & 13 deletions ethereumj-core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ import java.text.SimpleDateFormat
buildscript {
repositories {
jcenter()
maven { url 'http://repo.spring.io/plugins-release-local' }
maven { url 'http://repo.spring.io/plugins-release' }
}
dependencies {
classpath 'org.springframework.build.gradle:propdeps-plugin:0.0.7'
classpath 'io.spring.gradle:propdeps-plugin:0.0.9.RELEASE'
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:3.0.1'
}
}
Expand All @@ -15,18 +15,17 @@ buildscript {
plugins {
id 'application'
id 'jacoco'
id 'com.github.johnrengelman.shadow' version '1.2.3'
id 'com.github.kt3k.coveralls' version '2.6.3'
id 'com.jfrog.bintray' version '1.0'
}

apply plugin: 'propdeps-maven'
apply plugin: 'com.jfrog.artifactory-upload'

sourceCompatibility = 1.7
sourceCompatibility = 1.8

mainClassName = 'org.ethereum.Start'
applicationDefaultJvmArgs = ["-server", "-Xss4m", "-Xmx2G", "-XX:-OmitStackTraceInFastThrow"]
applicationDefaultJvmArgs = ["-server", "-Xss2m", "-Xmx2G", "-XX:-OmitStackTraceInFastThrow"]

if ( project.hasProperty('jvmArgs') ) {
applicationDefaultJvmArgs = applicationDefaultJvmArgs + project.jvmArgs.split('\\s+').toList()
Expand All @@ -45,12 +44,6 @@ tasks.withType(JavaCompile){
options.warnings = false
}

task runMorden (type: JavaExec) {
main = mainClassName
classpath = sourceSets.main.runtimeClasspath
jvmArgs = applicationDefaultJvmArgs + '-Dethereumj.conf.res=morden.conf'
}

task runRopsten (type: JavaExec) {
main = mainClassName
classpath = sourceSets.main.runtimeClasspath
Expand Down Expand Up @@ -100,6 +93,8 @@ test {
exceptionFormat "short"
}

systemProperties System.properties
systemProperty "user.dir", workingDir
systemProperty "file.encoding", "UTF-8"
}

Expand All @@ -121,7 +116,9 @@ dependencies {

compile "org.ethereum:leveldbjni-all:1.18.3" // native leveldb components

compile "org.ethereum:solcJ-all:0.4.8" // Solidity Compiler win/mac/linux binaries
compile "org.ethereum:rocksdbjni:5.9.2" // RocksDB Java API

compile "org.ethereum:solcJ-all:0.4.19" // Solidity Compiler win/mac/linux binaries

compile "com.cedarsoftware:java-util:1.8.0" // for deep equals
compile "org.javassist:javassist:3.15.0-GA"
Expand All @@ -143,6 +140,8 @@ dependencies {
exclude group: 'junit', module: 'junit'
}

compile "org.xerial.snappy:snappy-java:1.1.4" // Snappy compression

// used to hide spring initialization logs messages in samples
optional "org.slf4j:jcl-over-slf4j:${slf4jVersion}"

Expand All @@ -159,7 +158,7 @@ javadoc {
options.addStringOption('-quiet')
options.encoding = "UTF-8"
options.links(
"http://docs.oracle.com/javase/7/docs/api/",
"http://docs.oracle.com/javase/8/docs/api/",
"http://netty.io/4.0/api/"
)
}
Expand Down Expand Up @@ -299,6 +298,24 @@ def customizePom(pom, gradleProject) {
name = "Roman Mandeleil"
email = "[email protected]"
}

developer {
id = "Nashatyrev"
name = "Anton Nashatyrev"
email = "[email protected]"
}

developer {
id = "zilm13"
name = "Dmitry Shmatko"
email = "[email protected]"
}

developer {
id = "mkalinin"
name = "Mikhail Kalinin"
email = "[email protected]"
}
}
issueManagement {
system = "GitHub Issues"
Expand Down
Loading

0 comments on commit 7f55db5

Please sign in to comment.