Solana搭建本地测试节点

本教程基于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

如下图所示:

 

posted @ 2021-12-07 20:28  SoyWang  阅读(1293)  评论(0编辑  收藏  举报