测试网挖矿大赛矿工如何通过 ckb-cli 获得 CKB Mainnet Token

测试网挖矿大赛从 2019 年 6 月 15 日 06:00 UTC 开始,共经历五期比赛,并且挖矿大赛获得的 Mainnet Token 奖励都会通过创世块发放至对应的主网地址,现在测试网挖矿大赛即将结束,需要获得 CKB Mainnet Token 奖励,目前有两种兑换 CKB Mainnet Token 的方式:

  • 如果通过 Neuron Wallet 或 Neuron Key Management 生成私钥及挖矿配置( miner block assembler),并且备份了助记词和 Keystore 文件,可导入最新 Release 的 Neuron Wallet 获得奖励。详细教程请查看 Neuron Wallet Guide
  • 如果通过 ckb-cli 创建的 privkey 文件和挖矿配置( miner block assembler),则需要继续使用 ckb-cli 获得 CKB Mainnet Token 并转账至 Neuron Wallet 。原因如下:
    • 在测试网挖矿大赛期间生成私钥和挖矿配置时使用的 ckb-cli 是用于开发测试 Nervos CKB 的工具, 并不适合主网上线后使用
    • Neuron Wallet 不支持导入用 ckb-cli 生成的 privkey 文件,所以需要先通过 ckb-cli 将 privkey 文件生成主网地址,获得创世块发放的 CKB Mainnet Token ,然后再转账至 Neuron Wallet。

请注意:由于现在主网还未上线,教程中的示例(包括命令和截图)仅供参考。

启动主网节点

请参考 Neuron Wallet Guide 中的「1.Run A CKB mainnet node」

社区参考此教程编写了中文版,可供参考。

下载并启动 ckb-cli

下载最新 release 的 ckb-cli,解压后进入命令行交互模式:

$ ./ckb-cli

image1

生成主网地址

使用 util key-info 命令,生成地址等相关信息。

$ util key-info --privkey-path `ckb-cli 生成的 privkey 路径`

转账

  1. 等待节点同步完毕,使用 wallet get capacity --address 命令查询余额, 单位为 shannon, 1 CKB = 1000,0000 shannon。
$ wallet get-capacity --address `测试网地址`

image3

  1. 通过 Neuron Wallet 创建地址,需下载最新 release 的 Neuron Wallet ,创建钱包,并备份好助记词:

  1. 使用 wallet transfer 命令进行转账, 转账金额和手续费单位为 CKB,注意:这里的转账金额和手续费单位和上面查询余额显示的单位不一致。
$ wallet transfer --privkey-path `ckb-cli 生成的 privkey 路径` --to-address `Neuron Wallet 地址`

  1. 可通过区块链浏览器查询生成的交易 hash ,确认交易是否上链。

其他参考链接:Lina Launch Q&A

2 Likes

0.25.1主网命令行生成的 ckb.toml 文件结尾有个:message = “A 0x-prefixed hex string”,而且导入之前的privkey后提示的“Put this config in <ckb.toml>”下面也比楼主上面的截图多了一行:message = “0x”,应该是保存的挖矿收益吗?

在各个矿池与贵团队确认完测试网挖矿奖励之后 “0x” 后面是不是就应该有具体的一串 “hex string” 了吧。

把完整地信息贴上来

这份教程写的时候主网还未上线,所以截图仅供参考,以实际使用的截图为准。
message = “A 0x-prefixed hex string” 是说字符串前面需要加 0x 前缀。
关于挖矿大赛的最终结果(主网地址和主网奖励)会尽快公布在挖矿大赛官网上。

按照上面的教程我得到以下结果:

比上边教程里多出的那行 message = “0x” 后面是没有跟任何具体的 “hex string”,像是个空值。而且我把 [block_assembler]那四行像如上要求那样加入<ckb.toml>文件中后,运行"./ckb run" 后弹出错误提示:“Config Error: Error { inner: ErrorInner { kind: Wanted { expected: “an equals”, found: “a colon” }, line: Some(154), col: 7, at: Some(5415), message: “”, key: [] } }” 导致无法运行节点,就谈不上同步。
所以运行 wallet get-capacity --address ‘我的地址’ 得到的结果也只能是——capacity: ~ 空值。

这个钱包地址我用于在火币矿池创新区(https://www.huobipool.com/pow/innovative)参加的测试网挖矿。由于前两个阶段后火币矿池似乎出块出现了问题,我后来改在其他矿池继续挖矿(并用Neuron生成了新的地址)。
现在的情况是其他矿池后来最后一个阶段挖的那点儿2279测试币已经折算成182打入了我的Neuron钱包,而在火币CKB测试网挖的将近7000ckb(折算大概550多)却无法获得支付。


上图是我之前截图做的备份,并有使用的设备编号和最后获取份额时间(见下图)。

而现在我再输入我的地址已经查询不到任何信息,并弹出了“无效地址”的信息。


我通过页面上的火币客服邮件 “[email protected]” 与矿池管理人员沟通,希望可以尽快解决吧。
让我大惑不解的是:火币网与Nervos Network不是在公链领域拥有紧密的合作关系么?为什么在测试网挖矿以及如今的主网挖矿方面似乎给人一种被其他矿池边缘化的感觉呢?

倒数第二张截图是最新的?从图上看还是在火币矿池的钱包里没有被提出来,不然已支付那边就不应该是0.

您说的倒数第二张截图,是我用过的矿工名列表那张么?那个是和之前备份我的地址收益(倒数第三张)时一起截取的,现在用我那个地址查询已经是空空如也了——请见下图:

而这些都是在我用邮件与火币网 “[email protected]” 沟通之后发生的,不知是对方有意销毁证据还是怎的……现在查询ckb浏览器的这个地址“ckb1qyqr4ez96muwfmp2wgaq7clzw2y4d9nuas8qk49m33”还是没有获得第五期前2个阶段的测试网挖矿收益。

而第3阶段在其他矿池用 “ckb1qyqt0n5pp0t5cklcakxpq0zwyyx8uvrvmjgsvmse4f” 挖的昨天下午就已经到账了。

不到600个ckb数额虽小,但仍然给人吃了苍蝇的感觉。火币公链不会只是李林自己的一厢情愿而公司整体并未达成共识吧?

说错了,第第二张截图,背景深蓝色那张

已经被清零了,就像我从未在那里挖过一样。

前段页面清零不一定是真的清零,后台数据库可能还有的。

清理可能是因为CKB上了主网它们现在只显示主网的收益。

上面这个界面,现在余额也是零吗?

您上面截的这个图就是昨天我邮件联系火币网矿池管理员之前,可以在他们的页面查询到的ckb测试网挖矿收益信息。

昨天上午反馈之后,下午在同样的界面输入钱包地址就只能得到上图这样空空如也的答案了。

现在查询当然也是我上面截图的那样,不只是余额是零,而是显示“无效地址”。

P.S. 火币网矿池在ckb测试网挖矿大赛时的要求就与其他矿池不同(https://www.huobipool.com/pow/innovative)。别家都是要求注册自家网站的账户或者用邮箱挖矿,他们是要求直接用ckb-cli命令行生成的 “mainnet” 钱包地址挖矿(https://www.hpt.com/pow/help/14/152)!!!请注意下图橙色字体部分。

所以我之前10/07~11/02测试网第五期前2个阶段在火币矿池每天都是用主网地址在他们的矿池里挖,你也看到了6931下面一直是ckb开头的主网地址。因为测试网地址每一期结束后都会自动清零,所以我觉得他们的提醒也是善意和合理的。

而现在尴尬的就是:测试网期间用ckb-cli命令行生成的主网地址在Lina主网上线后的兼容性似乎没有Neuron生成的地址来得好。

BTW,十分感谢前辈多次回答我的问题,但请在质疑我的问题之前仔细阅读我的问题描述。我虽然在币圈可以算是个小白,但在 StackOver flow 上也学习过起码的提问和论坛礼仪。国外的大神们能够要求提问者给出详细的问题说明的前提是:他们自己首先仔细阅读了对方的问题描述,当遇到太笼统或者太含混的问题时才有资格提出质疑和改进要求。

请问,导入私钥的时候提示Unable to send the JSON-RPC 2.0 request,是什么原因导致的

需要先启动一个 CKB 节点,并可以让 ckb-cli 访问到:

./ckb run

谢谢,可以了