以太坊Truffle架構搭建一氣呵成無坑版教程

來源:互聯網
上載者:User
      Truffle架構搭建的教程網上也有好多,但是隨著truffle版本的更新,truffle.js改名truffle-config.js、truffle命令升級、truffle與testrpc連接埠不一致、瀏覽器錢包外掛程式等問題,導致原有的教程不再適用,在踩過一個又一個的坑後,打算寫一篇無坑版本,讓廣大初學者可以一氣呵成搭建完環境。
一、安裝Node.js

在https://nodejs.org/en/下載安裝包,選擇LTS版本下載。

寫文章時最新版本是8.11.1,安裝後在windows命令cmd視窗,輸入node -v,能顯示node的版本就成功第一步了 二、安裝Truffle

truffle是本地的用來編譯、部署智能合約的工具。
在windows命令列視窗輸入npm -g install truffle。
沒有報錯資訊就是成功第二步 三、安裝Ethereum TestRPC

命令列視窗輸入npm install -g ethereumjs-testrpc

安裝後再輸入testrpc看是否成功啟動,testrpc預設是監聽8545連接埠

四 、啟動Dapp

第三步啟動的testrpc視窗不要關閉,建立立開發目錄helloworld,開啟一個新的命令視窗。進入到helloword目錄。
truffle 初始化
輸入
truffle unbox webpack執行完後,再輸入dir看本地有沒有下載到新的檔案。網上很多老的教程是truffle init webpack命令,但是truffle新的版本不支援,只能是truffle unbox webpack
 

編譯合約
輸入命令truffle compile出現下面的錯誤,這也是舊的教程的一個坑。

把helloworld目錄的truffle.js改名為truffle-config.js,再執行命令。

部署合約

部署智能合約成功的前提就是testrpc已經在運行,輸入命令truffle migrate。

啟動服務

輸入命令npm run dev.

開啟瀏覽器,輸入 http://localhost:8080/,出現"Couldn't get any accounts! Make sure yourEthereum client is configured correctly."

原因是chrome瀏覽器裡安裝MetaMask-以太坊錢包外掛程式,把外掛程式移除掉或者使用其他瀏覽器。

移除外掛程式再開啟,提示“There was an error fetching your accounts.”。

F12開啟開發人員工具,js代碼是請求testrpc的9545連接埠。

請求合約的連接埠9545和testrpc監聽連接埠8545不一致,只要把兩者改成一致就行,解決辦法以下二選一即可 :
1. 修改合約調用代碼。helloworld\app\javascripts\app.js,把window.web3 = new Web3(new Web3.providers.HttpProvider("http://127.0.0.1:9545"));的連接埠號碼9545改為8545
2.    testrpc監聽連接埠改為8545。
啟動testrpc時用命令列 testrpc –p 9545。
truffle部署合約的連接埠也改為9545,在truffle-config.js把port參數改為9545。

執行truffle compile、truffle migrate、npm run dev重新編譯、部署、啟動。


合約調用

testrpc控制台上有十個測試地址,複製一個地址在頁面轉賬。








相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.