最新内容会更新在主站深入浅出区块链社区
原文链接:Web3.js 0.20.x API 中文版翻译
文档原始链接为:https://learnblockchain.cn/docs/web3js-0.2x/,欢迎大家前往查阅,本文只是节选开头部分的介绍及API列表索引,以下为翻译正文:
为了开发一个基于以太坊的去中心化应用程序,可以使用web3.js库提供的web3对象, 在底层实现上,web3通过RPC调用与本地节点通信, web3.js可以与任何暴露了RPC接口的以太坊节点连接。
web3
包含下面几个对象:
web3.eth
用来与以太坊区块链及合约的交互web3.shh
用来与Whisper协议相关交互web3.net
用来获取网络相关信息web3
包含一些工具
web3使用示例:
想要学习去中心化应用(DAPP)开发,这门课程不容错过区块链全栈-以太坊DAPP开发实战
引入web3
首先你需要将web3引入到应用工程中,可以通过如下几个方法:
- npm:
npm install web3
- bower:
bower install web3
- meteor:
meteor add ethereum:web3
- vanilla: link the
dist./web3.min.js
然后你需要创建一个web3的实例,设置一个provider。为了保证你不会覆盖一个已有的provider(Mist浏览器或安装了MetaMak的浏览器会提供Provider),需要先检查是否web3实例已存在,示例代码如下:
if (typeof web3 !== 'undefined') {
web3 = new Web3(web3.currentProvider);
} else {
// set the provider you want from Web3.providers
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}
成功引入后,你现在可以使用web3
对象的API了。
使用回调
由于这套API被设计来与本地的RPC结点交互,所有函数默认使用同步的HTTP的请求。
如果你想发起一个异步的请求。大多数函数允许传一个跟在参数列表后的可选的回调函数来支持异步,回调函数支持Error-first回调的风格。
web3.eth.getBlock(48, function(error, result){
if(!error