以太坊開發 | 環境準備

 

這篇寫於我第一次嘗試部署智能合約之時。首先配置好了geth環境、搭建了一條私鏈。然後瞭解了一下智能合約的開發工具。感謝本篇引用到的網絡教程們,是這些教程讓開發對新手友好。也希望我的文章能有那麼一點點作用。

操作系統:macOS Mojave 10.14

 

1. 環境準備:geth客戶端和以太坊賬戶

先拋開truffle、solidity這類合約相關的內容不談,我們首先要做的是:(1)安裝並啓動geth客戶端,(2)搭建測試鏈並設置好賬戶。

 

1.1| geth安裝

brew tap ethereum/ethereum
brew install ethereum

運行 brew tap ethereum/ethereum 報錯:

remote: Repository not found.
fatal: repository 'https://github.com/ethereum/homebrew-thereum/' not found
Error: Failure while executing; `git clone https://github.com/ethereum/homebrew-thereum /usr/local/Homebrew/Library/Taps/ethereum/homebrew-thereum --depth=1` exited with 128.

根據網上文章判斷是在terminal手動輸入的用戶名密碼與之前本地保存過的不一致。嘗試:

1. 刪除掉“鑰匙串訪問”中所有與Github有關的條目。未果。

2. 刪除掉~/.ssh下的github_rsa和github_rsa.pub。成功。看來是本地不知什麼時候保存的ssh與手動輸入的賬戶不匹配導致報錯。

 

1.2| 啓動geth客戶端

geth --datadir testNet --dev console 2>> test.log

--datadir testNet表示將區塊數據及密鑰存放在testNet文件夾(在當前目錄新建的文件夾)中;

--dev表示啓動的是開發者網絡,啓動後會自動分配一個賬戶給當前區塊鏈;

console表示進入控制檯模式;

2>> test.log表示將控制檯日誌輸出到test.log中。test.log與啓動節點後生成的testNet文件夾在同一目錄下,是平級而不是包含關係。

 

* 新開一個終端窗口,跳至test.log所在的文件夾下,輸入以下語句可以看到log信息。

tail -f test.log

 

1.3| 新建一個能夠部署智能合約的賬戶

詳見智能合約開發環境搭建及Hello World合約,參考“準備賬戶-》創建賬戶+給新賬戶轉賬+解鎖賬戶”這部分即可。寫得很清晰。

以上所部署的賬戶信息在退出geth後仍舊會保留。

至此準備工作完成,可以準備寫智能合約啦。

 

2. 工具介紹:truffle

介紹合約開發工具們。

 

2.1| 什麼是Solidity?

使用最多的以太坊智能合約語言。可選的還有Serpent(類Python),III(類Fortran)。Solidity類似Java。

 

2.2| 什麼是Truffle?

Truffle是一套開發框架,針對基於以太坊Solidity語言的開發。Truffle本身基於Javascript。

方便智能合約的開發、測試、部署,高度集成。

 

2.3| 什麼是Ganache?

Ganache(戳這裏下載dmg安裝包)是一個應用程序,與truffle配套使用。其因有圖形界面而被建議取代之前的testrpc。安裝好後要以開發者模式打開,即:進入finder-》應用程序,找到Ganache.app右鍵,然後按住shift後點擊“打開”。

打開後點擊“Quick Start”程序會自動建立10個賬號,每個賬號擁有100個以太幣。這些賬號和以太幣都是假的(僅運行在內存),每次重新打開會重新生成。

 

2.4| 什麼是Browser-Solidity/Remix?

Remix是Solidity官方推薦的編譯器,有網頁版和本地編譯版(安裝方法)。

網頁版Remix無需本地安裝Solidity便可使用,適合新手。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章