注册挖矿凭证

要使minerkey可以挖矿,还需要有投票权。这需要使用自己的账户,调用矿工合约0x1000000000000000000000000000000000000002,将自己的矿工账户与挖矿凭证关联起来。这相当于将自己持有的token对应的投票权,委托给了这个minerkey。minerkey只有被委托后,才会具有一定的投票权,才能在挖矿中使用。

注册矿工本质上是一次合约调用,有两种方式: 1. 通过钱包注册 2. 通过命令行注册

使用钱包注册(推荐)

在钱包中,用你的账户,向测试链发送一笔交易,接收地址为矿工合约地址0x1000000000000000000000000000000000000002,data填写为上面生成的minerkey内容即可。在某些钱包客户端中,交易页面默认没有Data字段,需要在设置中打开。

注册一次需要的gas费用大约在200000左右,建议填写gas费用为210000,或者在类似MetaMask的客户端中,选择Fastest来发送。gas太少会导致交易执行失败。

使用命令行注册

使用命令行向矿工合约地址0x1000000000000000000000000000000000000002发送一笔交易,将data字段填写为上面生成的minerkey即可。

docker exec -it kalnode kalgo --testnet attach
> myaddr = '0x958DE277Cde7f5808a910dBf6f7854DF52C25833';
> personal.unlockAccount(myaddr, 'your-password');
> hash = eth.sendTransaction({
    from: myaddr, 
    to: '0x1000000000000000000000000000000000000002', 
    gas: 200000, 
    gasPrice: 20000000000, 
    data: 
'0x39fb25e90000000000000000000000000000000000000000000000000000000000002f440000000000000000000000000000000000000000000000000000000000000064000000000000000000000000958de277cde7f5808a910dbf6f7854df52c2583355094cc911dca3b0ff42e63e7d4d627d5131307fcd495b535de4fa627bb999bfb728eed47ed4b7426c46e8b57c4132dc89e4092463267040c7c6769a80e72c69'
});
> admin.sleepBlocks(2);
> eth.getTransactionReceipt(hash);