cleos 이용 EOS 계정 키 변경 (key change) 하기 ⑥ in Docker(window)

in #kr2 years ago (edited)

cleos 를 이용해서 EOS 계정(Account)에 매칭된 EOS Public key 를 변경하는 명령어에 대한 내용이며 또한  멀티서명(multisig)계정을 만드려면 반드시 알아야 할 명령어 입니다.

계정 vs EOS 공개키

EOS 계정과  EOS 공개키는 아래 그림처럼 소유자키, 액티비키 2개의 공개키로 구성될 수 있습니다.

 샘플 계정의  구성은 소유자키 = 액티비키가  같아 1개의 공개키로 구성되어 있는 경우 입니다.


 cleos  계정 키 변경(key change) 명령어

계정에 매칭된 액티비티(active) EOS 공개키를 변경 하는 명령어 입니다.

cleos set account permission <AccountName> active <New EOS Public key> owner

Example:

cleos set account permission eosgazuaaaaa active EOS6ZsFQexgiVooWDorewmDDzhUXYFs1rLvivYpdBZTVw8ojin6Uk owner

Reuslt:

계정에 매칭된 소유자(owner) EOS 공개키를 변경 하는 명령어 입니다.

cleos set account permission <AccountName> owner <New EOS Public key> -p  <AccountName>@owner

Example:

cleos set account permission eosgazuaaaaa owner EOS7j9CKP5fBG66KT6ysWY1q9Ri2EDVnKCEs7ojJZzxkgbih4SgFS -p eosgazuaaaaa@owner

Reuslt:


멀티키로 변경

위에서 언급한 명령어는 Owner,Active 키가 각각 1개만 등록하는 명령어 입니다. 만약 보안을 고려하여 여러개의 키를 등록하여 사용할 필요가 있는 경우 아래와 같이 EOS 공개키나 또는 계정권한을 등록하여 사용 할 수 있습니다.

Example: 계정명@active 를 active 로 등록한경우

cleos set account permission eosgazuaaaaa active '{"threshold":1,"keys":[],"accounts":[{"permission":{"actor":"holcoin11111","permission":"active"},"weight":1}],"waits":[]}' owner

Result :

Example:  EOS 공캐키 + 계정명@active 를 active 로 등록한경우

cleos set account permission eosgazuaaaaa active '{"threshold":2,"keys":[{"key":"EOS5SqjBUy1sUbtj3hahqUoEGsfq2Q7MRBrbJ2Bv1CQMausWpvsDz","weight":1}],"accounts":[{"permission":{"actor":"holcoin11111","permission":"active"},"weight":1}],"waits":[]}' owner

Result:

Example: 여러개의 EOS 공캐키 를 active 로 등록한경우

cleos set account permission eosgazuaaaaa active '{"threshold":3,"keys":[{"key":"EOS5SqjBUy1sUbtj3hahqUoEGsfq2Q7MRBrbJ2Bv1CQMausWpvsDz","weight":1},{"key":"EOS6V44iF6ZFb1RDi9EkWUETyeT1u52dmErd8FnzUc9rNCPJxdsqM","weight":1},{"key":"EOS6ZsFQexgiVooWDorewmDDzhUXYFs1rLvivYpdBZTVw8ojin6Uk","weight":1}],"accounts":[],"waits":[]}' owner

 Result:   


Summary(요약) 처음 사용자

$ docker pull eosio/eos:latest

$ docker run --name eos-wallet -it eosio/eos:latest /bin/bash

# export PC_URL=http://localhost:8888

# export EOS_URL=http://user-api.eoseoul.io:80

# keosd &> /var/log/keosd.log &

# cleos --wallet-url $PC_URL wallet create

# cleos --wallet-url $PC_URL wallet import <EOS Private key> 

# cleos --wallet-url $PC_URL -u $EOS_URL  set account permission <AccountName> active <New EOS Public key> owner

# exit 

Summary(요약)  재사용

$ docker pull eosio/eos:latest 

$ docker start -i eos-wallet

# export PC_URL=http://localhost:8888

# export EOS_URL=http://user-api.eoseoul.io:80

# keosd &> /var/log/keosd.log & 

# cleos --wallet-url $PC_URL wallet unlock --password <지갑패스워드>

# cleos --wallet-url $PC_URL -u $EOS_URL  set account permission <AccountName> active <New EOS Public key> owner

# exit 

Sort:  

(jjangjjangman 태그 사용시 댓글을 남깁니다.)
[제 0회 짱짱맨배 42일장]5주차 보상글추천, 1,2,3,4주차 보상지급을 발표합니다.(계속 리스팅 할 예정)
https://steemit.com/kr/@virus707/0-42-5-1-2-3-4

5주차에 도전하세요

그리고 즐거운 스티밋하세요!