`
阅读更多

 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 

 快照构建

请注意,快照不稳定,目前正在开发中!如果你还想尝试一下:

示例如下:

<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.Startorg.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版本的Demo是基于以太坊的开源项目,它允许开发者使用Java语言来构建和交互以太坊上的智能合约以及进行区块链应用开发。本文将深入探讨以太坊Java版Demo的核心知识点,包括以太坊的基础概念、Java SDK的...

    java 以太坊包ethereumj-core 支持解析结构体传参,返回参数。

    java 以太坊包ethereumj-core 支持解析结构体传参,返回参数。

    以太坊java版本demo及以太坊白皮书

    以太坊java版本demo及以太坊白皮书 以太坊java版本demo及以太坊白皮书

    最新版以太坊源码

    "最新版以太坊源码"是指以太坊项目的最新开发版本,它包含了以太坊网络的核心算法、智能合约执行环境、共识机制、P2P网络协议等关键组件的源代码。对于想要深入理解以太坊工作原理、开发基于以太坊的应用或者对...

    以太坊白皮书中文版.pdf

    以太坊白皮书中文版详细解读了以太坊区块链平台的核心理念、技术特点及其历史沿革。以下是对这些知识点的全面解析。 首先,以太坊是一个开放的区块链平台,它允许任何人在平台上建立去中心化的应用(DApps)。这种...

    Java基于以太坊区块链的车险理赔系统源码+项目说明.zip

    Java基于以太坊区块链的车险理赔系统源码+运行说明.zipJava基于以太坊区块链的车险理赔系统源码+运行说明.zipJava基于以太坊区块链的车险理赔系统源码+运行说明.zipJava基于以太坊区块链的车险理赔系统源码+运行说明...

    以太坊智能合约开发环境及总结.pdf

    以太坊智能合约开发环境的搭建是开发基于区块链应用的基础步骤。本文主要针对Linux系统下,使用Truffle 3.0框架与TestRPC进行以太坊智能合约开发的环境配置进行了详细总结。以下是对这些知识点的详细解释: 首先,...

    以太坊黄皮书

    以太坊黄皮书是关于以太坊区块链技术的权威参考文档,主要涵盖了以太坊的设计理念、架构、协议规范以及其运作机制等核心内容。本文将深入解析以太坊黄皮书中涉及的重要知识点。 一、以太坊概述 以太坊是一个开源的...

    Java基于以太坊区块链的车险理赔系统源码+运行说明.zip

    Java基于以太坊区块链的车险理赔系统源码+运行说明.zipJava基于以太坊区块链的车险理赔系统源码+运行说明.zipJava基于以太坊区块链的车险理赔系统源码+运行说明.zipJava基于以太坊区块链的车险理赔系统源码+运行说明...

    以太坊:黄皮书1

    以太坊:黄皮书1

    以太坊中继器 【Go语言】

    以太坊中继器是基于Go语言开发的一种用于在以太坊网络中进行通信的工具。这个项目(EthRpcProject)旨在提供一个基础框架,帮助开发者实现与以太坊节点的RPC(远程过程调用)接口交互,进行一系列与以太坊区块链相关...

    web3j-3.3.1.zip(以太坊Java环境的web3j封装库文件jar的压缩包)

    以太坊web3j的github最新版下载地址https://github.com/web3j/web3j/releases 国内很多地方无法下载,我下载了上传到csdn供大家下载。

    java web3j 助记词生成地址 直连以太坊节点 查余额 硬破解

    该工程支持java web3j直连以太坊节点(自建或使用免费节点) 支持助记词遍历(该遍历根据助记词生成规则进行了部分反推判断,可将单词组4.8亿种情况缩短至0.3亿种,缩短16倍) 根据助记词生成地址,并直接与以太坊...

    以太坊区块链积分系统truffle项目源代码

    它通过Web3.js库连接到以太坊节点,并执行以下任务: 1. **连接以太坊**:设置Web3实例,连接到本地的MetaMask、Infura等以太坊节点。 2. **编译和部署合约**:使用Truffle的编译和部署功能将`Score.sol`部署到以太...

    ethereumj:已弃用! 以太坊黄皮书的Java实现。 对于JSON-RPC和其他客户端功能,请查看以太坊和谐

    关于以太坊J是以太坊协议的纯Java实现。 有关以太坊及其目标的高级信息,请访问 。 提供了完整的概念概述,而提供了该协议的正式定义。 我们将以太坊J保持尽可能的薄。 要获得支持和其他客户端功能,请查看 。运行...

    基于以太坊demo

    【以太坊基础概念】 以太坊(Ethereum)是一个开源、公共的区块链平台,其特点是支持智能合约,使得开发者能够构建分布式应用(DApps)而无需中间人。以太坊由 Vitalik Buterin 在2013年提出,自2015年正式上线以来...

    以太坊.白皮书.中文版

    以太坊白皮书中文版 以太坊是一个全新开放的区块链平台,它允许任何人在平台中建立和使用通过 区块链技术运行的去中心化应用。就像比特币一样,以太坊丌受任何人控制, 也丌归任何人所有——它是一个开放源代码项目...

    以太坊简介

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统,以太坊从诞生到2017年5月,短短3年半时间,全球已有200多个以太坊应用诞生。以太坊是一个平台和一种编程语言,使开发人员...

    以太坊技术详解与实战

    主要讲解以太坊关键技术,智能合约的编写以及部署,还有案例详解等等

    java web3j 直连以太坊节点 区块数据解析

    该工程通过java web3j 直连以太坊节点(可自建或使用免费节点) 进行区块数据解析 支持数据进行mysql存储

Global site tag (gtag.js) - Google Analytics