在MacOS上构建以太坊开发环境
以太坊是流行的區(qū)塊鏈去中心化平臺(tái)。作為本文的一部分,你將了解如何在MacOS平臺(tái)上設(shè)置以太坊。
首先需要對(duì)區(qū)塊鏈和以太坊有基本理解,即什么是以太坊之類的?
工具集
以太坊開發(fā)生態(tài)系統(tǒng)包括以下工具列表。
- HomeBrew:HomeBrew是MacOS的軟件包管理器。它可以幫助你安裝蘋果不提供的軟件包之類的東西。
- xcode命令行工具:在安裝homebrew之前,需要安裝xcode。我們需要Xcode命令行工具,其中包括編譯器、Homebrew程序執(zhí)行活動(dòng)所需的實(shí)用程序。
- go-ethereum:geth或go-ethereum是一個(gè)命令行界面,允許你運(yùn)行和操作ethereum節(jié)點(diǎn)。geth是通過go實(shí)現(xiàn)的。它允許你執(zhí)行以下功能:
- 挖礦。
- 生成以太。
- 創(chuàng)建和管理帳戶。
- 部署智能合約并與之交互。
- 轉(zhuǎn)賬。
- 檢查塊歷史。
- 連接到公共以太坊網(wǎng)絡(luò)(mainnet)或創(chuàng)建你自己的專用網(wǎng)絡(luò)。
- Ganache:Ganache是一個(gè)以太坊區(qū)塊鏈仿真器,可以用于開發(fā)目的。為了替換testrpc,可以使用ganache。
- nodejs和npm:nodejs是一個(gè)服務(wù)器端的javascript平臺(tái),用于創(chuàng)建有助于與以太坊節(jié)點(diǎn)通信的應(yīng)用程序。
- Truffle:Truffle是用于編譯、測(cè)試和部署智能合約的構(gòu)建框架。它有助于加快開發(fā)生命周期。
- Atom:要編寫智能合約,請(qǐng)安裝Atom(你可以使用最喜歡的文本編輯器)
在Mac OS上安裝設(shè)置以太坊的步驟
第1步,安裝HOMEBREW
- 要安裝HOMEBREW,請(qǐng)打開https://brew.sh/
- 復(fù)制命令,如下圖所示
打開終端并粘貼命令,然后按Enter鍵:
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”安裝成功后,你應(yīng)該能夠在終端中看到以下消息:
要檢查安裝的HomeBrew的版本,請(qǐng)?jiān)诿钕旅骀I入,在標(biāo)準(zhǔn)中,它只安裝最新版本。
brew –version第2步,xcode安裝
- 打開Mac應(yīng)用商店并搜索xcode
- 單擊列表中的xcode搜索項(xiàng),然后單擊安裝。
- 如果它已經(jīng)安裝在你的計(jì)算機(jī)上,則更新或跳過此步驟。
- 安裝后接受許可條款。
要安裝Xcode命令行工具,請(qǐng)運(yùn)行以下命令:
xcode-select –install第3步,安裝Go-Ethereum
- 現(xiàn)在要安裝以太坊,讓我們使用上一步中安裝的Homebrew。
- 將homebrew連接到提供geth的存儲(chǔ)庫(kù),即使用以下命令為homebrew更新包目錄:
- 更新Homebrew后,使用以下命令將以太坊包添加到目錄:
現(xiàn)在,我們準(zhǔn)備使用Homebrew軟件安裝以太坊。使用以下命令安裝:
brew install ethereum如果你的計(jì)算機(jī)上已經(jīng)安裝了以太坊,請(qǐng)使用以下命令將其升級(jí)到最新版本:
brew upgrade ethereum第4步,安裝GANACHE
- 要下載Ganache框架,請(qǐng)?jiān)跒g覽器中打開下面的鏈接,http://truffleframework.com/ganache/
- 下載Ganache for MacOS
- 像其他Mac軟件一樣安裝它
- 加載它
第5步,安裝nodejs和npm
- 如果已經(jīng)安裝了最新版本,則跳過此步驟;如果安裝了較舊版本,則計(jì)劃將其更新為最新版本。
- 要安裝nodejs,請(qǐng)使用以下命令:
- 要檢查安裝的版本,請(qǐng)?jiān)诿钕旅骀I入,
- 對(duì)于nodejs,使用以下命令:
- 對(duì)于NPM,使用以下命令:
第6步,安裝Truffle
- 如果你已經(jīng)安裝了Truffle,但它不是最新版本,那么我建議你刪除它以避免出現(xiàn)任何問題,從你的計(jì)算機(jī)中刪除Truffle請(qǐng)使用以下命令:
現(xiàn)在要安裝Truffle,請(qǐng)使用以下命令:
npm install -f truffle第7步,安裝Atom
- 要安裝Atom文本編輯器,請(qǐng)?jiān)跒g覽器的URL下打開https://github.com/atom/atom
- 轉(zhuǎn)到發(fā)行版并下載Mac可安裝文件 atom-mac.zip
- 提取文件并像其他Mac軟件一樣安裝它。
- 打開已安裝的Atom,然后從菜單中單擊安裝shell命令“Install Shell Commands”
- 現(xiàn)在打開終端并鍵入以下命令以在Atom中安裝擴(kuò)展以獲得solidity支持:
祝賀你!你的以太坊設(shè)置已經(jīng)完成,可以使用了。
現(xiàn)在,為了驗(yàn)證設(shè)置是否有效,讓我們進(jìn)行一些資金轉(zhuǎn)賬和檢查余額,
- 打開終端并創(chuàng)建具有任意名稱的目錄
例如mkdir blockchain
- 現(xiàn)在更改目錄
- 現(xiàn)在要?jiǎng)?chuàng)建Truffle項(xiàng)目,請(qǐng)使用以下命令:
- 完成上述語句后,你應(yīng)該能夠看到以下文件結(jié)構(gòu):
- truffle.js,truffle配置文件。
- 測(cè)試,用于測(cè)試應(yīng)用程序和合約的測(cè)試文件目錄。
- 遷移,可腳本部署文件的目錄。
- 合約-Solidity合約目錄。
- 要使用開發(fā)帳戶,請(qǐng)使用以下命令:
執(zhí)行上述命令后,你將看到Truffle將創(chuàng)建10個(gè)默認(rèn)帳戶,初始余額為100個(gè)以太。
- 要檢查余額,請(qǐng)使用Web3 API,如下所示:
第一個(gè)帳戶:
web3.fromWei(web3.eth.getBalance(‘0x627306090abab3a6e1400e9345bc60c78a8bef57’), ‘ether’).toNumber()第二個(gè)帳戶:
web3.fromWei(web3.eth.getBalance(‘0xf17f52151ebef6c7334fad080c5704d77216b732’), ‘ether’).toNumber()- 現(xiàn)在,讓我們使用命令將1個(gè)以太從帳戶1轉(zhuǎn)賬到帳戶2:
上圖顯示一個(gè)以太的資金成功地從一個(gè)賬戶轉(zhuǎn)賬到另一個(gè)賬戶。
總結(jié)
作為本文的一部分,你已經(jīng)使用各種工具(如geth、ganache、truffle)設(shè)置了以太坊開發(fā)環(huán)境,這些工具可以幫助你快速實(shí)現(xiàn)開發(fā)生命周期。此外,我們還了解了如何將資金從一個(gè)帳戶轉(zhuǎn)賬到另一個(gè)帳戶,并檢查帳戶余額。
參考文獻(xiàn):
https://brew.sh/
https://www.ethereum.org/cli
https://github.com/ethereum/go-ethereum/wiki/geth
http://truffleframework.com/ganache/
http://truffleframework.com/
https://ide.atom.io/
======================================================================
分享一些比特幣、以太坊、EOS、Fabric等區(qū)塊鏈相關(guān)的交互式在線編程實(shí)戰(zhàn)教程:
- java比特幣開發(fā)教程,本課程面向初學(xué)者,內(nèi)容即涵蓋比特幣的核心概念,例如區(qū)塊鏈存儲(chǔ)、去中心化共識(shí)機(jī)制、密鑰與腳本、交易與UTXO等,同時(shí)也詳細(xì)講解如何在Java代碼中集成比特幣支持功能,例如創(chuàng)建地址、管理錢包、構(gòu)造裸交易等,是Java工程師不可多得的比特幣開發(fā)學(xué)習(xí)課程。
- php比特幣開發(fā)教程,本課程面向初學(xué)者,內(nèi)容即涵蓋比特幣的核心概念,例如區(qū)塊鏈存儲(chǔ)、去中心化共識(shí)機(jī)制、密鑰與腳本、交易與UTXO等,同時(shí)也詳細(xì)講解如何在Php代碼中集成比特幣支持功能,例如創(chuàng)建地址、管理錢包、構(gòu)造裸交易等,是Php工程師不可多得的比特幣開發(fā)學(xué)習(xí)課程。
- c#比特幣開發(fā)教程,本課程面向初學(xué)者,內(nèi)容即涵蓋比特幣的核心概念,例如區(qū)塊鏈存儲(chǔ)、去中心化共識(shí)機(jī)制、密鑰與腳本、交易與UTXO等,同時(shí)也詳細(xì)講解如何在C#代碼中集成比特幣支持功能,例如創(chuàng)建地址、管理錢包、構(gòu)造裸交易等,是C#工程師不可多得的比特幣開發(fā)學(xué)習(xí)課程。
- java以太坊開發(fā)教程,主要是針對(duì)java和android程序員進(jìn)行區(qū)塊鏈以太坊開發(fā)的web3j詳解。
- python以太坊,主要是針對(duì)python工程師使用web3.py進(jìn)行區(qū)塊鏈以太坊開發(fā)的詳解。
- php以太坊,主要是介紹使用php進(jìn)行智能合約開發(fā)交互,進(jìn)行賬號(hào)創(chuàng)建、交易、轉(zhuǎn)賬、代幣開發(fā)以及過濾器和交易等內(nèi)容。
- 以太坊入門教程,主要介紹智能合約與dapp應(yīng)用開發(fā),適合入門。
- 以太坊開發(fā)進(jìn)階教程,主要是介紹使用node.js、mongodb、區(qū)塊鏈、ipfs實(shí)現(xiàn)去中心化電商DApp實(shí)戰(zhàn),適合進(jìn)階。
- ERC721以太坊通證實(shí)戰(zhàn),課程以一個(gè)數(shù)字藝術(shù)品創(chuàng)作與分享DApp的實(shí)戰(zhàn)開發(fā)為主線,深入講解以太坊非同質(zhì)化通證的概念、標(biāo)準(zhǔn)與開發(fā)方案。內(nèi)容包含ERC-721標(biāo)準(zhǔn)的自主實(shí)現(xiàn),講解OpenZeppelin合約代碼庫(kù)二次開發(fā),實(shí)戰(zhàn)項(xiàng)目采用Truffle,IPFS,實(shí)現(xiàn)了通證以及去中心化的通證交易所。
- C#以太坊,主要講解如何使用C#開發(fā)基于.Net的以太坊應(yīng)用,包括賬戶管理、狀態(tài)與交易、智能合約開發(fā)與交互、過濾器和交易等。
- EOS入門教程,本課程幫助你快速入門EOS區(qū)塊鏈去中心化應(yīng)用的開發(fā),內(nèi)容涵蓋EOS工具鏈、賬戶與錢包、發(fā)行代幣、智能合約開發(fā)與部署、使用代碼與智能合約交互等核心知識(shí)點(diǎn),最后綜合運(yùn)用各知識(shí)點(diǎn)完成一個(gè)便簽DApp的開發(fā)。
- 深入淺出玩轉(zhuǎn)EOS錢包開發(fā),本課程以手機(jī)EOS錢包的完整開發(fā)過程為主線,深入學(xué)習(xí)EOS區(qū)塊鏈應(yīng)用開發(fā),課程內(nèi)容即涵蓋賬戶、計(jì)算資源、智能合約、動(dòng)作與交易等EOS區(qū)塊鏈的核心概念,同時(shí)也講解如何使用eosjs和eosjs-ecc開發(fā)包訪問EOS區(qū)塊鏈,以及如何在React前端應(yīng)用中集成對(duì)EOS區(qū)塊鏈的支持。課程內(nèi)容深入淺出,非常適合前端工程師深入學(xué)習(xí)EOS區(qū)塊鏈應(yīng)用開發(fā)。
- Hyperledger Fabric 區(qū)塊鏈開發(fā)詳解,本課程面向初學(xué)者,內(nèi)容即包含Hyperledger Fabric的身份證書與MSP服務(wù)、權(quán)限策略、信道配置與啟動(dòng)、鏈碼通信接口等核心概念,也包含F(xiàn)abric網(wǎng)絡(luò)設(shè)計(jì)、nodejs鏈碼與應(yīng)用開發(fā)的操作實(shí)踐,是Nodejs工程師學(xué)習(xí)Fabric區(qū)塊鏈開發(fā)的最佳選擇。
- Hyperledger Fabric java 區(qū)塊鏈開發(fā)詳解,課程面向初學(xué)者,內(nèi)容即包含Hyperledger Fabric的身份證書與MSP服務(wù)、權(quán)限策略、信道配置與啟動(dòng)、鏈碼通信接口等核心概念,也包含F(xiàn)abric網(wǎng)絡(luò)設(shè)計(jì)、java鏈碼與應(yīng)用開發(fā)的操作實(shí)踐,是java工程師學(xué)習(xí)Fabric區(qū)塊鏈開發(fā)的最佳選擇。
- tendermint區(qū)塊鏈開發(fā)詳解,本課程適合希望使用tendermint進(jìn)行區(qū)塊鏈開發(fā)的工程師,課程內(nèi)容即包括tendermint應(yīng)用開發(fā)模型中的核心概念,例如ABCI接口、默克爾樹、多版本狀態(tài)庫(kù)等,也包括代幣發(fā)行等豐富的實(shí)操代碼,是go語言工程師快速入門區(qū)塊鏈開發(fā)的最佳選擇。
總結(jié)
以上是生活随笔為你收集整理的在MacOS上构建以太坊开发环境的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 装修心得体会(家装团购实战版)
- 下一篇: Noip2011 Day1 T1 铺地毯