1. 程式人生 > >20181118——Web3與智慧合約互動實戰

20181118——Web3與智慧合約互動實戰

寫在前面
在最初學習以太坊的時候,很多人都是自己建立以太坊節點後,使用geth與之互動。這種使用命令列互動的方法雖然讓很多程式設計師感到興奮(黑客帝國的既視感?),但不可能指望普通使用者通過命令列使用Dapp。因此,我們需要一種友好的方式(比如一個web頁面)來與智慧合約互動,於是問題的答案就是web3.js。

Web3.js
Web3.js是以太坊官方的Javascript API,可以幫助智慧合約開發者使用HTTP或者IPC與本地的或者遠端的以太坊節點互動。實際上就是一個庫的集合,主要包括下面幾個庫:

web3-eth用來與以太坊區塊鏈和智慧合約互動
web3-shh用來控制whisper協議與p2p通訊以及廣播
web3-bzz用來與swarm協議互動
web3-utils包含了一些Dapp開發有用的功能

Web3與geth通訊使用的是 JSON-RPC ,這是一種輕量級的RPC(Remote Procedure Call)協議,整個通訊的模型可以抽象為下圖。

安裝Web3