EthereumJ是以太坊协议的纯Java实现。有关以太坊及其目标的高级信息,请访问ethereum.org,其 白皮书 提供了一个完整的概念的概述,和 黄皮书 一起提供了协议的正式定义。
我们尽可能保持EthereumJ简单。对于JSON-RPC支持和其他客户端功能,请看 Ethereum Harmony 。
<dependency> <groupId>org.ethereum</groupId> <artifactId>ethereumj-core</artifactId> <version>1.8.1-RELEASE</version> </dependency>
repositories { mavenCentral() jcenter() maven { url "https://dl.bintray.com/ethereum/maven/" } } compile "org.ethereum:ethereumj-core:1.8.+"
作为你项目的起点,任何一个项目都可以以下列方式启动:
git clone https://github.com/ether-camp/ethereumj.starter ./gradlew run
检查你的本地区块链如何同步使用:
curl -w "/n" -X GET http://localhost:8080/bestBlock
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 fatJar java -jar ethereumj-core/build/libs/ethereumj-core-*-all.jar
> git clone https://github.com/ethereum/ethereumj > cd ethereumj > ./gradlew run [-PmainClass=<sample class>]
./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
请注意,快照不稳定,目前正在开发中!如果你还想尝试一下:
org.ethereum:ethereumj-core:${VERSION}
, ${VERSION}
位置的值是 1.9.0-SNAPSHOT
。 示例如下:
<repository> <id>jfrog-snapshots</id> <name>oss.jfrog.org</name> <url>https://oss.jfrog.org/libs-snapshot/</url> <snapshots><enabled>true</enabled></snapshots> </repository> <!-- ... --> <dependency> <groupId>org.ethereum</groupId> <artifactId>ethereumj-core</artifactId> <version>1.9.0-SNAPSHOT</version> </dependency>
> git clone https://github.com/ethereum/ethereumj > cd ethereumj > gradlew build
IDEA:
org.ethereum.Start
, org.ethereum.samples.*
之一或创建自己的主程序。
有关所有现有选项,其描述和默认值的参考,你可以参考默认配置 ethereumj.conf
(你可以在jar库或源代码 ethereum-core/src/main/resources
目录中找到它),要重新设置所需的选项,你可以使用以下方法之一:
<working dir>/config/ethereumj.conf user.conf -Dethereumj.conf.file=<your config> SystemProperties.CONFIG.override*() SystemPropertiesbean
请注意,不需要将所有选项都放在自定义配置中,只需要放置你需要修改的那些选项。
如果你希望尽快的使用java开始以太坊的开发,可以选择web3j类库,它封装实现了绝大部分web3的功能,十分好用:
java以太坊教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
另外分享下之前其他语言的以太坊课程链接:
汇智网原创翻译,转载请标明出处。这里是 原文