BitShares Forum
Main => 中文 (Chinese) => Topic started by: abit on January 23, 2015, 02:22:33 pm
-
可能很多人习惯了用导出私钥的方式来备份钱包,像下面这样,在控制台执行命令(将下面test.abit替换成自己的账号):
>> wallet_dump_private_key test.abit
"5HtWgbu1vcPe7trStHaVKoRjjPaMaGPzxJgavLHLw1tvPwuCPCx"
但是请注意,这种方法可能会导致账号异常,因为备份出来的私钥可能不完整。
要想查看自己的备份是否存在问题,首先请按下面的命令检查一下要备份的账号(将参数abit或test.abit替换成你的账号)
>> wallet_get_account abit
{
...
"owner_key": "BTS7NLcZJzqq3mvKfcqoN52ainajDckyMp5SYRgzicfbHD6u587ib",
"active_key_history": [[
"2014-07-27T10:02:50",
"BTS7NLcZJzqq3mvKfcqoN52ainajDckyMp5SYRgzicfbHD6u587ib"
]
],
...
}
>> wallet_get_account test.abit
{
...
"owner_key": "BTS5R1G2iBqAoKAKZCRfJgZA7us7N7xkvSaMwStnY1hkK52s42A56",
"active_key_history": [[
"2015-01-07T13:40:53",
"BTS5j2xL7jKjFprETK1suWfxGEux8gQcuheyaL9nytW9AHtzRDuUz"
]
],
...
}
可以看到,上面两个账号中,abit的owner_key和active_key是相同的,而test.abit的两个key不同。
原因是创建账号的钱包版本不一样。老版本钱包使用的两个key是相同的,但是从某个版本开始,创建账号时会使用两个不同的key。
(具体这两个key的用途,记得有人发帖说过,我回头找到了再补充)
如果账号的两个key是一样的,以账号名为参数备份私钥的方式就没问题。
如果账号的owner_key和active_key不同,则需要针对两个key分别进行备份,如下:
>> wallet_dump_private_key BTS5j2xL7jKjFprETK1suWfxGEux8gQcuheyaL9nytW9AHtzRDuUz
"5HtWgbu1vcPe7trStHaVKoRjjPaMaGPzxJgavLHLw1tvPwuCPCx"
>> wallet_dump_private_key BTS5R1G2iBqAoKAKZCRfJgZA7us7N7xkvSaMwStnY1hkK52s42A56
"5JYu4swx6bhpMxJBNU1hCAxPE21eFWt24VphkexexdmVZKutfzg"
可以看到,用active_key导出的私钥,和账号名导出的私钥是相同的。而owner_key导出的私钥不同。实际上owner_key更重要。
将这两个私钥都保存下来就可以了。
导入私钥恢复账号时,需要将两个私钥都导入一遍。
写在最后:
1.下一个版本的钱包,将不再支持用账号名作为参数来导出私钥,只能用key作为参数
2.官方更推荐用导出json的方式来备份钱包
-
只备份了一个的话 是不是会悲剧?
-
只备份了一个的话 是不是会悲剧?
备份铁律:
* 备份一个等于没有备份
* 所有备份都在同一个地方等于没有备份。
-
这个问题只存在于子账户吧
-
这个问题只存在于子账户吧
主账户也有同样情况。子账户也有没问题的。
和创建账户的钱包版本有关系。
-
owner_key和active_key 用途啥的有啥区别?
-
http://wiki.bitshares.org/index.php/BitShares_X_Glossary#Account
个人理解,大部分操作是使用active_key来做的;有了owner_key可以修改active_key。
具体使用范围,目前估计只能去看代码,不过代码也可能写错的。