本教程基於Ubuntu。
測試節點的搭建,solana已經准備好了docker鏡像,因此先要保證你本機上已經可以運行docker。
基於上文:
solana1.4.x提供了一個localnet.sh的腳步可以搭建一個本地的solana節點,然后在上面發布合約。 但是從solana1.5.0以后,官方又為我們增加了一個”solana-test-validator”命令,方便我們啟動自己的測試節點。
使用npm
1、在自己的機子上安裝好npm
sudo apt install nodejs -y sudo apt install npm -y
查看當前安裝的版本
root@ubuntu:~# sudo node -v v8.11.4 root@ubuntu:~# sudo npm -v 5.8.0
這里主要借助npm對”@solana/web3.js”的包管理,將相關腳本通過node_modules拉下來,並提供啟動 入口。使用npm主要是可以方便集成,不需要關心太多細節。
2、創建一個目錄”localnet_test”,然后執行:
npm init npm install @solana/web3.js
注意:執行 npm install @solana/web3.js可能會出錯,升級npm到最新版本即可解決。
3、初始化好目錄並安裝好”@solana/web3.js”。然后添加啟動腳本,編輯pacakge.json,增加scripts字段:
"localnet:up": "set -x; solana-localnet down; set -e; solana-localnet up",
"localnet:down": "solana-localnet down",
"localnet:logs": "solana-localnet logs -f"
如圖所示:
solana-test-validator安裝
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
4、這里我們以這樣的命令來啟動本地測試節點:
nohup solana-test-validator --log > solana.log 2>&1 &
5、這里首先通過”nohup” 加上最后的”&”,讓節點程序在后台運行。然后通過” — log > solana.log”選項, 讓節點打印出日志。並通過2>&1
將錯誤日志也重定向到文件中。
之后我們通過 :
tail -f solana.log
6、就可以查看滾動的節點日志了。如果再加上”grep”和我們日志的中的關鍵字,就可以過濾出我們自己合約中的關鍵 日志了。
注:可能會出現異常,根據下面的圖片處理
通過Solana的源碼編譯啟動
首先我們去到solana的github 下載最新的版本,然后在本地解壓,並設置bin目錄到Path路徑。或者直接在bin目錄下執行
solana-test-validator -h
如圖:
這些選項中,通過 — log可以打印節點運行日志;通過-C指定使用的config文件, 默認為”~/.config/solana/cli/config.yml”;通過-l指定節點區塊信息存儲目錄,不指定時為當前目錄; — rpc-port指定了RPC的端口,默認為8899以及websocket的8900。
啟動本地測試節點:
nohup solana-test-validator --log > solana.log 2>&1 &
校驗
執行下面命令
curl -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1, "method":"getTransactionCount"}' http://localhost:8899
如果出現下圖所示提示,則表示本地的測試網已經搭好了。
配置本地測試網地址
如果需要設置我們的solana命令配置到本地測試網地址,執行:
solana config set --url http://localhost:8899
提示這個則設置成功:
可以通過下面命令查看Solana的docker鏡像版本:
solana cluster-version
如下圖所示: