首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java类库EthereumJ如何操作区块链

在本文中,我们将看一下EthereumJ库,它允许我们使用Java与以太坊区块链进行交互。

以太坊作为一种加密货币,利用去中心化、点对点、可编程区块链形式的数据库,以太坊虚拟机(EVM),通过连接不同的节点进行同步和操作。节点通过共识同步区块链,通过挖掘(工作量证明)创建硬币,验证交易,执行以Solidity编写的智能合约,并运行EVM,而区块链的区块,主要包含帐户状态(包括帐户之间的交易)和工作量证明。

以太坊 Facade

类将许多EthereumJ软件包抽象并整合到一个易于使用的界面中。

可以连接到节点以与整个网络同步,并且一旦连接,我们就可以使用区块链。

创建Facade对象非常简单:

连接到以太坊网络

要连接到网络,我们必须首先连接到一个节点,即运行官方客户端的服务器。节点由类表示。

在成功建立与节点的连接后,处理客户端检测到的区块链事件。

1.连接到以太坊网络

让我们连接到网络上的节点。这可以手动完成:

连接到网络也可以使用bean自动完成:

然后我们可以将EthBean注入到我们的应用程序配置中。然后它自动连接到以太坊网络并开始下载区块链。

实际上,只需在我们创建的实例中添加实例,就可以方便地封装和抽象大多数连接处理,就像我们在上面的方法中所做的那样:

2.使用监听器处理区块链

我们还可以将子类化,以处理客户端检测到的区块链事件。

要完成此步骤,我们需要创建子类监听器:

在接收的任何新区块(无论是旧的还是当前的)上触发方法。 EthereumJ使用类表示和处理区块。

同步完成后,方法将触发,使我们的本地以太坊数据保持最新状态。

使用区块链

现在我们可以连接到以太坊网络并直接使用区块链,我们将探讨我们经常使用的几个基本但非常重要的操作。

1.提交交易

现在,我们已经连接到区块链,我们可以提交交易。提交一个相对容易,但创建实际本身就是一个冗长的主题:

2.访问区块链对象

方法返回一个对象,其中包含用于获取当前网络差异和特定块的getter。

由于我们在前面设置了,因此我们可以使用上述方法访问区块链:

3.返回以太坊帐户地址

我们也可以返回以太坊地址。

要获得以太坊——我们首先需要验证区块链上的公钥和私钥对。

让我们用新的随机密钥对创建一个新密钥:

让我们从给定的私钥创建一个密钥:

然后我们可以使用我们的密钥来初始化帐户。通过调用,在对象上设置了和相关的:

其他功能

框架提供了另外两个主要功能,我们在此不会介绍,但值得一提。

首先,我们有能力编译和执行Solidity智能合约。但是,在Solidity中创建合约,然后编译和执行它们本身就是一个广泛的主题。

其次,尽管该框架支持使用CPU进行有限的挖掘,但鉴于前者缺乏盈利能力,使用GPU挖掘器是推荐的方法。

有关以太坊本身的更多高级主题可以在官方文档中找到。

在本文中,我们展示了如何连接到以太坊网络以及使用区块链的几种重要方法。

与往常一样,此示例中使用的代码可以在GitHub上找到。

文章来自官方博客:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190123G0QTBK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券