Web3.js基于以太坊的Javascript API

来源:区块链 财经新闻 百科
2019-03-29 11:20:44

  

web3.js是一个库集合,你可以使用HTTP或IPC连接本地或远程以太它节点进行交互。 web3的JavaScript库能够与以太坊区块链交互。 它可以检索用户帐户,发送交易,与智能合约交互等。

Version : 1.0.0-beta.36

Web3.js API类型

  1. eth:Etherum区块链相关方法;
  2. net:节点的网络状态;
  3. personal:帐户功能和发送;
  4. db:获取/放置本地LevelDB;
  5. shh:使用Whisper的P2P消息传递;
安装Web3.js

 

node

实例化web3

首先,我们检查是否使用的dapp浏览器或更新版本的MetaMask,将以太坊提供程序注入到window object中。 如果是这样,我们使用它来创建我们的web3 object,但我们还需要使用ethereum.enable()显式请求访问帐户。

如果以ethereum object不存在,我们将检查注入的web3实例。 如果它存在,则表示我们正在使用较旧的dapp浏览器(如Mist或较旧版本的MetaMask)。 如果是这样,我们可以获取到它的提供者并使用它来创建我们的web3 object。

如果没有注入web3实例,我们将根据本地提供程序创建web3对象。 (这种后备适用于开发环境,但不安全且不适合生产环境。)

 

Web3.js的例子

 

 

PS:不推荐使用web3.version.getNode。

 

余额

检查用户的余额

  1. web3.eth.getAccounts:从以太坊节点获取帐户,不推荐使用web3.eth.accounts。
  2. web3.eth.getBalance:获取帐户的余额。
  3. web3.utils.fromWei:将wei转换为ether,不推荐使用web3.fromWei。

 

 

转移

 

 

将以太网从“A”转移到“B”

 

txnObject(事务对象)是web3.eth.sendTransaction的第一个参数。 txnObject由JSON组成。

from:String  - 发送帐户的地址。

to:String  - 目标钱包地址。

value:Number | String | BigNumber  - (可选)您希望发送到目标地址的以太网的数量。

gas:Number | String | BigNumber  - (可选,默认:待定)用于交易的gas量(未使用的gas将被退还)。

gasPrice:Number | String | BigNumber  - (可选,默认:待定)wei中此交易的gas价格,默认为平均网络gas价格。

data:String  - (可选)包含消息的关联数据的字节字符串,或者在合同创建事务的情况下,初始化代码。

nonce:Number  - (可选)nonce的整数。 这允许覆盖使用相同nonce的自己的挂起事务。

 

实践练习

 

 

我使用上面的方法制作了一个网页。
  • 获取以太坊节点信息
  • 获得用户的余额
  • 转移以太币

 

您将使用MetaMask或Ganache。 我建议你使用Ganache,这是一个用于以太坊开发的个人区块链,可用于部署合同,开发应用程序和运行测试。 如果您还没有安装,请下载Ganache并双击该图标安装应用程序。 这将生成在端口7545上本地运行的区块链同时将端口更改为8545。

西瓜财经所刊发文章除注明来源外,均为西瓜财经用户投稿,不代表西瓜财经立场。转载请注明:西瓜财经(www.ok35.com)

瓜友已阅

赞助商