基於星雲鏈的智慧合約與Dapp(一)——編譯安裝星雲鏈

weixin_33751566發表於2018-07-03

因為星雲開發者獎勵計劃的原因,我開始嘗試智慧合約與Dapp的開發。基於星雲鏈的智慧合約使用JavaScript或者TypeScript,相較於以太坊語言學習成本相對較低。接下來一系列文章我將把Dapp開發過程中學習到的內容記錄下來,給有興趣或感興趣的讀者提供一些參考。前面幾章的內容基本借鑑官方Wiki

Golang環境搭建

開發環境我使用的Mac OSX。

Components Version Description
Golang >=1.9.2 The Go Programming Language

在Mac OSX裡,推薦使用Homebrew來安裝Golang

#安裝Golang
brew install go

#配置環境變數
export  GOPATH=/path/to/workspace (根據你自己的情況來配置環境變數)

提示:在golang的開發中,GOPATH是必須的,它指定了golang開發的工作空間,所有的原始碼都應該放在GOPATH之下。關於golang環境配置,不明白的朋友可以去搜尋更詳細的教程。最後,完成golang的安裝一定要記得重啟終端

編譯星雲鏈

下載原始碼

可以使用如下指令直接下載最新版本的星雲鏈原始碼

#建立並進入工作目錄
mkdir -p $GOPATH/src/github.com/nebulasio
cd $GOPATH/src/github.com/nebulasio

#下載原始碼
git clone https://github.com/nebulasio/go-nebulas.git

# 進入專案目錄
cd go-nebulas

# 切換到最穩定的master分支
git checkout master

提示:除了使用git命令來獲取原始碼之外,還可以通過git工具來克隆原始碼,根據個人喜好來選擇克隆方式

安裝rocksdb依賴庫

在Mac上可以直接通過Homebrew來安裝

#在終端執行
brew install rocksdb
安裝Go依賴庫

在Go-Nebulas中,Go的三方庫都通過Dep來管理。

Components Version Description
Dep >=0.3.1 Dep is a dependency management tool for Go.
安裝Dep工具

通過Homebrew直接安裝並升級Dep

#安裝dep
brew install dep

#更新dep
brew upgrade dep
下載Go三方庫

切換到Go-Nebulas專案根目錄,然後使用Dep來下載三方庫。

cd $GOPATH/src/github.com/nebulasio/go-nebulas
make dep

make dep將會下載很多依賴庫。在部分地區,這個過程可能比較耗時或直接失敗。可以直接下載vendor.tar.gz,使用下列指令通過解壓縮包來安裝go依賴庫。

cd $GOPATH/src/github.com/nebulasio/go-nebulas
wget http://ory7cn4fx.bkt.clouddn.com/vendor.tar.gz
tar zxf vendor.tar.gz
安裝Chrome V8依賴庫

星雲虛擬機器目前依賴於Chrome的V8引擎,為了大家使用方便,星雲官方已經編譯好了V8的動態庫。執行如下指令就可以完成安裝。

cd $GOPATH/src/github.com/nebulasio/go-nebulas
make deploy-v8

提示:linux環境下如果報錯類似"/usr/local/lib/libv8.so: undefined reference to ** ",是因為/user/local/lib/不在你動態庫索引內, 只需要到/etc/ld.so.conf.d/下新增檔案,xxxx.conf即可,檔案內容為/user/local/lib. 然後執行sudo ldconfig使改動生效

編譯可執行檔案

完成所有上述依賴庫的安裝後,現在我們可以進入Go-Nebulas根目錄編譯星雲鏈的可執行檔案了。

cd $GOPATH/src/github.com/nebulasio/go-nebulas
make build

編譯成功後,將會看到如下資訊
3229163-fef9787bf7309dfe.png
編譯成功

下一章

執行星雲鏈

相關文章