cleos 이용 EOS 투표(voting)하기 ① in Docker(window)
Docker(도커)를 정상적으로 설치 했다면, eosio 공식툴인 cleos 를 이용하여 투표하는 방법에 관한 설명 입니다. Docker(도커)를 설치하지 않았다면, Docker 설치 글을 참고로 Docker 먼저 설치 해야 합니다.
Docker Install for Window(도커 설치 원도우)
STEP 1
원도우 단축 아이콘 Docker QuickStart Terminal 를 실행하면 Dos 창이 매우 작으므로, 창 상단에서 우클릭 한후 [속성] 메뉴를 실행 합니다.
[레이아웃] 탭을 선택후 원하는 사이즈를 창의 크기를 조정 합니다.
STEP 2
EOSIO Docker image 를 다운로드 및 최신상태로 업데이트 합니다.
$ docker pull eosio/eos:latest
STEP 3
eos-wallet
은 사용자가 임의로 정하는 명칭 이며, 나머지 명령어 문구는 그대로 입력합니다.
$ docker run --name eos-wallet
-it eosio/eos:latest /bin/bash
정상적을 eosio 가 실행되었다면 아래와 같이 명령어 라인을 입력 받을수 있는 상태로 보입니다.
STEP 4
STEP 1 ~ 3 은 창크기 설정, EOSIO 를 실행하는 단계이며, STEP 4 부터는 cleos 명령어를 입력하는 단계로 정해진 명령어를 입력하는 단계로 철자 , 규칙, 공백등에 주의 해야 합니다.
1. 지갑(Wallet) 데몬 keosd 실행하기
# keosd &> /var/log/keosd.log & [Enter]
2. 환경변수를 설정하기
PC_URL
, EOS_URL
은 임의로 정하는 문자이며 대문자로 정하는게 일반적이며,EOS_URL 은 API 주소로 아래 외에도 많으며, 이 글에서는 한국 BP 후보 API 주소를 사용했습니다.(참고:https://www.eosdocs.io/resources/apiendpoints/)
# export PC_URL
=http://localhost:8888 [Enter]
# exportEOS_URL
=http://user-api.eoseoul.io:80
[Enter]
3. 지갑을 생성하기(기본이름 : default)
cleos --wallet-url $PC_URL wallet create [Enter]
실행후 지갑의 표시되는 지갑의 비밀번호를 메모장에 잘 보관 합니다. EOS Private key 와는 다른것 입니다.
4. 지갑( default)
에 EOS Private key 를 등록(import)하기
cleos --wallet-url $PC_URL wallet import <EOS Private key>
[Enter]
5. EOS Public key 확인 하기
cleos --wallet-url $PC_URL wallet keys [Enter]
6. 계정(account) 정보 확인하기
블럭원 계정 b1
을 조회, 계정이름(account name) 에 대한 staked 수량 및 투표정보를 확인 할 수 있습니다.
cleos --wallet-url $PC_URL --url $EOS_URL get account b1
[Enter]
7. 투표 하기
b1
계정이름과 투표할 <BP후보계정>
을 공백으로 구분하여 입력 하면됩니다. 만약 다시 투표를 하고 싶다면 같은 명령어를 반복 하면 됩니다.
예) eosyskoreabp eoseouldotio eosnodeonebp bitfinexeos1 eosdacserver eosauthority eosnewyorkio eosisgravity eosliquideos
cleos --wallet-url $PC_URL --url $EOS_URL system voteproducer prods b1
<BP후보계정> [Enter]
https://eosflare.io/account/<계정이름> 조회
8. Stake 하기
투표를 하기 위해선 EOS 토큰을 stake 해야만 하는데 현재는 이미 일괄적으로 staked 되어 있어서 따로 진행하지 않아도 되지만, 이후에는 필요한 과정 입니다.
cleos --wallet-url $PC_URL --url $EOS_URL system delegatebwb1
b1
"1.0000 EOS"
"1.0000 EOS"
b1
b1
net bandwidth
cpu bandwidth
b1 계정이 b1계정에게 1 EOS(net bandwidth), 1 EOS(cpu bandwidth) 를 stake 하란 내용 입니다.
9. BP(Block Procedure) 확인하기
cleos --wallet-url $PC_URL --url $EOS_URL system listproducers --limit 200
[Enter]
--limit 200
은 Bp 득표 순위별로 출력할 갯수를 지정하는 옵션 입니다.
Summary(요약) 처음 사용자
Docker 설치후 처음 eosio 를 사용하여 투표하는 사용자를 위한 명령어 입력 순서에 대한 요약 입니다.
$ 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 --url $EOS_URL system voteproducer prods <계정이름> <BP후보계정>
# cleos --wallet-url $PC_URL --url $EOS_URL get account <계정이름>
(pass ok)
# exit
Summary(요약) 재사용
Docker 로 eosio 를 재사용하는 경우에 대한 명령어 입력 순서에 대한 요약 입니다.
$ 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 --url $EOS_URL system voteproducer prods <계정이름> <BP후보계정>
# exit
정리
마우스 클릭이라고는 전혀 없이 문자로만 명령어 입력 [Enter]
...를 반복해서 사용하는게 cleos 입니다.
이 글에서는 투표하는 명령어에 대해서 알아 본 것이며, 계정생성 또는 전송등의 추가 cleos 명령어에 대해서 학습 을 한다면 eos 블럭체인과 할 수 있는 모든 것을 할 수 있습니다. 사용자한테 친화적이지 못한 접근방법이 단점 이지만 보안 & 기능 구현이 필요 없는게 cleos 입니다.
좋은 포스팅에 감사드리며 리스팀해갑니다! :D
감사합니다. :)
정보 감사합니다.
행복하세요 ^^:)
(jjangjjangman 태그 사용시 댓글을 남깁니다.)
호출에 감사드립니다! 즐거운 스티밋하세요!
항상 수고하십니다.
정말 최고의 포스팅들 감사드립니다.