web3.js
时间: 2018-04-28来源:OSCHINA
前景提要
「深度学习福利」大神带你进阶工程师,立即查看>>>
web3.js是开发以太坊去中心化应用(DApp)必备的JavaScript库。那么,web3.js的作用是什么?它的实现原理又是什么?
以太坊网络是由众多彼此平等的节点组成的P2P网络,其中每个节点都有整个区块链的拷贝。当你希望调用链上一个智能合约的方法时,需要连接到其中的某个节点并告知节点智能合约的地址、 你希望调用的方法以及向该方法传入的参数
不过以太坊节点只能理解JSON-PRC,这是一种远程调用协议,这种协议对人而言并不是很友好、易读。你发送给节点的对合约方法的调用请求看起来就像这样: // Yeah... Good luck writing all your function calls this way! {"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{"from":"0xb60e8dd61c5d32be8058bb8eb970870f07233155","to":"0xd46e8dd67c5d32be8058bb8eb970870f07244567","gas":"0x76c0","gasPrice":"0x9184e72a000","value":"0x9184e72a","data":"0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"}],"id":1}
看起来不那么爽,对吧?
幸运的是,web3.js把这些复杂的调用请求封装起来,让你只需要通过更加友好的javascript接口来和以太坊节点交互。使用web3.js时,你要发送上面的JSON-PRC请求,只需要类似于如下的以下代码: CryptoZombies.methods.createRandomZombie("Vitalik Nakamoto ") .send({ from: "0xb60e8dd61c5d32be8058bb8eb970870f07233155", gas: "3000000" })
是不是看起来更熟悉一些 ? 如果你希望马上开始学习以太坊DApp开发,可以访问汇智网提供的出色的在线互动教程: 以太坊DApp实战开发入门 去中心化电商DApp实战开发

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行