Ulord共识主节点为Ulord的侧链UOS提供记账服务,UOS采用DPOS共识机制,类似董事会投票,持币者投票选出代理节点,进行验证和记账,大幅缩小参与验证和记账节点的数量,提高速度达到秒级的共识验证,此部分节点称为共识主节点。
共识主节点将为UOS网络提供算力和带宽支持,主要任务就是收集UOS侧链的交易信息将其打包进区块,并将区块广播给其他节点,通过验证后再将区块上传至Ulord主链。同时,共识主节点还拥有UOS生态中参数的投票权,链上决策(提案)生效需2/3以上的共识主节点投票通过。
本文档我们将讲述如何搭建共识主节点。
说明:
本教程适用于搭建共识主节点。
第一部分:前期准备工作
一、主节点服务器需求
1、操作系统:
需为ubuntu16.04 64位操作系统。
2、硬件要求:
成为共识主节点必须成功运行主节点服务器,服务器的需求跟主节点种类有关。主节点需要企业级服务器,具有公网IP,最低硬件配置需求如下:
1台服务器:4核 >32G内存 数据磁盘>200G SSD系统硬盘 100G 2M带宽;(不需要公网IP)
1台服务器: 4核 >32G内存 数据磁盘>200G SSD系统硬盘 100G 网络 5Mbps ;公网IP
二、UT押金
申请共识主节点必须得抵押100000UT。
第二部分:如何进行共识主节点部署?
1.从网站上下载安装文件(该文档中下载文件存放在当前用户根目录)
wget ftp://tools.ulord.one/UOS_Testnet.tar.gz
2.解压下载的文件
tar -zxvf ~/UOS_Testnet.tar.gz
3.修改文件执行权限
chmod +x ~/uos/noduos ~/uos/cluos ~/uos/kuosd ~/uos/install.sh ~/uos/uninstall.sh ~/uos/mongodb/bin/mongod
4.安装uos程序
sudo ~/uos/install.sh
5.修改noduos配置文件
配置文件路径:~/uos/cfg/config.ini
(1)修改状态数据库大小,使用free -m 查看当前系统可用内存,最好大于16G可用,下面是把状态数据库配置为20G大小:
chain-state-db-size-mb = 20480
(2)修改http服务地址,假如您的计算机私网ip为10.186.14.20,启用9008端口,如下配置:
http-server-address = 10.186.14.20:9008
(3)修改端口映射,即映射(2)中的服务端口。假如您的公网ip为114.61.17.245,如下配置:
http-alias = 114.61.17.245:9008
如果只有一个公网ip地址,此项与http-server-address填写一致,即:
http-alias = 10.186.14.20:9008
(4)修改p2p服务地址。假如您的计算机私网ip为10.186.14.20,启用12008端口做为数据同步端口,如下设置:
p2p-listen-endpoint = 10.186.14.20:12008
(5)修改p2p服务端口地址映射,即映射(4)中的服务端口。假如您的公网ip为114.61.17.245,如下配置:
p2p-server-address = 114.61.17.245:12008
如果只有一个公网ip地址,此项与p2p-listen-endpoint填写一致,即:
p2p-server-address = 10.186.14.20:12008
(6)增加p2p peer地址。这里是指其它机器的服务地址。如想与公网为114.67.37.2,端口为20581的节点同步数据,如下设置:
p2p-peer-address = 114.67.37.2:20581
这里可以指定多个地址:
p2p-peer-address = 114.67.37.245:12008
p2p-peer-address = 124.232.156.101:12008
p2p-peer-address = 124.232.147.65:12008
(7)修改节点名称
agent-name = "myname"
(8)设置节点名称(假设您的账户名为uosgenesuser)
producer-name = uosgenesuser
(9)设置签名私钥(您的账户的active公私钥对)
signature-provider = UOS6K6EJq8WXrK1nQ92rw7GfuGh9VvBquqSkKw7zLCJEjbZvPNPsE=KEY:5HxmNvuR7fPbRKU87j39B3CoJ5e2zYnuYFLXvukqQt3EARvbnLU
(10)修改加载插件(节点加载以下4个插件即可)
plugin = uosio::chain_api_plugin
plugin = uosio::chain_plugin
plugin = uosio::net_plugin
plugin = uosio::net_api_plugin
6.打开上面服务器的配置的端口
sudo ufw allow 9008 12008
7.运行noduos程序
前台运行命令:
noduos --genesis-json ~/uos/cfg/genesis.json --config-dir ~/uos/cfg/ --data-dir ~/uos/data
后台运行命令:
nohup noduos --genesis-json ~/uos/cfg/genesis.json --config-dir ~/uos/cfg/ --data-dir ~/uos/data &
第三部分:如何申请抵押UT?
1.抵押
一个UOS节点若想申请成为共识主节点,除了服务器的硬件条件外,还需要抵押100000 UOS。因此,该账户需要抵押足够的UOS。命令如下:
cluos system delegatebw uosgenesuser uosgenesuser "50000.0000 UOS" "50000.0000 UOS"
查看该命令的帮助说明,命令如下:
cluos system delegatebw -h
查看抵押是否成功:
cluos get account uosgenesuser
说明:普通用户抵押UOS获取net或cpu资源也是通过该命令实现,普通用户的cpu抵押可用于对共识主节点投票,而net抵押不能用于投票。
2.申请
申请的账户抵押UOS之后,发起申请,命令如下(最后一个参数为ulord地址):
cluos system regproducer uosgenesuser UOS6K6EJq8WXrK1nQ92rw7GfuGh9VvBquqSkKw7zLCJEjbZvPNPsE https://uosgenesuser.com/chain uPmEkuRuq36TvYHYWcNZYJwdVYWc79Z22w
查看该命令的帮助说明,命令如下:
cluos system regproducer -h
查看申请是否成功:
cluos get table uosio uosio producers -l 100
在显示的列表中查看是否已有自己的节点的名称。
网友评论