bitshares测试链如何新增见证人

比特股区块链上希望新增一个见证人的时候我们需要操作一系列的命令。当这个人成为最新见证人后我们还需要在区块链上进行相关操作,以使这个见证人可以给区块进行签名。

我们在之前的文章中已经介绍过cli_wallet的大致使用情况了。下面会介绍如何将一个新注册的账户升级成为见证人

#首先 先解锁钱包 相关流程已经介绍过了 这里就不多说了
#先获得一个私钥
suggest_brain_key
#这次我们的返回值是
#{
  #"brain_priv_key": "LANGAHA CRUSTAL METEOR DARKLY PLUMIFY TANZEB LIMBUS DOWAGER PAINTER QUASHY SUNBEAM HOMILY DOURLY CHUNNER LAKER CREWEL",
  #"wif_priv_key": "5JA6GtE9QtbziadKTGqL3u47w7qCqirFqaJ3VbczLbfsvVifqfD",
  #"pub_key": "BDS77k8XrjxXU8t65wLgVsM5LAWsun7UB3GQJk5Ei13198jPESdDL"
#}
#我这条测试链的公钥前缀是BDS
#下一步我们注册账户
register_account "test.witness" BDS77k8XrjxXU8t65wLgVsM5LAWsun7UB3GQJk5Ei13198jPESdDL BDS77k8XrjxXU8t65wLgVsM5LAWsun7UB3GQJk5Ei13198jPESdDL bdsowner bdsowner 100 true

#随后需要将test.witness这个账户导入
import_key "test.witness1" 5JA6GtE9QtbziadKTGqL3u47w7qCqirFqaJ3VbczLbfsvVifqfD
#我们需要给这个账户足够的钱以便于这个账户能支付升级终身会员的手续费 (成为见证人的先决条件就是这个账户必须是终身会员)
transfer bdsowner "test.witness" 10000 BDS "" true
#升级终身会员 
upgrade_account "test.witness" true true
#下一步是创建见证人 倒数第二个参数为 描述,请注意尽量不要使用中文,有可能出现解析问题 
create_witness "test.witness" "http://www.alpha" true

当上述操作完成后我们就能看见返回值了

{
  "ref_block_num": 34751,
  "ref_block_prefix": 3460952188,
  "expiration": "2018-09-18T02:19:30",
  "operations": [[
      20,{
        "fee": {
          "amount": 500000000,
          "asset_id": "1.3.0"
        },
        "witness_account": "1.2.23",
        "url": "http://www.alpha",
        "block_signing_key": "BDS7kADRE2Czw3XNG7nvpb7ZHU6rSRBdF3NS22QTQgWuHS1yV2M4a" # 这个公钥是区块链为这个见证人创建的随机的一个公钥,如果我们不希望使用这个公钥,我们需要调用命令替换掉这个公钥
      }
    ]
  ],
  "extensions": [],
  "signatures": [
    "1f3a3b61ca31797db37221207c3be3b28863d6de2114205df5e98771cc4072213130f3b6ae8e7e0807d860f76613bacd93a3b935f138963c1d793be5ba75686db7"
  ]
}

这时我们对这个公钥并不满意

# 更换见证人 所留网址或备注 签名公钥
update_witness "test.witness" "" BDS77k8XrjxXU8t65wLgVsM5LAWsun7UB3GQJk5Ei13198jPESdDL true

然后公钥就会变成咱们创建账户时候的公钥了

见证人的创建到这一步已经全部做完了,下一步我们需要增加活跃见证人数量

# 构建交易
begin_builder_transaction
# 这一步命令行会返回一个数字,接下来我们需要一直使用这个数字

在这里先中断一下,因为我需要提前讲解一下我们接下来要传的参数的结构

# 我们会把这个json数组作为参数传入命令行中
[6, {
    "fee": {
        "amount": 0,
        "asset_id": "1.3.0"
    },# 这个字段可以直接传 成死的 因为接下来我们会通过其他方式计算
    "account": "1.2.6", # 投票的账户id 可以在之前通过 命令查到 必须提前导入账户私钥
    "new_options": {
        "memo_key": "BDS7ANxNXLZG9eYFqsBkLvyJdj7b8VjZFq6tb52ucpvtj2gmJ35fT", # 区块链给memo加密的公钥
        "voting_account": "1.2.5", # 代理投票账户 1.2.5 代表着自己
        "num_witness": 12, # 希望存在的见证人数量 如果希望这个区块链有12个见证人的话,需要填写12 不能大于投票中见证人的数量
        "num_committee": 12, # 希望存在的理事会成员数量 必须和自己的投票的理事会成员数量一致
        "votes": ["1:1"],# 这个里面的"1:1" 可以有命令行查出
        "extensions": []
    },
    "extensions": {}
}]

修改投票

# 首先需要查出希望投给哪些见证人 在这里我就只举一个栗子
get_witness test.witness

返回值说明

{
  "id": "1.6.12", # 见证人id
  "witness_account": "1.2.19", # 见证人账户id
  "last_aslot": 0,
  "signing_key": "BDS77k8XrjxXU8t65wLgVsM5LAWsun7UB3GQJk5Ei13198jPESdDL",
  "vote_id": "1:22", # 投票id
  "total_votes": 0,
  "url": "http://www.alpha",
  "total_missed": 0,
  "last_confirmed_block_num": 0
}
# 因为测试链原本有11个见证人 在这里我就设置12个了 其余见证人的投票id均已通过上述命令查出来过
add_operation_to_builder_transaction 0 [6,{"fee":{"amount":0,"asset_id":"1.3.0"},"account":"1.2.6","new_options":{"memo_key":"BDS7ANxNXLZG9eYFqsBkLvyJdj7b8VjZFq6tb52ucpvtj2gmJ35fT","voting_account":"1.2.5","num_witness":12,"num_committee":0,"votes":["1:0","1:1","1:2","1:3","1:4","1:5","1:6","1:7","1:8","1:9","1:10","1:22"],"extensions":[]},"extensions":{}}]
# 给这笔交易设置手续费
set_fees_on_builder_transaction 0 BDS
# 给这笔交易做签名
sign_builder_transaction 0 true
# 把这笔交易移除
remove_builder_transaction 0

这一步需要注意,区块链每一个周期都会做一次比较,会取出前一定数量的见证人作为活跃见证人,只有活跃见证人才拥有给区块签名的权利,所以在自有测试链,我们投票的账户必须是有钱的账户

等到下一个投票周期,我们就会发现,这个见证人已经成为活跃见证人了

我们最后需要做的事就是将这个见证人的签名私钥配置到见证节点上

修改见证节点的config.ini

在里面增加两行

witness-id = "1.6.12"
private-key = ["BDS77k8XrjxXU8t65wLgVsM5LAWsun7UB3GQJk5Ei13198jPESdDL","5JA6GtE9QtbziadKTGqL3u47w7qCqirFqaJ3VbczLbfsvVifqfD"]

随后在下一个事物周期我们就能看到 见证人 test.witness 产生区块了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270