简介
本章介绍了用户如何新建一个普通节点或抵押节点,来接入MATRIX主网,以及做矿工或验证者抵押的方法和过程。
浏览器和钱包
区块链浏览器地址:https://tom.matrix.io
普通节点
您可以选择家用台式机或者笔记本作为普通节点。
节点配置
CPU:4核
内存:8G
硬盘存储:500GB
文件下载
下载地址:https://github.com/MatrixAINetwork/GMAN_CLIENT
解压到当前文件夹,使用其中的0620版本。
windows环境启动
- 建一个文件夹,将0620版本中的MANGenesis.json,windows下的gman.exe,拷贝到该文件夹,并在该文件夹下新建一个文件夹命名为chaindata,将man.json拷贝到chaindata内。目录结构如下:
- 打开cmd命令行,执行初始化指令:
1 | gman.exe --datadir ./chaindata init ./MANGenesis.json |
- 执行启动命令:
1 | gman.exe --datadir ./chaindata --networkid 1 --debug --verbosity 1 --gcmode archive --outputinfo 1 --syncmode full |
注:参数
--rpc --rpcaddr 0.0.0.0 --rpccorsdomain '*'
为gman开启了RPC接口服务,默认端口为8341。
- 启动成功后再重新打开一个cmd命令行,执行指令,进入交互终端。
1 | gman.exe attach ipc:\\.\pipe\gman.ipc |
- 执行 net.peerCount 查看节点连接数,执行 man.blockNumber 查看区块高度(已开始同步区块表示启动成功)
linux & mac环境启动
- 安装lrzsz(实现Linux服务器和window互传文件的工具)。
1 | yum -y install lrzsz |
- lrzsz导入MANGenesis.json
- lrzsz导入gman
- 创建chaindata,并将man.json导入该路径下
1 | mkdir chaindata |
- 修改gman权限
1 | chmod +x gman |
- 初始化创世文件
1 | ./gman --datadir ./chaindata/ init ./MANGenesis.json |
- 启动gman
1 | ./gman --datadir ./chaindata --rpc --rpcaddr 0.0.0.0 --rpccorsdomain '*' --networkid 1 --debug --verbosity 1 --gcmode archive --outputinfo 1 --syncmode full |
注:参数
--rpc --rpcaddr 0.0.0.0 --rpccorsdomain '*'
为gman开启了RPC接口服务,默认端口为8341。
- Gman启动成功后,重新开启一个命令行窗口,并执行如下命令进入交互终端。
1 | ./gman attach ./chaindata/gman.ipc |
- 执行 net.peerCount 查看节点连接数,执行 man.blockNumber 查看区块高度(已开始同步区块表示启动成功)
矿工或验证者节点
环境准备
需要有专线网络环境(独立IP)。
校准机器时间。
开放 TCP 和 UDP 50505 端口。
- 打开 UDP 方式参照上述 TCP 内容
请注意:UDP 和 TCP 名称要区分,不可相同
- 文件下载,具体参见普通节点—>文件下载章节。
windows环境启动
- 新建一个文件夹,将0620版本中的MANGenesis.json,windows下的gman.exe,拷贝到该文件夹,并在该文件夹下新建一个文件夹命名为chaindata,将man.json拷贝到chaindata内。目录结构如下:
- 在钱包端创建keystore、账户地址和密码password(切记密码),钱包地址:https://wallet.matrix.io
- 在chaindata下建立keystore文件夹,并将上一步下载的keystore放在该文件夹下
- 在gman.exe同级别目录下,创建账户信息文件signAccount.json,并将钱包中创建的账户地址和密码写入signAccount.json中。signAccount.json内容如下:
1 | [ |
- 加密账户文件,打开命令行窗口,执行以下命令:
1 | gman.exe --datadir ./chaindata aes --aesin ./signAccount.json --aesout entrust.json |
- 初始化创世文件,执行以下命令:
1 | .gman --datadir ./chaindata/ init ./MANGenesis.json |
- 启动gman,执行以下命令,需要将地址部分修改为自己的地址。
1 | gman --datadir ./chaindata --networkid 1 --debug --verbosity 1 --manAddress [`MAN.3ZiStKpKvTa9RWTQuncaAHjx98Spy`] --entrust ./entrust.json --gcmode archive --outputinfo 1 --syncmode full |
- 查看连接状态,打开命令行窗口,执行以下命令进入交互终端。
1 | gman.exe attach ipc:\\.\pipe\gman.ipc |
执行 net.peerCount 查看节点连接数,执行 man.blockNumber 查看区块高度(已开始同步区块表示启动成功)
linux & mac环境启动
钱包端创建keystore、账户地址和密码password,参照windows环境启动。
安装lrzsz(实现Linux服务器和window互传的文件工具)。
1 | yum -y install lrzsz |
- lrzsz导入MANGenesis.json,gman。
- 创建chaindata,并将man.json导入该路径。
1 | mkdir chaindata |
- 在chaindata下建立keystore文件夹,并将钱包端下载的keystore放在该文件夹下。
- 在gman同级别路径下创建signAccount.json,钱包中创建的账户地址和密码写入signAccount.json中,signAccount.json内容格式如下:
1 | [ |
- 修改gman权限。
1 | chmod +x gman |
- 加密账户文件,生成密文。
1 | ./gman --datadir ./chaindata aes --aesin ./signAccount.json --aesout entrust.json |
- 初始化创世文件。
1 | ./gman --datadir ./chaindata/ init ./MANGenesis.json |
- 启动gman,执行以下命令,需要将地址部分替换为自己的地址。
1 | ./gman --datadir ./chaindata --networkid 1 --debug --verbosity 1 --manAddress MAN.3ZiStKpKvTa9RWTQuncaAHjx98Spy --entrust ./entrust.json --outputinfo 1 --syncmode full |
- 查看连接状态,执行如下命令行:
1 | ./gman attach ./chaindata/gman.ipc |
执行 net.peerCount 查看节点连接数,执行 man.blockNumber 查看区块高度(已开始同步区块表示启动成功)
路由器配置(映射 50505 端口)
如前文所述,无论是m(矿工)节点还是v(验证者)节点运行gman程序时,都要保证机器有独立的公网ip,且机
器端口50505开放,否则挖矿不成功。
特殊场景之家用路由器配置:(注:部分路由器不支持nat功能,请查找相关资料配置)
下方以华为路由器为例,介绍如何将挖矿机器50505端口暴露出去:
- 登录路由器
- 点击‘更多功能’
- NAT功能一般在安全设置里面
- 添加NAT,端口设置为50505,主机项选择当前挖矿机器ip,内部端口选择50505 (协议类型要同时配置TCP /UDP) 。一般情况下,一个公网设备只能映射出一个端口。
查看机器ip:
- windows机器直接查看网络连接。查看网卡ip:
- 类Unix (MAC/centos/ubuntu)机器:使用命令 sudo ifconfig –a 可查看ip