第9課 如何變更EOS賬號的active key和owner key瞬项?

1,摘要

【本文目標(biāo)】
通過本文學(xué)習(xí)朋沮,可以通過EOS本地環(huán)境完成EOS注冊賬號的active key和owner key的變更荆虱。
在EOS賬號是其他人代為注冊時,私鑰往往也被其他人知曉朽们,存在泄漏風(fēng)險,建議盡快完成變更诉位。

【前置條件】
1)參考第8課 如何使用開發(fā)環(huán)境命令行注冊EOS靚號骑脱?文章,已完成了靚號的注冊和環(huán)境搭建苍糠。

【技術(shù)收獲】
1) cleos set account permission的使用叁丧;

2. 實踐操作

承接上一課的故事,戈壁創(chuàng)投的徐晨總請輝哥注冊個他們公司同名的EOS賬號(例如:gobipartners)岳瞭。

近期拥娄,戈壁創(chuàng)投決定要投資某個優(yōu)質(zhì)區(qū)塊鏈項目,準(zhǔn)備往gobipartners賬號打100萬個EOS瞳筏,作為區(qū)塊鏈投資轉(zhuǎn)賬總出口賬號稚瘾。徐總突然想起,gobipartners賬號的私鑰也是輝哥創(chuàng)建的姚炕,他可能也保留著該賬戶的私鑰記錄摊欠,嚇出了一身冷汗。
現(xiàn)在徐晨總也知道可以通過一些錢包生成密鑰對柱宦,這個密鑰對只有他自己知曉些椒。

2.1 通過TokenPocket錢包創(chuàng)建密鑰對

通過TokenPocket官網(wǎng)下載錢包版本。
安裝后掸刊,通過 發(fā)現(xiàn) > EOS助手 > 賬號注冊 > 密碼生成器 完成密鑰對的生成免糕。

2.2 密鑰導(dǎo)入

徐總來到輝哥的本地EOS環(huán)境,讓輝哥背過身忧侧,親自把私鑰導(dǎo)入輝哥的duncanwang本地錢包石窑。
【說明】此步操作可以在別的任意EOS開發(fā)環(huán)境完成導(dǎo)入工作。

cleos wallet import <新的私鑰> -n duncanwang

2.3 權(quán)限變更

1) 查看gobipartners賬號信息

cleos -u https://node1.eoscannon.io get account gobipartners

輸出結(jié)果表明 owner key 和 active key還是輝哥的密鑰對苍柏。

duncanwang@duncanwang:~$ cleos -u https://node1.eoscannon.io get  account gobipartners
permissions: 
     owner     1:    1 EOS8gaYL4uHyAiZjviwNJ8CdY31xikYtQfexyUfkNUnDqhNpnYXQR
        active     1:    1 EOS8gaYL4uHyAiZjviwNJ8CdY31xikYtQfexyUfkNUnDqhNpnYXQR
memory: 
     quota:     7.959 KiB    used:     2.926 KiB  

net bandwidth: 
     delegated:       0.1000 EOS           (total staked delegated to account from others)
     used:                 0 bytes
     available:        55.92 KiB  
     limit:            55.92 KiB  

cpu bandwidth:
     delegated:       0.1000 EOS           (total staked delegated to account from others)
     used:                 0 us   
     available:         10.9 ms   
     limit:             10.9 ms

2.4 變更賬戶active權(quán)限為徐總公鑰

假設(shè)徐總產(chǎn)生的公鑰Public key如下:EOS7Rq86JcZLgPXwZKRGPYUnLayBy7NcBV7FBE7gSNCW3HmGApK9V
命令格式:

cleos set account permission <轉(zhuǎn)讓賬戶名> active '{"threshold":1,"keys":[{"key":"<對方公鑰>","weight":1}]}' owner

輸出結(jié)果:

duncanwang@duncanwang:~$ cleos -u https://node1.eoscannon.io set account permission gobipartners active '{"threshold":1,"keys":[{"key":"EOS7Rq86JcZLgPXwZKRGPYUnLayBy7NcBV7FBE7gSNCW3HmGApK9V","weight":1}]}' owner
executed transaction: 0b7ab9fe92413e6b4b5d25578afdef81438c73adac015972ce56f59c570034e9  160 bytes  1317 us
#         eosio <= eosio::updateauth            {"account":"gobipartners","permission":"active","parent":"owner","auth":{"threshold":1,"keys":[{"key...
warning: transaction executed locally, but may not be confirmed by the network yet

查詢確認(rèn)active的KEY已發(fā)生變更:

duncanwang@duncanwang:~$ cleos -u https://node1.eoscannon.io get  account gobipartners
permissions: 
     owner     1:    1 EOS8gaYL4uHyAiZjviwNJ8CdY31xikYtQfexyUfkNUnDqhNpnYXQR
        active     1:    1 EOS7Rq86JcZLgPXwZKRGPYUnLayBy7NcBV7FBE7gSNCW3HmGApK9V
memory: 
     quota:     7.959 KiB    used:     2.926 KiB  

net bandwidth: 
     delegated:       0.1000 EOS           (total staked delegated to account from others)
     used:               161 bytes
     available:        55.76 KiB  
     limit:            55.92 KiB  

cpu bandwidth:
     delegated:       0.1000 EOS           (total staked delegated to account from others)
     used:             1.122 ms   
     available:        9.779 ms   
     limit:             10.9 ms  

2.5 變更賬戶owner為徐總公鑰

命令格式:

cleos set account permission <轉(zhuǎn)讓賬戶名> owner '{"threshold":1,"keys":[{"key":"<對方公鑰>","weight":1}]}' -p <轉(zhuǎn)讓賬戶名>@owner

輸出結(jié)果:

duncanwang@duncanwang:~$ cleos -u https://node1.eoscannon.io set account permission -x 120 gobipartners owner '{"threshold":1,"keys":[{"key":"EOS7Rq86JcZLgPXwZKRGPYUnLayBy7NcBV7FBE7gSNCW3HmGApK9V","weight":1}]}' -p gobipartners@owner
executed transaction: ed1593fee153baa7b02e1e3e1155e732c3e7db4fbb3fd50ff73b0de1a04d5831  160 bytes  1186 us
#         eosio <= eosio::updateauth            {"account":"gobipartners","permission":"owner","parent":"","auth":{"threshold":1,"keys":[{"key":"EOS...
warning: transaction executed locally, but may not be confirmed by the network yet

【問題】
輸入命令提示錯誤尼斧,信息如下:

duncanwang@duncanwang:~$ cleos set account permission gobipartners owner '{"threshold":1,"keys":[{"key":"EOS7Rq86JcZLgPXwZKRGPYUnLayBy7NcBV7FBE7gSNCW3HmGApK9V","weight":1}]}' -p gobipartners@owner
Error 3090003: provided keys, permissions, and delays do not satisfy declared authorizations
Ensure that you have the related private keys inside your wallet and your wallet is unlocked.

初步估計是跟主網(wǎng)節(jié)點連接處理的時間不夠,增加-x 120试吁,把等待時間改為2分鐘棺棵,就成功了楼咳。

查詢確認(rèn)owner的KEY已發(fā)生變更:

duncanwang@duncanwang:~$ cleos -u https://node1.eoscannon.io get  account gobipartners
permissions: 
     owner     1:    1 EOS7Rq86JcZLgPXwZKRGPYUnLayBy7NcBV7FBE7gSNCW3HmGApK9V
        active     1:    1 EOS7Rq86JcZLgPXwZKRGPYUnLayBy7NcBV7FBE7gSNCW3HmGApK9V
memory: 
     quota:     7.959 KiB    used:     2.926 KiB  

net bandwidth: 
     delegated:       0.1000 EOS           (total staked delegated to account from others)
     used:               318 bytes
     available:        55.61 KiB  
     limit:            55.92 KiB  

cpu bandwidth:
     delegated:       0.1000 EOS           (total staked delegated to account from others)
     used:             1.628 ms   
     available:        9.273 ms   
     limit:             10.9 ms   

4, 賬戶owner和active權(quán)限定義

4.1 原生權(quán)限-owner和active權(quán)限

EOS中烛恤,每個賬戶創(chuàng)建時會自帶兩個原生權(quán)限:owner和active權(quán)限母怜。這也是默認(rèn)的賬戶權(quán)限配置。
owner權(quán)限
owner即代表賬戶所有權(quán)缚柏,該權(quán)限可進行所有操作苹熏,包括更改owner權(quán)限,可由一對或多對EOS公私鑰或另一賬戶的某權(quán)限實現(xiàn)權(quán)限控制币喧。因此轨域,代表著owner權(quán)限的EOS公私鑰是最重要的,必須冷儲藏保管好杀餐。
active權(quán)限
active即活躍權(quán)限干发,能進行除更改owner權(quán)限以外的所有操作,也是通過一對或多對EOS公私鑰或另一賬戶的某權(quán)限實現(xiàn)權(quán)限控制史翘。

4.2 自定義權(quán)限

除了兩個原生權(quán)限以外枉长,EOS還支持自定義權(quán)限。active權(quán)限可以看作是owner權(quán)限將除更改owner權(quán)限以外的所有權(quán)限都任命給了它琼讽,比如說轉(zhuǎn)賬必峰、投票、購買ram等等钻蹬。然后基于active權(quán)限吼蚁,我們可以將active的部分權(quán)限,比如說投票權(quán)问欠,任命給一個自定義權(quán)限voting桂敛。那么無須owner、active權(quán)限所對應(yīng)的私鑰對投票操作進行簽名溅潜,單單通過voting權(quán)限所對應(yīng)的私鑰對投票操作進行簽名便可完成投票操作术唬。這就可以將EOS賬戶的部分操作權(quán)限分配給第三方進行,避免了直接給出active權(quán)限的私鑰滚澜,從而實現(xiàn)極其靈活和安全的組織管理方式粗仓。

4.3 權(quán)重和閾值

在多主體共同控制某一權(quán)限的情況下(如多對EOS公私鑰共同控制owner權(quán)限),如何判定设捐,或者說在何種條件下就擁有了該賬戶的某一權(quán)限借浊?EOS是通過權(quán)重和閾值來實現(xiàn)的。賬戶可給每個主體(如每對EOS公私鑰)分配不同的權(quán)重萝招,以及擁有該權(quán)限的閾值蚂斤,只有當(dāng)某些人擁有的公私鑰數(shù)量所對應(yīng)的權(quán)重之和不低于該權(quán)限的閾值,才能擁有該權(quán)限槐沼,進行相應(yīng)操作曙蒸。以下列某賬戶的權(quán)限配置為例進行詳細(xì)說明:

其中捌治,該賬戶的owner權(quán)限由擁有【EOS2Ca4o...】和【EOS3Q3bx...】公鑰所對應(yīng)私鑰的人共同控制,任何一方都不能單獨擁有owner權(quán)限纽窟。因為雙方的權(quán)重都為50肖油,而owner權(quán)限的閾值為100,因此只有雙方達成一致臂港,一起對交易進行簽名才能行使owner權(quán)限森枪。
而active權(quán)限則可由【EOS94x3b...】和【EOS4x112...】任意一方單獨行使。
對于自定義權(quán)限voting审孽,擁有【EOS7Hn1p...】公鑰所對應(yīng)私鑰的人可單獨行使县袱,而賬戶【testaccount1】則需和賬戶【testaccount2】通過各自的active權(quán)限結(jié)合起來才能共同行使該賬戶的voting權(quán)限。

5佑力,參考

1) 創(chuàng)建EOS主網(wǎng)賬戶

本故事純屬虛構(gòu)显拳,輝哥還沒有跟徐晨總建立聯(lián)系。但是戈壁創(chuàng)投的EOS帳號已注冊好了搓萧,如有需要可轉(zhuǎn)讓給徐總。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宛畦,一起剝皮案震驚了整個濱河市瘸洛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌次和,老刑警劉巖反肋,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異踏施,居然都是意外死亡石蔗,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門畅形,熙熙樓的掌柜王于貴愁眉苦臉地迎上來养距,“玉大人,你說我怎么就攤上這事日熬」餮幔” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵竖席,是天一觀的道長耘纱。 經(jīng)常有香客問我,道長毕荐,這世上最難降的妖魔是什么束析? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮憎亚,結(jié)果婚禮上员寇,老公的妹妹穿的比我還像新娘弄慰。我一直安慰自己,他們只是感情好丁恭,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布曹动。 她就那樣靜靜地躺著,像睡著了一般牲览。 火紅的嫁衣襯著肌膚如雪墓陈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天第献,我揣著相機與錄音贡必,去河邊找鬼。 笑死庸毫,一個胖子當(dāng)著我的面吹牛沟于,可吹牛的內(nèi)容都是我干的罐呼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼来惧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起橄务,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤难礼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蔫慧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挠乳,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年姑躲,在試婚紗的時候發(fā)現(xiàn)自己被綠了睡扬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡黍析,死狀恐怖卖怜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情阐枣,我是刑警寧澤韧涨,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站侮繁,受9級特大地震影響虑粥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宪哩,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一娩贷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锁孟,春花似錦彬祖、人聲如沸茁瘦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽甜熔。三九已至,卻和暖如春突倍,著一層夾襖步出監(jiān)牢的瞬間腔稀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工羽历, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留焊虏,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓秕磷,卻偏偏與公主長得像诵闭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子澎嚣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容