不小心移除了资金权限,但账号权限还在,能重置资金权限吗?


(朗塔) #1

一个币友求助:手贱在权限里移除了资金权限,结果现在的资金权限公钥没有私钥,现在懵逼了。

之前在SEER见证人群里看到有大佬介绍过通过提案代付的方法来解决这个问题,我试验了一遍,没有成功,请大家指正一下是哪一步错了。

按理说,只要账户权限还在,资金权限就能随时修改的,修改不了的阻碍是,修改权限目前需要20SEER的手续费,但没有资金权限的话,就动不了资金,无法支付。

所以想到用提案代支付的方式。

将账户权限公钥复制到资金权限中,权重设为1,删掉没有私钥的资金权限公钥。

保存,交易确认页面选择提议另一个账号发起提案。

资金总览-确认提案后,提示如下:


(攒钱移民火星) #2

1,导入账号权限密钥到命令行钱包 和 GUI钱包
2,在GUI上发起修改账号资金授权的提案
3,在命令行钱包执行以下命令:

approve_proposal fee_paying_account proposal_id  {active_approvals_to_add:[],active_approvals_to_remove:[],owner_approvals_to_add:[],owner_approvals_to_remove:[],key_approvals_to_add:["你的账户权限公钥"],key_approvals_to_remove:[]}  true

其中 fee_paying_account 是支付手续费的账号名
proposal_id 是提案的id


(朗塔) #3

试了,报错如下

unlocked >>> approve_proposal langta 1.8.27 {active_approvals_to_add:[],active_approvals_to_remove:[],owner_approvals_to_add:[],owner_approvals_to_remove:[],key_approvals_to_add:["SEER8DyjwNFYrwYPfcR28b5VvG7dn5azeAcuahxVGDqvq2jY2DJJVv"],key_approvals_to_remove:[]} true
approve_proposal langta 1.8.27 {active_approvals_to_add:[],active_approvals_to_remove:[],owner_approvals_to_add:[],owner_approvals_to_remove:[],key_approvals_to_add:["SEER8DyjwNFYrwYPfcR28b5VvG7dn5azeAcuahxVGDqvq2jY2DJJVv"],key_approvals_to_remove:[]} true
4 parse_error_exception: Parse Error
Expected ':' after key "active_approvals_to_add"
    {"key":"active_approvals_to_add"}
    th_a  json_relaxed.hpp:590 fc::json_relaxed::objectFromStream
Error parsing object
    {}
    th_a  json_relaxed.hpp:612 fc::json_relaxed::objectFromStream

    {"str":"approve_proposal langta 1.8.27 {active_approvals_to_add:[],active_approvals_to_remove:[],owner_approvals_to_add:[],owner_approvals_to_remove:[],key_approvals_to_add:[\"SEER8DyjwNFYrwYPfcR28b5VvG7dn5azeAcuahxVGDqvq2jY2DJJVv\"],key_approvals_to_remove:[]} true"}
    th_a  json.cpp:494 fc::json::variants_from_string

(攒钱移民火星) #4

更正一下应该是 approve_proposal fee_paying_account "proposal_id" {"active_approvals_to_add":[],"active_approvals_to_remove":[],"owner_approvals_to_add":[],"owner_approvals_to_remove":[],"key_approvals_to_add":["OWNER PUBLIC KEY"],"key_approvals_to_remove":[]} true


(攒钱移民火星) #5

用提议方式修改资金权限

涉及权限相关,请谨慎操作,以免永久失去账号控制权。)

背景介绍

SEER的账户权限体系由 资金权限active key账户权限 owner key备注密钥组成。其中 资金权限账户权限包含阈值和授权列表中的各自权重。权限可授权给公钥或账号。 要进行相关操作,需要拥有相应的私钥,并且授权的权重达到阈值。

SEER钱包模式中。一般情况下会同时有active key和owner key,链上的任何操作必须具有active key,而修改权限则需要owner key。

有时,用户为了账号安全,会将active key和owner key分别保存,同时也可能对active key进行修改等操作。

总之,有各种各样的可能性导致粗心的用户遗失了active key,但还保留了owner key。

区块链上的任何操作都需要支付手续费,修改权限也不利例外。

在通常情况下,修改权限操作的手续费由active key权限通过本帐户支付,但在active key缺失的情况下,由于不能支付修改权限手续费,导致无法重设active key。

这时候,我们可以通过提议的方式修改active key。

准备材料

1、SEER网页钱包;

2、SEER命令行钱包;

3、active key遗失账号(被修改账号)的owner public key;

4、active key遗失账号的owner private key;

5、资金充足的另一账号(手续费支付账号)的active private key。

操作步骤

本例中,我们将让被修改账号的active key和owner key一致,以恢复active权限。

在网页钱包的操作

1、在SEER网页钱包菜单-设置-恢复/导入页面的下拉菜单中选择导入私钥,分别导入被修改账号的owner private key和手续费支付账号的active private key;

2、被修改账号菜单-权限-资金权限页面,在输入账户名/公钥以及权重中填入被修改账号的owner public key,权重1(等于阈值),然后点击添加

3、点击右上角保存修改

4、在请确认交易页面,点击右下角提议,随后提交页面会出现一行新的发起账户,在列表中选择你的手续费支付账号,然后点击提议确认

5、在账户总览-提案页面,可以看到刚刚发起的提案编号,例如1.8.xx,需要记下此提案编号,下面的操作需要在命令行钱包操作。

在命令行钱包的操作

1、解锁后,在命令行钱包中使用import_key分别导入被修改账号的owner private key和手续费支付账号的active private key;

2、使用approve_proposal命令通过此提议:

approve_proposal fee_paying_account "proposal_id" {"active_approvals_to_add":[],"active_approvals_to_remove":[],"owner_approvals_to_add":[],"owner_approvals_to_remove":[],"key_approvals_to_add":["OWNER PUBLIC KEY"],"key_approvals_to_remove":[]} true

例如:(else是手续费支付账号)

unlocked >>>  approve_proposal else "1.8.7"  {"active_approvals_to_add":[],"active_approvals_to_remove":[],"owner_approvals_to_add":[],"owner_approvals_to_remove":[],"key_approvals_to_add":["SEER5vhLky3Yg7YLAnvrFa2twftUCxZ8zz8PHtyCVTKSWw4JzAM7DY"],"key_approvals_to_remove":[]}  true
 approve_proposal else "1.8.7"  {"active_approvals_to_add":[],"active_approvals_to_remove":[],"owner_approvals_to_add":[],"owner_approvals_to_remove":[],"key_approvals_to_add":["SEER5vhLky3Yg7YLAnvrFa2twftUCxZ8zz8PHtyCVTKSWw4JzAM7DY"],"key_approvals_to_remove":[]}  true
{
  "ref_block_num": 63863,
  "ref_block_prefix": 1776902125,
  "expiration": "2018-10-25T06:46:33",
  "operations": [[
      20,{
        "fee": {
          "amount": 2000000,
          "asset_id": "1.3.0"
        },
        "fee_paying_account": "1.2.106",
        "proposal": "1.8.7",
        "active_approvals_to_add": [],
        "active_approvals_to_remove": [],
        "owner_approvals_to_add": [],
        "owner_approvals_to_remove": [],
        "key_approvals_to_add": [
          "SEER5vhLky3Yg7YLAnvrFa2twftUCxZ8zz8PHtyCVTKSWw4JzAM7DY"
        ],
        "key_approvals_to_remove": [],
        "extensions": []
      }
    ]
  ],
  "extensions": [],
  "signatures": [
    "204dfe3c8aa4ca73110d62403a576afc6d68ecf0f055b7e8b8991b887cc6c566c179f43ef566750cd3d237a99fa95d4a540ec32093ff4a46da7842fb1ff3c25f67",
    "2071ecf4f68338e96f9c00b6c713dc356191612ce5b88dd6a89945895222962d8541683d6f9845ad52efa93261d2266eab15a4ebfa6bfd470ac2a50d725d284a24"
  ]
}

修改完成,显示如下:

账户名/公钥 权重 操作
SEER5vhLky3Yg7YLAnvrFa2twftUCxZ8zz8PHtyCVTKSWw4JzAM7DY 1 移除
SEER7koTVbyMKNyXuBSSeNSNVTiv1bn55D9dRsSiBe3yJqNJx2avxh 1 移除