EthereumJ是以太坊协议的纯Java实现。有关以太坊及其目标的高级信息,请访问ethereum.org,其白皮书提供了一个完整的概念的概述,和黄皮书一起提供了协议的正式定义。
我们尽可能保持EthereumJ简单。对于JSON-RPC支持和其他客户端功能,请看Ethereum Harmony。
运行EthereumJ
作为依赖项添加到Maven项目:
<dependency>
<groupId>org.ethereum</groupId>
<artifactId>ethereumj-core</artifactId>
<version>1.8.1-RELEASE</version>
</dependency>
或者你的Gradle项目:
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
构建可执行的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 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
快照构建
请注意,快照不稳定,目前正在开发中!如果你还想尝试一下:
- 将https://oss.jfrog.org/libs-snapshot/添加为构建脚本的存储库。
- 添加依赖项
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>
将项目导入IntelliJ IDEA:
> git clone https://github.com/ethereum/ethereumj
> cd ethereumj
> gradlew build
IDEA:
- File -> New -> Project from existing sources......
- 选择 ethereumj/build.gradle
- 对话框“Import Project from gradle”:点击“ok”
- 在构建之后运行
org.ethereum.Start
,org.ethereum.samples.*
之一或创建自己的主程序。
配置EthereumJ
有关所有现有选项,其描述和默认值的参考,你可以参考默认配置ethereumj.conf
(你可以在jar库或源代码ethereum-core/src/main/resources
目录中找到它),要重新设置所需的选项,你可以使用以下方法之一:
- 把你的选项放到
<working dir>/config/ethereumj.conf
文件中 - 把
user.conf
放到classpath的启动目录中(作为一个资源) - 将你的选项放在任何文件中并通过它提供
-Dethereumj.conf.file=<your config>
- 编程通过
SystemProperties.CONFIG.override*()
使用 - 编程重写Spring
SystemPropertiesbean
来使用
请注意,不需要将所有选项都放在自定义配置中,只需要放置你需要修改的那些选项。
如果你希望尽快的使用java开始以太坊的开发,可以选择web3j类库,它封装实现了绝大部分web3的功能,十分好用:
java以太坊教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
相关推荐
以太坊Java版本的Demo是基于以太坊的开源项目,它允许开发者使用Java语言来构建和交互以太坊上的智能合约以及进行区块链应用开发。本文将深入探讨以太坊Java版Demo的核心知识点,包括以太坊的基础概念、Java SDK的...
java 以太坊包ethereumj-core 支持解析结构体传参,返回参数。
以太坊java版本demo及以太坊白皮书 以太坊java版本demo及以太坊白皮书
"最新版以太坊源码"是指以太坊项目的最新开发版本,它包含了以太坊网络的核心算法、智能合约执行环境、共识机制、P2P网络协议等关键组件的源代码。对于想要深入理解以太坊工作原理、开发基于以太坊的应用或者对...
以太坊白皮书中文版详细解读了以太坊区块链平台的核心理念、技术特点及其历史沿革。以下是对这些知识点的全面解析。 首先,以太坊是一个开放的区块链平台,它允许任何人在平台上建立去中心化的应用(DApps)。这种...
Java基于以太坊区块链的车险理赔系统源码+运行说明.zipJava基于以太坊区块链的车险理赔系统源码+运行说明.zipJava基于以太坊区块链的车险理赔系统源码+运行说明.zipJava基于以太坊区块链的车险理赔系统源码+运行说明...
以太坊智能合约开发环境的搭建是开发基于区块链应用的基础步骤。本文主要针对Linux系统下,使用Truffle 3.0框架与TestRPC进行以太坊智能合约开发的环境配置进行了详细总结。以下是对这些知识点的详细解释: 首先,...
以太坊黄皮书是关于以太坊区块链技术的权威参考文档,主要涵盖了以太坊的设计理念、架构、协议规范以及其运作机制等核心内容。本文将深入解析以太坊黄皮书中涉及的重要知识点。 一、以太坊概述 以太坊是一个开源的...
Java基于以太坊区块链的车险理赔系统源码+运行说明.zipJava基于以太坊区块链的车险理赔系统源码+运行说明.zipJava基于以太坊区块链的车险理赔系统源码+运行说明.zipJava基于以太坊区块链的车险理赔系统源码+运行说明...
以太坊:黄皮书1
以太坊中继器是基于Go语言开发的一种用于在以太坊网络中进行通信的工具。这个项目(EthRpcProject)旨在提供一个基础框架,帮助开发者实现与以太坊节点的RPC(远程过程调用)接口交互,进行一系列与以太坊区块链相关...
以太坊web3j的github最新版下载地址https://github.com/web3j/web3j/releases 国内很多地方无法下载,我下载了上传到csdn供大家下载。
该工程支持java web3j直连以太坊节点(自建或使用免费节点) 支持助记词遍历(该遍历根据助记词生成规则进行了部分反推判断,可将单词组4.8亿种情况缩短至0.3亿种,缩短16倍) 根据助记词生成地址,并直接与以太坊...
它通过Web3.js库连接到以太坊节点,并执行以下任务: 1. **连接以太坊**:设置Web3实例,连接到本地的MetaMask、Infura等以太坊节点。 2. **编译和部署合约**:使用Truffle的编译和部署功能将`Score.sol`部署到以太...
关于以太坊J是以太坊协议的纯Java实现。 有关以太坊及其目标的高级信息,请访问 。 提供了完整的概念概述,而提供了该协议的正式定义。 我们将以太坊J保持尽可能的薄。 要获得支持和其他客户端功能,请查看 。运行...
【以太坊基础概念】 以太坊(Ethereum)是一个开源、公共的区块链平台,其特点是支持智能合约,使得开发者能够构建分布式应用(DApps)而无需中间人。以太坊由 Vitalik Buterin 在2013年提出,自2015年正式上线以来...
以太坊白皮书中文版 以太坊是一个全新开放的区块链平台,它允许任何人在平台中建立和使用通过 区块链技术运行的去中心化应用。就像比特币一样,以太坊丌受任何人控制, 也丌归任何人所有——它是一个开放源代码项目...
以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统,以太坊从诞生到2017年5月,短短3年半时间,全球已有200多个以太坊应用诞生。以太坊是一个平台和一种编程语言,使开发人员...
主要讲解以太坊关键技术,智能合约的编写以及部署,还有案例详解等等
该工程通过java web3j 直连以太坊节点(可自建或使用免费节点) 进行区块数据解析 支持数据进行mysql存储