cleos 이용 EOS 투표(voting)하기 ① in Docker(window)

in kr •  6 years ago 

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]
# export EOS_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 delegatebw b1 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 입니다.

 

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

좋은 포스팅에 감사드리며 리스팀해갑니다! :D

감사합니다. :)

정보 감사합니다.

행복하세요 ^^:)

(jjangjjangman 태그 사용시 댓글을 남깁니다.)
호출에 감사드립니다! 즐거운 스티밋하세요!

항상 수고하십니다.

정말 최고의 포스팅들 감사드립니다.