码迷,mamicode.com
首页 > Web开发 > 详细

以太坊 web3.js 文档翻译及说明

时间:2018-09-09 11:37:22      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:demo   beta   count   mis   调用   简化   基于   实用   ethereum   

这些天,为了录制以太坊DAPP开发实战课程,我准备把web3文档全部翻译一下(并做适当的补充),目前web3.js 0.20.x 版本 已经翻译完成,欢迎大家前往查阅。

这里还几个实用DEMO,供大家参考:

web3.js 1.0 文档中文版 正在翻译中,请大家关注更新。

web3介绍

Web3是一套和以太坊节点进行通信的API,如果我们需要基于以太坊来开发去中心化应用,则web3是必须要了解的内容,例如需要通过Web3来获取节点状态,获取账号信息,调用合约、监听合约事件等等。

注: 智能合约是运行在节点提供的虚拟机上,因此调用智能合约也需要像节点发送请求。

Web3其实是对节点暴露出来的JSON-RPC接口进行了封装,它有多个语言版本的实现:

web3.js版本说明

web3.js 有两个不兼容的版本:0.20.x 及 1.0beta,1.0对0.20版本做了重构,并且引入了Promise来简化异步编程,避免层层的回调嵌套。

做一个对比,下面使用两个版本来获取当前块号:

// 0.20 版本
web3.eth.getBlockNumber(function callback(err, value) {
     console.log("BlockNumber:" + value)
});
// 1.0 版本
web3.eth.getBlockNumber().then(console.log);

在来看看获取账号余额:

// 0.20 版本
web3.eth.getAccounts(function callback1(error, result){
    web3.eth.getBalance(result[0], function callback2(error, value) {
        console.log("value" + value);
    });
 })
// 1.0 版本
web3.eth.getAccounts()
   .then((res) => web3.eth.getBalance(res[0]))
   .then((value) => console.log(value) );

使用1.0版本代码上要比0.2版本简洁一些,有一点需要特别注意,web3的多数接口都是异步调用形式,通常最后一个参数是回调函数。

再次厚脸皮的给大家推荐,
想要学习去中心化应用开发,这门课程不容错过区块链全栈-以太坊DAPP开发实战

本教程由登链学院翻译,由深入浅出区块链发布。

以太坊 web3.js 文档翻译及说明

标签:demo   beta   count   mis   调用   简化   基于   实用   ethereum   

原文地址:https://www.cnblogs.com/tinyxiong/p/9612610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!