链客,专为开发者而生,有问必答!
此文章来自区块链技术社区,未经允许拒绝转载。
Web3与智能合约交互实战
以太坊中智能合约和web3交互实战
最近区块链、以太坊十分的火,所有就会有许多人去进入区块链这个工作,也有许多人去学习。所以在开端学习以太坊的时分,许多人都是自己创建以太坊节点后,运用geth交互。但是不能盼望普通用户经过指令运用dapp。因此我们需求一种友爱的方法来与智能合约交互,那么这种问题的答案便是web3.js。
Web3.js
Web3.js是以太坊官方的API,可以帮忙智能合约开发者运用HTTP或许IPC与本地、长途的以太坊节点交互。实践就一个库的调集。当然了也包括几个库,比如:
web3-eth用来与以太坊区块链和智能合约交互
web3-shh用来控制whisper协议与p2p通讯以及播送
web3-bzz用来与swarm协议交互
web3-utils包括了一些Dapp开发有用的功用
Web3与geth通讯运用的是 JSON-RPC ,这是一种轻量级的RPC协议,整个通讯的模型可以抽象为下图。
树立检验链
在开发的初期的时分,我们并不用用实在的公链,为了开发的效率,一般都是用本地树立检验链。在这儿我们就挑选用Ganache,一个图形化检验软件,可以一键在本地树立以太坊区块检验环境,且用区块链的状态显现出来。
从图中可以看到Ganache会默许创建10个账户