YOYOW超级节点创建教程以及常用命令
yoyow 2019-06-13发布

超级节点在YOYOW区块链上的用户身份是见证人(witness),在YOYOW 2.0上线之后,超级节点的部分命令发生了变化。新的教程供大家参考。

节点教程

YOYOW

微信图片_20190613112519.jpg

一、 服务器配置:

服务器配置: 最低配置建议为 2核心CPU并配备至少4GB内存,40GB硬盘。

本教程将以Ubuntu 16.04系统为例,介绍超级节点的创建部署等过程。

二、 软件安装:

访问 https://github.com/yoyow-org/yoyow-core/releases,根据操作系统选择下载最新 release 的可执行文件或从https://github.com/yoyow-org/yoyow-core/ 获取源代码进行编译,下面将演示通过下载可执行文件的方式进行配置:

下载文件:# wget https://github.com/yoyow-org/yoyow-core/releases/download/v2.0.0-190531/yoyow-v2.0.0-ubuntu16-20190531.tgz解压:# tar zxvf yoyow-v2.0.0-ubuntu16-20190531.tgz

解压后 会在yoyow-v2.0.0-ubuntu16-20190531文件夹下 得到两个文件: yoyow_node 和 yoyow_client。

yoyow_node是节点程序,负责同步区块链上数据,广播交易,打包交易生成新区块等。

yoyow_client是客户端程序,也叫钱包程序,负责管理私钥,生成交易信息,并签名。yoyow_client需要连接到yoyow_node才能使用。

 

三、 节点同步区块

超级节点需要至少维护一个全节点(同步了所有数据的yoyow_node进程),在linux上建议使用screen, 防止进程退出。

# cd yoyow-v2.0.0-ubuntu16-20190531# ./yoyow_node --rpc-endpoint 127.0.0.1:8090

 

看到"Got block"信息则代表运行成功,正在同步数据。

1585526ms th_a       application.cpp:522           handle_block         ] Got block: #10000 00002710f9480417d70a548a44a4ca3dbae10d17 time: 2017-09-06T18:30:09 latency: 55007776526 ms from: 28182/init10  irreversible: 9991 (-9)

 

可以根据打印信息中块的时间以及延迟(蓝色的部分)来判断是否已经同步到最新的区块。如果同步到了最新区块,会每3秒输出一次最新区块的信息。

 

四、配置钱包

yoyow_node 同步到最新块后,可以直接运行 “./yoyow_client”,默认会连接本地的8090端口。

如果暂时没有同步完成,可以通过指定 -s 参数 连接公共的node 节点。比如:

# ./yoyow_client -s wss://api-bj.yoyow.org

 

1. 设置密钥

提示符显示为new的时候需要先设置钱包密码,比如密码是yoyow-pass,如下

new >>> set_password yoyow-passset_password yoyow-passnulllocked >>>

设置密码完成后,解锁钱包(输入之前输入的密码),钱包显示Unlock>>>状态即可对钱包进行操作。

locked >>> unlock yoyow-passunlock yoyow-passnullunlocked >>>

2. 注册账号

登录网页钱包网址:https://wallet.yoyow.org/ ,按照提示,注册yoyow账号。账号注册完之后,比如账号是25638,可以用命令查看:

unlocked >>> get_account 25638get_account 25638{ "uid": 25638, "name": "init", "owner": {   "weight_threshold": 1,   "account_auths": [],"account_uid_auths": [],…

 

3. 导入私钥

私钥可以在网页钱包https://wallet.yoyow.org/#/settings/viewpurview 中查看,点击 “资金密钥(active key)”后的查看私钥,输入密码,复制私钥。

通过import_key导入私钥,后面跟了两个参数,一个是yoyow账号名,一个是私钥(此处导入的是你的YOYOW钱包资金密钥)。

unlocked >>> import_key 25638 5Hqwx3xXMYZ55Pko9nzw34234234nXHcGfNQjNEL23424w7Py

 

4. 测试转账

可以转给自己的第二个yoyow账号进行转账测试,比如从25638账号转100个YOYO代币给账号test。

unlocked >>> transfer 25638 test 100 YOYO "" true

 

该命令默认使用积分抵扣手续费,如果积分不足可以在网页钱包领取累计的积分,如果还没有累计足够的积分,那么需要使用transfer_new的接口,在倒数第二个参数上添加fasle值,使用零钱支付手续费,参考:transfer_new。

可以通过网页钱包查看转账是否到账。

 

五、创建超级节点

1. 生成出块密钥(signing key)

通过suggest_brain_key生成密钥,准备创建超级节点。切记保存好这个密钥和公钥,后面的操作要用到。

unlocked >>> suggest_brain_keysuggest_brain_key{ "brain_priv_key": "NONCOME WOG LIGULE FARAWAY ADEVISMALOOSE SORCER", "wif_priv_key":"5A34DFDSFereGDGGERTRT87UJLKDFHGSHFFKDSFSDFHE4532624535G", "pub_key":"YYW4UOIUFDSfjoiw750alsjfoiujasdjflsajdfaiyuhoasifjdOISUJKfsdh"}

里面YYW开头的是公钥,wif_priv_key私钥自己存好,不要泄露(红色为公钥 蓝色为私钥)

 

2. 创建超级节点

create_witness此处用的key是上一步中生成的pub_key

unlocked >>> create_witness 25638 YYW4UOIUFDSfjoiw750alsjfoiujasdjflsajdfaiyuhoasifjdOISUJKfsdh 10000 YOYO "https://yoyow.org" true true

 注:create_witness 的参数依次为

<owner_account>账号id
<block_signing_key>超级节点的出块公钥
<pledge_amount>抵押金额,至少抵押10000 YOYO
<pledge_asset_symbol>抵押币种,目前只能是YOYO
<url>超级节点简介的url
<csaf_fee>是否使用积分抵扣手续费,true: 积分抵扣手续费,false: 零钱支付手续费
<broadcast>是否广播交易

目前主网上创建超级节点 需要抵押至少10000 YOYO,同时消耗1000 YOYO的手续费,手续费不能由积分或者零钱支付,必须从余额扣除,所以请保证余额中有足够多的YOYO。

 

3. 检查超级节点

unlocked >>> get_witness 25638

 

4. update_witness 修改超级节点抵押金额(抵押1万yoyow币,确保钱包余额至少有1万yoyow币)

unlocked >>> update_witness 25638 null 10000 YOYO null true true

update_witness 的参数与create_witness 的参数相同,如果不想修改某个参数,该参数需要置位null。

update_witness 的手续费则与大多数操作一样,可以使用积分抵扣或者零钱支付,如果还没有累积到足够多的积分,可以将倒数第二个参数设为false,使用零钱中的YOYO支付手续费。

 

5. 超级节点投票

给自己投票

unlocked >>> update_witness_votes 25638 [25638] [] true true

给别人投票(举例25638给23456投票)

unlocked >>> update_witness_votes 25638 [23456] [] true true

6. 然后用get_witness命令看得票数量("total_votes"),以及抵押数量("pledge")

 

7. Ctrl + C 可以退出钱包命令行

六、运行超级节点程序

第三步同步节点,同步到最新块后,可以通过Ctrl+C结束进程,添加超级节点的参数。需要特别注意的是,Ctrl+C只需要按一次,然后等待退出即可

执行如下命令,带上自己超级节点的uid和出块密钥作为参数(此处私钥和公钥是创建超级节点时生成的密钥)

# ./yoyow_node --rpc-endpoint -w 25638 --private-key'["YYW4UOIUFDSfjoiw750alsjfoiujasdjflsajdfaiyuhoasifjdOISUJKfsdh","5A34DFDSFereGDGGERTRT87UJLKDFHGSHFFKDSFSDFHE4532624535G"]'

 

正常出块时,会显示类似如下信息

3249002ms th_a      witness.cpp:183              block_production_loo ] Generated block #192100000781196d14610bc781ce1880193d153c0200 with timestamp 2017-08-18T01:54:09 attime 2017-08-18T01:54:09 by 28182/init10

 

七、超级节点调整抵押,收益获取

重新启动命令行钱包,连上节点,进行其他检查测试

1.用get_witness 命令可以看到出块信息,比如

unlocked >>> get_witness 25638get_witness 25638{..."last_confirmed_block_num": 1975,  …

 

如果看到

 "signing_key":"YYW1111111111111111111111111111111114T1Anm",

表示超级节点已经离线,需要用 update_witness 命令重新设置出块签名密钥,才能正常出块。

unlocked >>> update_witness 25638 YYW4UOIUFDSfjoiw750alsjfoiujasdjflsajdfaiyuhoasifjdOISUJKfsdh null null null true true

 

2.用get_full_account 命令可以看到更详细的账户信息,包括出块奖励等

unlocked >>> get_full_account 25638get_full_account 25638{..."uncollected_witness_pay": 55500000,

数值除以10万即为实际YOYO数额,即待领取的出块收益是555 YOYO

 

3.领取出块奖励/工资

collect_witness_pay 可以领取超级节点区块奖励,参数分别为:

<account>账号id
<amount>领取工资的数量
<asset >资产名 目前只能是YOYO
<csaf_fee>是否使用积分抵扣手续费,true: 积分抵扣手续费,false: 零钱支付手续费
<broadcast>是否广播交易

 

比如领取账号25638的超级节点奖励(100 YOYO):

unlocked >>> collect_witness_pay 25638 100 YOYO true true

 

 4. 不想当超级节点了的话,先设置离线

unlocked >>> update_witness 25638 YYW1111111111111111111111111111111114T1Anm null null null true true

 

然后将押金改为0,过一段时间会退回(如果没有因为作恶被扣除的话)

unlocked >>> update_witness 25638 null 0 YOYO null true true

 

八、安全配置

节点运行正常后,为了节点安全,建议更改 ssh 端口,同时更改成密钥登录。

以前的一个老教程,也可以参考下

https://bitsharestalk.org/index.php/topic,24851.0.html

教程如有任何问题或者其他错误欢迎在文章的下面留言,我们会及时更新教程给大家。

点击进入招聘详情>
微信扫一扫
关注区块链新金融
扫一扫
下载数链APP
内容合作/商务合作:
gxcj@gongxiangcj.com
联系电话:
021-31128751