只用5步,教你從零用Truffle打造第一個以太坊Dapp!

2020-12-13 樂上輕至

以太坊是區塊鏈開發領域最好的編程平臺,而Truffle是以太坊(Ethereum)最受歡迎的一個開發框架,實戰是最重要的事情,這篇文章不講原理,只講如何搭建環境,手把手教你運行第一個區塊鏈程序(Dapp)。如果需要系統學習可以參考。

什麼是以太坊Dapp簡單來說,以太坊Dapp是一個去中心化的web應用,這個應用可以被內嵌到以太坊的網絡中。與一般的web應用相比,以太坊Dapp在以下兩點有所不同。1.以太坊Dapp是與乙太網的網絡進行交互,而不是伺服器。2.以太坊Dapp需要用特定的瀏覽器來打開,因為普通的瀏覽器無法連接到以太坊的網絡中。不過以太坊也提供了一個叫做Web3的JavaScript API,用以接入以太坊的網絡。而今天我們要談的MetaMask和Mist是兩個Web3上的瀏覽器,這兩個瀏覽器相互兼容。而與其把MetaMask成為瀏覽器,不如把他看成一個Chrome瀏覽器的插件。開發以太坊Dapp需要用到以下三個工具,但是如果你已經有Node.js基礎並且做過一些web開發,那麼這篇文章就剛好是為你寫的。Truffle TestRPC MetaMask關於三個開發工具 Truffle:Truffle是以太坊最受歡迎的開發框架,簡單來說,Truffle提供了很多實用的功能,包括對合約部署的管理,與合約交互的概念,以及對合約的測試支持等。 TestRPC:是一個基於Node.js的使用內存模擬的一個以太坊環境,它主要用於開發和測試。TestRPC完全運行在本地,因此運行速度比以太坊的真實環境快很多,是目前比較好的開發和測試環境。 MetaMask:正如前文所說,MetaMask是一款在Chrome上使用的插件類型的以太坊錢包。用戶不需要下載,需要再Chrome瀏覽器上添加對應的擴展程序即可,非常輕量。簡單來說,MetaMask允許用戶與在Chrome中與Dapps進行交互。

閒話少說,說幹就幹接下來就跟著營長開發你的第一個Dapp吧!假定你是第一次開發Dapp,那麼首先你要安裝NPM(Node Package Manager),在NPM安裝完成後,我們依次安裝Truffle和TestRPC。這裡提一下NPM和NPM的安裝。NPM的作用是幫助開發者分享和復用代碼,也可以通過它來更新已經分享的代碼。由於NPM分部在Node.js之上,因此你需要先下載Node.js,當Node.js下載完成後,NPM就已經被自動安裝了。這時你可以通過以下代碼進行檢驗。

輸入以下命令,檢查NPM是否被安裝:

開發以太坊Dapp,第一件要做的事情就是安裝TestRPC。最簡單的安裝方法就是「全局安裝」(Globally),你可以通過以下命令來實現:

安裝完之後,你就可以新建第一個項目了。可以通過以下命令實現

$ mkdir zhaoxi$ cd zhaoxi$ truffle init這時會默認生成一個MetaCoin的Demo,可以從這個Demo中學習Truffle的架構,目錄如圖所示

項目所有文件目錄如下圖所示

安裝Truffle

接下來就進入到了Truffle的安裝,Truffle是眼下最受歡迎的以太坊開發框架,最簡單的安裝方法是將其安裝為一個全局NPM包(global npm package)。你可以通過以下代碼來安裝Truffle

安裝MetaMask,Chrom與Firefox都可以通過搜索插件來安裝MetaMask,但是Chrom可以需要翻牆

通過以下代碼,我們可以很簡單地運行TestRPC:

這一指令將啟動開發環境,並且生成用以太幣進行先行融資(Prefunded)的帳戶列表,以及與各帳戶對應的私鑰。完成你的第一個Dapp!到這一步,開發環境已經搭建好,可以開始部署你的第一個以太坊Dapp了!這裡我們先生成一個最簡單的Dapp,也就是Truffle中系統默認的貨幣類型

大功告成!是不是很簡單呢?現在你可以在你的瀏覽器上,通過這個網址查看你的Dapp了:http://localhost:8080

以Solidity、Truffle、Fabric觀看地址

https://study.163.com/course/introduction/1005164002.htm

相關焦點

  • 區塊鏈學習五:運行你的第一個Truffle-Dapp
    第二步:安裝 truffleTruffle是針對基於以太坊的Solidity語言的一套開發框架。本身基於Javascript。第四步:選擇以太坊客戶端我們需要安裝Ethereum客戶端來支持JSON RPC API的調用。
  • 使用Truffle和infura部署以太坊合約
    Infura是一個託管的以太坊節點集群,可以將你開發的以太坊智能合約部署到infura提供的節點上,而無需搭建自己的以太坊節點。該服務可以處理事務籤名以及與以太坊網絡的連接。 點擊這裡了解更多關於HDWalletProvider的信息 。本教程將向你展示如何使用Infura將現有的dapp遷移到Infura支持的以太坊網絡。 在這個特定的例子中,我們將遷移到Ropsten測試網絡。
  • 以太坊仍是dapp領域的領導者
    資料來源:Snapshot.page以太坊及其競爭對手隨著這個行業的發展,市場份額的競爭可能會開始加劇。儘管目前在可伸縮性方面存在局限性,但以太坊仍然是dapp領域的領導者。此外,它還顯示出網絡效應不斷累積的跡象。
  • Web3.js基於以太坊的Javascript API
    web3.js是一個庫集合,你可以使用HTTP或IPC連接本地或遠程以太它節點進行交互。 web3的JavaScript庫能夠與以太坊區塊鏈交互。 它可以檢索用戶帳戶,發送交易,與智能合約交互等。瀏覽器或更新版本的MetaMask,將以太坊提供程序注入到window object中。
  • 從經濟視角分析pi幣和以太坊的基礎
    我在前面寫的文章中提到,從經濟角度來看,pi幣將來是以網絡經濟為基礎,以太坊是以金融經濟為基礎,兩者雖然都是加密經濟,但是仍然在網絡經濟和金融經濟範疇內。簡單的說,pi幣網絡經濟是從現有的網絡經濟中分羹,以太坊是從傳統金融體系分羹,所以我說他們的基礎不一樣。
  • 以太坊入門手冊(附各類工具連結)
    誕生於 2014 年的以太坊,到今天已經走過了整整 5 個年頭。本文將圍繞以太坊,介紹相關基礎知識,提供各種查詢工具、社群連結,幫助大家更加深入學習以及在以太坊上進行開發。記者 | 秦曉峰編輯 | 盧曉明以下為本入門手冊目錄:一、以太坊是什麼?
  • 以太坊Truffle框架搭建一氣呵成無坑版教程
    本文約1600字+,閱讀(觀看)需要15分鐘Truffle框架搭建的教程網上也有好多,但是隨著truffle版本的更新,truffle.js改名truffle-config.js、truffle命令升級、truffle與testrpc埠不一致、瀏覽器錢包插件等問題,導致原有的教程不再適用
  • 適合區塊鏈入門學習的以太坊開發教程Solidity、DApp、智能合約
    通過本課程的學習,你將掌握:以太坊區塊鏈的基本知識開發和部署以太坊合約所需的軟體環境使用高級語言(solidity)編寫以太坊合約使用NodeJS之所以選擇投票作為我們的第一個區塊鏈應用,是因為集體決策 —— 尤其是投票機制 —— 是以太坊的 一個核心的價值主張。另一個原因在於,投票是很多複雜的去中心化應用的基礎構件,所以我們選擇了投票應用作為學習區塊鏈 應用開發的第一個項目。
  • Matic Build-n-Earn計劃:打造卓越DApp賺取獎勵
    只要他們的DApp是在Matic Network上構建的,他們的dapp生命周期的任何階段即可申請Build-n-Earn計劃。該計劃旨在幫助開發者構建最好的DApp。此外,Build-n-Earn的設計是為了讓DApp有機會通過龐大的以太坊、Matic和Gitcoin社區的支持獲得更多潛在的終端用戶。
  • 使用 Web3 和 Vue.js 來創建你的第一個以太坊 dAPP(二)
    -and-vue-js-part-2-52248a74d58a譯者:琪花億草, Tocy, rever4433, 無若歡迎回到這個很牛的教程系列的第2部分,在教程中我們親手構建我們的第一個分布式應用程式。
  • Pulley swap:打造以太坊智能合約超級資本生態系統
    直到2008年,第一個加密貨幣比特幣才出現。人們認識到比特幣的底層技術區塊鏈天生可以為智能合約提供可信的執行環境,以太坊首先看到了區塊鏈和智能合約的契合,大大地擴展了區塊鏈技術的應用,並一直致力於將以太坊打造成最佳智能合約平臺。以太坊是目前為止最引人注目的智能合約框架,因為它是專門為支持智能合約的使用創建的。
  • 以太坊5周年:從翩翩少年到百億資產
    2015年:網絡啟動和交易所上市以太坊第一個版本加密貨幣協議被稱為Frontier,於2015年7月30日啟動,該版本安全級別與如今以太坊相去甚遠。但是,Frontier的推出是以太坊網絡歷史上一個重要裡程碑,因此從此以後開發人員開始使用智能合約並在真實區塊鏈上創建DApp。
  • 以太坊爆炸,共識機制的鍋?
    一、以太坊硬分叉成功以來,新交易區塊的添加速度開始回升上周,以太坊君士坦丁堡和聖彼得堡成功實施硬分叉。現在,新交易區塊被添加到以太坊區塊鏈上的速度又回升了。根據區塊鏈分析網站Etherscan透露,就在以太坊主網接受升級之後的24小時內,日均新增區塊數量已經超過了1500個。以太坊區塊數量激增的主要原因是因為上周四以太坊改進方案(EIP)1234被激活,該方案設計的目的其實就是為了禁用「難度炸彈「軟體中的一段代碼,而且有效期長達12個月。但是現在,以太坊難度炸彈已經被推遲了,而且炸彈效果似乎也被快速逆轉。
  • 認識forsage佛薩奇必讀:以太坊是什麼?什麼是智能合約?什麼是DAPP?
    換句話說,雖然比特幣僅僅是一個區塊鏈和支付網絡,但以太坊是一個分布式計算網絡,其區塊鏈可以用於許多其他事情。以太坊白皮書中提供了詳細信息。以太是什麼?乙太網是與以太坊區塊鏈相關的數字標記(或者說就是加密貨幣)。換句話說,以太是代幣,以太坊是平臺。但是,現在人們經常交替使用這些術語。
  • 以太坊如何被蠶食,DeFi 能否拯救以太坊?
    畢竟,如果我們可以回到 2014 年,你很難想像當時有人能預見開放式金融(Open Finance)和 Web3 蘊藏了如此巨大的機遇。從傳統意義上來說,大多數軟體應用程式都依賴於分立的資料庫,但出於技術原因,捆綁各種軟體類型的平臺其實並沒有獲得人們所期望的效果。然而,在一臺所需信任最小化的全球性計算機裡,捆綁絕大多數各類的軟體看上去似乎是可行的。
  • 2020年第二季度Dapp市場報告
    其中以太坊獨佔85.3%,波場和EOS合佔14.3%。 以太坊DeFi項目表現強勢:DeFi總交易額較去年同期增長了403%;多個優秀以太坊DeFi項目的市值在第二季度都有一倍以上的增值。
  • Amos Zhang:NEAR與以太坊的互操作性
    2020年12月5日,2020世界區塊鏈大會·武漢正式在武漢國際會展中心開幕。大會由巴比特主辦,並得到了武漢市政府、江漢區政府、武漢市經信局、中國信通院等部門單位的大力支持。我自己是做產品出身的,也是NEAR第一個產品經理。
  • 金色觀察|2020年爆發的DeFi推動DApp交易量漲超1100%
    到2020年為止,DApp的交易量已經超過2700億美元,其中95%屬於以太坊的DeFi生態系統。比去年210億美元的總額增長了1178%。不惜代價增長報告將2020年描述為「DApps試圖不惜一切代價增長的一年」。
  • 以太坊是什麼?以太坊礦工是乾沒什麼?以太坊有什麼用
    數字貨幣種類中排名老二的以太坊坊,他的地位和影響力也很了得。為什麼這麼講呢,他有個別稱是「數字石油」為什麼是石油,因為以太坊可以承載別的項目運行,以太坊是一個大平臺,在這平臺上可以做項目開發運營。只是有一個條件,像我們租房子要交房租,在以太坊的地盤上要消耗以太幣(ETH)在幣圈一般我們直呼以太坊對於以太坊,大家了解過的人都知道它有一個智能合約。這個合約的是不可以人為操縱更改的叫做絕對的去中心話,也就是沒有第三方做中介。
  • 以太坊共識機制:到底是PoW還是PoS?
    以太坊網絡中,想要獲得以太坊,也要通過挖礦來實現。那麼,說道挖礦,就一定離不開共識機制。比特幣的共識機制是PoW (這是英文Proof of Work的縮寫,意思是「工作量證明機制」)。簡單來說,就是多勞多得,你付出的計算工作越高,那麼你就越有可能第一個找到正確的哈希值,就越有可能得到比特幣獎勵。