3.12 Truffle與web3初識

尹成發表於2018-11-08
  1. Truffle是一套基於以太坊的Solidity語言的開發框架,基於JavaScript。Truffle為以太坊提供了開發環境 、測試框架、資產管道,可以使以太坊的開發測試更加方便
  2. Truffle提供功能如下 
    1. 內建智慧合約編譯、連結、部署和二進位制位元組碼管理
    2. 針對快速迭代開發的自動化合約
    3. 可指令碼化、可擴充套件部署和遷移框架
    4. 網路管理,可部署到任意數量的公共網路和私有網路
    5. 使用EthPM和NPM進行包安裝管理
    6. 用於直接與合約通訊的互動式控制檯
    7. 支援持續整合可配置構建管道
    8. 外部指令碼執行程式可以在Truffle環境中執行指令碼
    9. 提供合約抽象介面,可以直接通過var instance = Storage.deployed()拿到合約物件,然後在Javascript中直接操作對應的合約函式。
  3. web3.js 
    1. web3.js提供了用於和geth通訊的javascript API,其內部使用了JSON-RPC與geth通訊。
    2. JSON-RPC是一個無狀態且輕量級的遠端過程呼叫,允許使用socket,http等協議進行通訊。使用JSON作為資料格式。
    3. web3.js可以與所有支援JSON-RPC的節點通訊。不僅支援以太坊中的API,還支援以太坊生態中其他系統的API,比如whispir
    4. whispir是一個整合進以太坊的訊息系統 , 允許DApp傳送小量資訊進行非實時通訊。