初始化节点
要初始化验证器节点,请记下您的节点将在其中运行的服务器的静态IP,并从/localhostdir/node
目录中发出以下命令 :
1 | STATIC_IP=<YOUR-STATIC-IP> #假设你的server地址为192.168.1.1,那么就把“<YOUR-STATIC-IP>”替换为“192.168.1.1” |
1 | oasis-node registry node init \ |
若按照官网的执行命令:
1 | oasis-node registry node init \ |
则报错:
1 | ts=2020-03-04T05:05:58.474236972Z level=error module=cmd/registry/node caller=node.go:138 msg="failed to load entity" err="file does not exist" |
1 | oasis-node registry entity update \ |
若按照官网的执行命令:
1 | oasis-node registry entity update \ |
则会报错:
1 | ts=2020-03-04T05:19:22.29317851Z level=error module=cmd/registry/entity caller=entity.go:153 msg="failed to load entity" err="file does not exist" |
接下来进到server虚拟机的命令行:
Running an Oasis Node on the server
设置Oasis节点的工作目录
在节点上运行节点之前,server
我们需要确保有一个地方可以存储该节点的必要文件。
设置/serverdir
目录
在/serverdir
目录中,我们将创建以下子目录:
etc/
-这是存储配置node/
-这是存储节点的数据node/entity/
-这是存储节点实体的公共组件
在我的实践中若按照官网的创建命令:
1 | mkdir -m700 -p /serverdir/{etc,node,node/entity} |
发现输入完也无法建立,多次尝试发现因为多了个“/”,以下是成功的尝试:
1 | mkdir -m700 -p serverdir/{etc,node,node/entity} |
学到了一个命令:
<< EOF >config.yml
(然后复制内容到这里)
EOF#最后在输入EOF退出,系统就生成了一个config.yml文件
Configuring the Oasis Node
config.yml中的
{{ external_address }}
应该是server连上网络的的ip,命令行输入ifconfig可看到
{{ seed_node_address }}
:要改成下面的这个种子地址
D14B9192C94F437E9FA92A755D3CC0341F2E87CF@34.82.86.53:26656
line 19: cannot unmarshal !!str datadir...
into map[string]interface {}
启动Oasis节点
通过运行以下命令来启动节点(此时在serverdir目录下):
官网的指南:
1 | oasis-node --config /serverdir/etc/config.yml |
这样输入会说找不到目录
应该这样:
1 | oasis-node --config etc/config.yml |