搭建以太坊私鏈, 部署智能合約常用的三個工具:Truffle,Ganache 和 remix-ide,
Truffle
Truffle 是最流行的開發框架,能夠在本地編譯、部署智能合約,使命是讓開發更容易,
Truffle的源代碼地址
https://github.com/trufflesuite/truffle
(1)安裝 Truffle 4.0
依賴環境:
- NodeJS 5.0+
- Windows,Linux,或Mac OS X
安裝很簡單:
npm install -g truffle
#查看安裝的版本:
truffle version
(2)初始化一個 Truffle 專案
truffle init #可以初始化一個默認的以太坊代幣合約專案
編譯合約
truffle compile #僅默認編譯自上次編譯后被修改過的檔案
truffle compile --all #編譯全部檔案
Truffle需要定義的合約名稱和檔案名準確匹配,這種匹配是區分大小寫的,也就是說大小寫也要一致,推薦大寫每一個開頭字母
(3)部署
默認network [development]
truffle migrate
truffle migrate --reset #重新執行
指定network
truffle migrate --network poa
(4)啟動控制臺 (需要在工程目錄下執行,)
#使用默認網路來調起一個控制臺
truffle console
#指定network
truffle console --network poa
#啟動帶本地私有開發鏈的控制臺
truffle develop
#監聽地址為: http://127.0.0.1:9545
測驗部署成功的智能合約
#輸入以下命令打開truffle控制臺,測驗剛才我們部署的Hello_mshk_top合約:
truffle(development)> var contract;
undefined
truffle(development)> Hello_mshk_top.deployed().then(function(instance){contract= instance;}); //將Hello_mshk_top合約主體,傳遞給contract變數
undefined
truffle(development)> contract.say()
'Hello mshk.top'
truffle(development)> contract.print("https://mshk.top")
'https://mshk.top'
(5)使用zeppelin-solidity庫
npm install zeppelin-solidity
#生成package.json檔案
npm init
#根據package.json自動下載庫
npm install
(6)下載模板
truffle unbox <box-name>
Ganache
開發時的太坊客戶端Ganache ,ganache-cli
將智能合約部署到 TestRPC(記憶體中的區塊鏈) 中測驗 (TestRPC已更名為ganache)
它是一個完整的在記憶體中的區塊鏈僅僅存在于你開發的設備上,
相對于 Geth,TestRPC 它在執行交易時是實時回傳,而不等待默認的出塊時間,這樣你可以快速驗證你新寫的代碼,當出現錯誤時,也能即時反饋給你,
它同時還是一個支持自動化測驗的功能強大的客戶端
(1)Ganache (帶ui)
下載
https://truffleframework.org/ganache/
監聽地址為: http://127.0.0.1:7545
(1)ganache-cli
#安裝
npm install -g ganache-cli
#運行
ganache-cli --gasLimit 0x800000000
#監聽地址為 127.0.0.1:8545
(2)TestRPC (TestRPC已更名為ganache)
#安裝
npm install -g ethereumjs-testrpc
#啟動 TestRPC
testrpc --gasLimit 0x800000000
監聽地址為 localhost:8545
remix-ide
安裝 remix-ide
windows
#先安裝node.js
https://nodejs.org/en/
#再
npm install remix-ide -g --allow-root
#運行 cd到開發合約目錄下
remix-ide
linux
npm install remix-ide -g --allow-root
remix-ide
#如果外網訪問不了
vim /root/remix-ide/bin/remix-ide
#修改
server.listen(8080, ‘127.0.0.1’, function () {})
#為
server.listen(8080, ‘0.0.0.0’, function () {})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/278926.html
標籤:區塊鏈
下一篇:vue3 解決 cnpm install 報錯 Cannot find module ‘vue-loader-v16/package.json
