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 permissioneosgazuaaaaa
activeEOS6ZsFQexgiVooWDorewmDDzhUXYFs1rLvivYpdBZTVw8ojin6Uk
owner
Reuslt:
계정에 매칭된 소유자(owner) EOS 공개키를 변경 하는 명령어 입니다.
cleos set account permission<AccountName>
owner<New EOS Public key>
-p<AccountName>
@owner
Example:
cleos set account permissioneosgazuaaaaa
ownerEOS7j9CKP5fBG66KT6ysWY1q9Ri2EDVnKCEs7ojJZzxkgbih4SgFS
-peosgazuaaaaa
@owner
Reuslt:
멀티키로 변경
위에서 언급한 명령어는 Owner,Active 키가 각각 1개만 등록하는 명령어 입니다. 만약 보안을 고려하여 여러개의 키를 등록하여 사용할 필요가 있는 경우 아래와 같이 EOS 공개키나 또는 계정권한을 등록하여 사용 할 수 있습니다.
Example: 계정명@active 를 active 로 등록한경우
cleos set account permissioneosgazuaaaaa
active'{"threshold":1,"keys":[],"accounts":[{"permission":{"actor":"holcoin11111","permission":"active"},"weight":1}],"waits":[]}'
owner
Result :
Example: EOS 공캐키 + 계정명@active 를 active 로 등록한경우
cleos set account permissioneosgazuaaaaa
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 permissioneosgazuaaaaa
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
(jjangjjangman 태그 사용시 댓글을 남깁니다.)
[제 0회 짱짱맨배 42일장]5주차 보상글추천, 1,2,3,4주차 보상지급을 발표합니다.(계속 리스팅 할 예정)
https://steemit.com/kr/@virus707/0-42-5-1-2-3-4
5주차에 도전하세요
그리고 즐거운 스티밋하세요!