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

Commit 7f55db5

Browse files
committed
Merge branch 'develop'
2 parents de97ee3 + afaa437 commit 7f55db5

File tree

212 files changed

+9854
-5026
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

212 files changed

+9854
-5026
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ target/
2727

2828
# Output
2929
database*
30+
out
3031
logs
3132
test_db*
3233
testnetSampleDb
@@ -41,3 +42,6 @@ sampleDB*
4142
**/test-user.conf
4243
**/out.log
4344
**/user.log4j.properties
45+
46+
# jenv
47+
.java-version

README.md

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@
77

88

99
# About
10-
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.
10+
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.
1111

12-
# Check our blog
13-
http://ethereumj.io
12+
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).
1413

1514
# Running EthereumJ
1615

@@ -20,7 +19,7 @@ http://ethereumj.io
2019
<dependency>
2120
<groupId>org.ethereum</groupId>
2221
<artifactId>ethereumj-core</artifactId>
23-
<version>1.5.0-RELEASE</version>
22+
<version>1.6.3-RELEASE</version>
2423
</dependency>
2524
```
2625

@@ -29,8 +28,10 @@ http://ethereumj.io
2928
```
3029
repositories {
3130
mavenCentral()
31+
jcenter()
32+
maven { url "https://dl.bintray.com/ethereum/maven/" }
3233
}
33-
compile "org.ethereum:ethereumj-core:1.5.+"
34+
compile "org.ethereum:ethereumj-core:1.6.+"
3435
```
3536

3637
As a starting point for your own project take a look at https://github.com/ether-camp/ethereumj.starter
@@ -86,6 +87,17 @@ To override needed options you may use one of the following ways:
8687
* programmatically using by overriding Spring `SystemProperties` bean
8788

8889
Note that don’t need to put all the options to your custom config, just those you want to override.
90+
91+
# Special thanks
92+
YourKit for providing us with their nice profiler absolutely for free.
93+
94+
YourKit supports open source projects with its full-featured Java Profiler.
95+
YourKit, LLC is the creator of <a href="https://www.yourkit.com/java/profiler/">YourKit Java Profiler</a>
96+
and <a href="https://www.yourkit.com/.net/profiler/">YourKit .NET Profiler</a>,
97+
innovative and intelligent tools for profiling Java and .NET applications.
98+
99+
![YourKit Logo](https://www.yourkit.com/images/yklogo.png)
100+
89101
# Contact
90102
Chat with us via [Gitter](https://gitter.im/ethereum/ethereumj)
91103

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
wrapper.gradleVersion = '2.14.1'
1+
wrapper.gradleVersion = '4.6'
22

33
allprojects {
44
apply plugin: 'eclipse'

circle.yml

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,19 @@ dependencies:
1212
- for img in `ls ~/.docker`; do docker load -i ~/.docker/$img; done
1313

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

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

3838
# Run hive and move all generated logs into the public artifacts folder
39-
- (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):
39+
- (cd ~/.go_workspace/src/github.com/karalabe/hive && hive --docker-noshell --client=ethereumj:local --override=$HOME/harmony.ether.camp.tar --smoke --loglevel=3):
4040
timeout: 4000
41-
- cp -r ~/.go_workspace/src/github.com/ether-camp/hive/workspace/logs/* $CIRCLE_ARTIFACTS
41+
- (cd ~/.go_workspace/src/github.com/karalabe/hive && hive --docker-noshell --client=ethereumj:local --override=$HOME/harmony.ether.camp.tar --test=. --loglevel=3):
42+
timeout: 4000
43+
- cp -r ~/.go_workspace/src/github.com/karalabe/hive/workspace/logs/* $CIRCLE_ARTIFACTS
4244

ethereumj-core/build.gradle

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ import java.text.SimpleDateFormat
33
buildscript {
44
repositories {
55
jcenter()
6-
maven { url 'http://repo.spring.io/plugins-release-local' }
6+
maven { url 'http://repo.spring.io/plugins-release' }
77
}
88
dependencies {
9-
classpath 'org.springframework.build.gradle:propdeps-plugin:0.0.7'
9+
classpath 'io.spring.gradle:propdeps-plugin:0.0.9.RELEASE'
1010
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:3.0.1'
1111
}
1212
}
@@ -15,18 +15,17 @@ buildscript {
1515
plugins {
1616
id 'application'
1717
id 'jacoco'
18-
id 'com.github.johnrengelman.shadow' version '1.2.3'
1918
id 'com.github.kt3k.coveralls' version '2.6.3'
2019
id 'com.jfrog.bintray' version '1.0'
2120
}
2221

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

26-
sourceCompatibility = 1.7
25+
sourceCompatibility = 1.8
2726

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

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

48-
task runMorden (type: JavaExec) {
49-
main = mainClassName
50-
classpath = sourceSets.main.runtimeClasspath
51-
jvmArgs = applicationDefaultJvmArgs + '-Dethereumj.conf.res=morden.conf'
52-
}
53-
5447
task runRopsten (type: JavaExec) {
5548
main = mainClassName
5649
classpath = sourceSets.main.runtimeClasspath
@@ -100,6 +93,8 @@ test {
10093
exceptionFormat "short"
10194
}
10295

96+
systemProperties System.properties
97+
systemProperty "user.dir", workingDir
10398
systemProperty "file.encoding", "UTF-8"
10499
}
105100

@@ -121,7 +116,9 @@ dependencies {
121116

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

124-
compile "org.ethereum:solcJ-all:0.4.8" // Solidity Compiler win/mac/linux binaries
119+
compile "org.ethereum:rocksdbjni:5.9.2" // RocksDB Java API
120+
121+
compile "org.ethereum:solcJ-all:0.4.19" // Solidity Compiler win/mac/linux binaries
125122

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

143+
compile "org.xerial.snappy:snappy-java:1.1.4" // Snappy compression
144+
146145
// used to hide spring initialization logs messages in samples
147146
optional "org.slf4j:jcl-over-slf4j:${slf4jVersion}"
148147

@@ -159,7 +158,7 @@ javadoc {
159158
options.addStringOption('-quiet')
160159
options.encoding = "UTF-8"
161160
options.links(
162-
"http://docs.oracle.com/javase/7/docs/api/",
161+
"http://docs.oracle.com/javase/8/docs/api/",
163162
"http://netty.io/4.0/api/"
164163
)
165164
}
@@ -299,6 +298,24 @@ def customizePom(pom, gradleProject) {
299298
name = "Roman Mandeleil"
300299
301300
}
301+
302+
developer {
303+
id = "Nashatyrev"
304+
name = "Anton Nashatyrev"
305+
306+
}
307+
308+
developer {
309+
id = "zilm13"
310+
name = "Dmitry Shmatko"
311+
312+
}
313+
314+
developer {
315+
id = "mkalinin"
316+
name = "Mikhail Kalinin"
317+
318+
}
302319
}
303320
issueManagement {
304321
system = "GitHub Issues"

0 commit comments

Comments
 (0)