div#pop_ad { opacity: 0; }
AD
首页 > 数字货币 > 正文

JAVA实战以太坊智能合约30天学习简册(三)

[2021-01-29 04:24:47] 来源: 编辑:wangjia 点击量:
评论 点击收藏
导读: 第1章 快速了解以太坊基本概念以及开发套件1.4 ERC20代币代币(Token)也称为“通证”,用以太坊的智能合约就可以编写和发行一个完全属于自己的代币。而这一切,并不需要你有多强的技术基础,但是
第1章 快速了解以太坊基本概念以及开发套件

1.4 ERC20代币

代币(Token)也称为“通证”,用以太坊的智能合约就可以编写和发行一个完全属于自己的代币。而这一切,并不需要你有多强的技术基础,但是出于学习的目的,我们还是会较为详细的讲解如何发行代币。

ERC20是以太坊定义的一个代币的标准,意思是我们在实现代币开发的时候,必须要遵守的协议,包括要指定代币的名称、总量、代币的交易函数实现等等,为什么要支持这个协议呢,因为只有开发过程中支持了标准协议,发行的代币才会被以太坊的数字钱包所支持。

1.5 什么是JSON RPC

中心化应用通常使用HTTP JSON来完成前端与后端的交互,去中心化应用使用JSON RPC请求,JSON RPC(Remote Protocol Call) 是一种以JSON为格式的远程调用协议。其请求和返回都是JSON格式。

以太坊规定了每个节点需要实现JSON RPC API 应用开发接口,该接口是传输无关的,应用程序可以通过HTTP、websocket或IPC等多种通信机制来使用该接口协议操作以太坊节点:

JAVA实战以太坊智能合约30天学习简册(三)

(图片来自网络)

理论上你可以使用任何语言基于JSON RPC接口开发出以太坊之上的 去中心化应用,不过为了提高开发效率,更好的办法是使用特定语言的JSON RPC封装库,这些库封装了JSON RPC的协议细节, 有助于开发人员聚焦在业务逻辑的实现上。

1.6 什么是Web3.js

web3j是一个轻量级的用于集成以太坊功能的Java开发库,它是Java版本的以太坊JSON RPC 接口协议封装实现,如果需要将你的Java应用或Android应用接入以太坊,用web3j就对了。

web3j的功能组织在不同的包中,下图展示了org.web3j主要包之间的依赖关系:

JAVA实战以太坊智能合约30天学习简册(三)

core:JSON RPC协议的封装主要由包org.web3j.core实现,它依赖于org.web3j.crypto包提供密钥与签名相关的功能,以及org.web3j.abi包提供的java/solidity类型映射支持。

console:org.web3j.console包实现了一个可以单独运行的命令行程序web3j,我们将使用它来生成solidity合约的Java封装类,其中,org.web3j.codegen包实现了从abi到java封装类的代码生成。

节点相关:org.web3j.infura包封装了对Infura公共节点旳http访问服务接口,org.web3j.geth和org.web3j.parity则分别封装了这两种常用以太坊节点软件旳管理接口。

添加新手交流群:币种分析、每日早晚盘分析

添加助理微信,一对一亲自指导:YoYo8abc

查看更多:

为您推荐