运行java版以太坊ethereumj

半兽人 发表于: 2018-02-06   最后更新时间: 2019-11-22 22:21:07  
{{totalSubscript}} 订阅, 8,373 游览

克隆ethereumj源代码到本地

git clone https://github.com/ethereum/ethereumj.git

安装gradle

  1. 将gradle-3.0-all.zip文件解压缩到某一个目录,比如:D:\dev\gradle-3.0
  2. 新建系统变量:GRADLE_HOME,指向gradle的安装目录
  3. %GRADLE_HOME%\bin追加到PATH后面,记得加上分号(;): ;%GRADLE_HOME%\bin

启动ethereumj

通过命令行方式启动

  1. 进入源代码所在目录,比如:D:\blockchain\ethereumj
  2. 执行gradlew clean shadowJar编译源代码
  3. 编译成功后执行如下命令启动:

     java -jar ethereumj-core/build/libs/ethereumj-core-1.3.0-SNAPSHOT-all.jar
    
  4. 默认启动会连接到以太坊公共测试链网络,可以通过将项目配置文件ethereumj-core/src/main/resources/ethereumj.conf复制并重名为user.conf,修改其中的配置连接到你自己的私有链网络。

使用Eclipse导入并启动项目

  1. 通过Eclipse Marketplace下载Gradle插件

    a. 打开eclipse,从Help中选择Eclipse Marketplace

    b. 搜索Gradle并找到Buildship,点击Install安装插件

  2. 插件安装成功并重启eclipse,选择File->Import->Gradle->Gradle Project,指定源代码所在的路径,点击Finish,成功导入项目

  3. 在eclipse中启动, 选中需要执行的类org.ethereum.Start,点击鼠标右键出现菜单选择:Run As ->Java Application

*使用此方式启动项目取不到编译信息,需要修改org.ethereum.util.BuildInfo.java,将第28行的IOException改为`Exception

更新于 2019-11-22

volcano 3年前

大佬有个很重要的问题想问下,这个源码里有实现poa吗?(因为go版本的实现了)然后还想问下,这个共识算法有没有实现接口,就是用它实现别的共识算法??这个很重要!拜托大佬!

半兽人 -> volcano 3年前

没,只有pow。
新的以太坊,居然转成poa,这相当于根都变了。

volcano 3年前
def config = new ConfigSlurper().parse(new File("$projectDir/src/main/resources/version.properties").toURI().toURL())
Cannot run program "git": CreateProcess error=2,

系统找不到指定的文件。
大佬,我在IDEA导入项目后出现了如上错误,说找不到这个文件,但是这个目录里是有这个文件的。。。求大神指点!

volcano -> volcano 3年前

我把ethereumj项目导入IDEA后,gradle的时候出现了大量

Could not resolve org.ethereum:rocksdbjni:5.9.2.,Could not resolve org.ethereum:solcJ-all:0.4.25.,Could not resolve all files for configuration ':ethereumj-core:compile'.

的错误,不知道咋整~求大神帮忙看看

半兽人 -> volcano 3年前

gradle没把包拉下来,按照错误一个一个解决。

volcano -> 半兽人 3年前

感谢回复。我把原来spring的源换成了阿里云额,但是仍有错误,

Could not GET 'https://dl.bintray.com/ethereum/maven/org/ethereum/rocksdbjni/5.9.2/rocksdbjni-5.9.2.pom'. Received status code 403 from server: Forbidden。

不知道这个bintray的仓库镜像源是啥??真的很急!整了一天了,试了好多都不行。没多少人会的。求大神指点!超级感谢!

半兽人 -> volcano 3年前

你可以手动拉取到本地呀。
https://mvnrepository.com/artifact/org.rocksdb/rocksdbjni/5.9.2

ps: 有时候本地由于网络问题,导致是错误的,你要先手动删除,在重新拉取,如果不行,就手动拉取到本地。

volcano -> 半兽人 3年前

rocksdb不报错了,solcJ-all的gradle的那个导包不好使,因为solcJ-all这个的位置还是在(https://dl.bintray.com/ethereum/maven/)

我点击jar下载,也是forbidden无法下载到本地,https://dl.bintray.com/ethereum/maven/ 添加这个仓库也不行。。。哭了

半兽人 -> volcano 3年前

加油,学海无涯苦作粥

查看ethereumj更多相关的文章或提一个关于ethereumj的问题,也可以与我们一起分享文章