1. 程式人生 > >以太坊Truffle框架搭建一氣呵成無坑版教程

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

      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控制檯上有十個測試地址,複製一個地址在頁面轉賬。



相關推薦

Truffle框架搭建一氣呵成教程

      Truffle框架搭建的教程網上也有好多,但是隨著truffle版本的更新,truffle.js改名truffle-config.js、truffle命令升級、truffle與testrpc埠不一致、瀏覽器錢包外掛等問題,導致原有的教程不再適用,在踩過一個又一個的

windows 開發框架Truffle環境搭建

truffle框架搭建的教程網上也有好多,但是隨著truffle版本的更新,truffle.js改名truffle-config.js、truffle命令升級、truffle與testrpc埠不一致、瀏覽器錢包外掛等問題,導致原有的教程不再適用。 包括nodejs、truffle、solc、

nodejs之truffle-contract 和web3 環境搭建之實現web寵物原始碼

  package.json配置檔案依賴包! "dependencies": { "bootstrap": "^4.2.1", "jquery": "^3.3.1", "popper.js": "^1.14.6", "truffle-contract"

nodejs/npm安裝truffle-contract和web3 失敗的根本原因(開發環境搭建!!!)

npm安裝軟體很方便,可是會發現在安裝某些js框架的時候,總是提示一大推錯誤,網上查了很多別人的經驗,總沒有講的很具體,今天在此和大家分享一下我的解決方案: 如果你的nodejs安裝正常的情況下,安裝js框架不正常,很大一種可能就是你選擇安裝的版本可能不行!  預設情況下 &nbs

區塊鏈學習(四)truffle開發框架的安裝使用

注意,區塊鏈技術在發展,以太坊的專案迭代速度也很快,現在的truffle的框架命令已經與一月份有很大不同了,我參照網上別人的部落格經驗,由於版本不同,當時的命令已經有所改變,也給我帶來很大困惑,總以為自己哪個步驟安裝的不對。建議大家最好參照官方文件,獲取最新版本的最新性

區塊鏈開發(八)truffle開發框架的安裝使用

下面介紹一下以太坊truffle開發框架的安裝使用,給大家提供一個參考。Ubuntu下安裝 truffle.一般truffle安裝的依賴環境有:Nodejs,git ,python,ubuntu下自帶python,這裡不做解釋。安裝git輸入一下命令:sudo apt-get

區塊鏈(2)開發框架Truffle教程(Windows)

概述 上一篇部落格介紹瞭如何搭建一個私有鏈的以太坊開發環境,並部署一個簡單“hello world”智慧合約到區塊鏈上,詳情請前往區塊鏈開發環境搭建。 本文進一步介紹區塊鏈的一個主流開發框架Truffle 環境搭建 使用 Truffle

docker 搭建私有鏈搭建

min self odi auto ora ucc lib color 技術 最近區塊鏈,火得不行,身邊也有朋友準備玩這個,說是搭了一個星期,沒有把環境搭建起來,叫我幫忙看看環境怎麽搭建 於是我找到了官方的地址 https://github.com/ethereum

開發環境搭建

適合 extra limit class ref acc difficult 發現 就是 Geth安裝 全稱 Go Ethereum, 官網地址:https://github.com/ethereum/go-ethereum/wiki/geth 安裝指令: brew tap

私有節點搭建

開發 console home disco difficult gin ase nba datadir 我們可以通過搭建以太坊的私有節點,模擬以太坊挖礦、交易、部署運行智能合約,從而達到測試開發的目的。下面具體說明搭建過程: 1. 創建新帳號 geth --da

Windows下執行節點、搭建私鏈、挖礦

環境搭建 安裝windows下的包管理工具chocolatey @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypas

區塊鏈筆記 私鏈搭建

安裝geth        geth全稱是go-ethereum是一個以太坊客戶端,用go語言寫的,是目前最常用的客戶端,當然還有其它的語言寫的,比如python,c++,java等。下面是下載連結,下載後直接安裝就可以了。         系統環境是在win10,g

私有鏈搭建,建立節點叢集,部署智慧合約,攻擊智慧合約

本文目的: 1.搭建Ethereum私有鏈和節點叢集; 2.熟悉以太坊智慧合約的部署和使用流程; 3.瞭解以太坊智慧合約的應用和常見安全性問題; 一、以太坊私有鏈搭建 參考:https://blog.csdn.net/sportshark/article

Ubuntu16.04開發環境搭建

這裡記錄一下開發環境的搭建,方便以後再用。帶*為可選。 Ubuntu16.04 安裝ubuntu16.04。下載連結 git 之後的安裝都需要依賴Git sudo add-apt-repository ppa:git-core/ppa sudo a

筆記 如何搭建私有連聯盟鏈

轉載自:https://mshk.top/2017/11/go-ethereum-1-7-2/ 目錄 1、什麼是Ethereum(以太坊)   以太坊(Ethereum)並不是一個機構,而是一款能夠在區塊鏈上實現智慧合約、開源的底層系統,以太坊從誕生到2017年5

私有鏈搭建節點叢集 到 簡單helloworld智慧合約編寫 操作流程

1.選擇一種以太坊客戶端Go-ethereum客戶端通常被稱為Geth,它是個命令列介面,執行在Go上實現的完整以太坊節點。Geth得益於Go語言的多平臺特性,支援在多個平臺上使用(比如Windows、Linux、Mac)。Geth是以太坊協議的具體落地實現,通過Geth,你

私有鏈搭建指南

go-ethereum 私有鏈搭建指南 前言 工具 以太坊客戶端 以太坊客戶端用於接入以太坊網路,進行賬戶管理、交易、挖礦、智慧合約相關的操作。目前有多種語言實現的客戶端,常用的有 Go 語言實現的 go-ethereum 客戶端 Geth,支

區塊鏈實踐(一) 網路+geth搭建私有網路實戰

一、乙太網網路 理解以太坊 PrivateNetwork 先要理解以太坊的兩種官方網路, 目前以太坊官方提供了兩種網 生產環境網路 測試網路 TestNet ** 1 以太坊生產網路 以太坊的生產網路顧名思義,也就是產生真正有價值的 的以太幣的網路

區塊鏈技術資源教程零基礎與Remix Solidity IDE搭建與初步使用

區塊鏈技術資源教程零基礎 一、    以太坊和區塊鏈的關係      從區塊鏈歷史上來說,先誕生了比特幣,當時並沒有區塊鏈這個技術和名詞,然後業界從比特幣中提取了技術架構和體系,稱之為區塊鏈技術。從比特幣提取的區塊鏈技術稱之為區塊鏈1.0時代,那個時候的應用主要以電子貨幣

】本地搭建Ethereum私有網路

[email protected]:~$ sudo apt-get install software-properties-common 正在讀取軟體包列表... 完成 正在分析軟體包的依賴關係樹 正在讀取狀態資訊... 完成 software-properties-co