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

in #kr7 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 입니다.

 

Sort:  

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

감사합니다. :)

정보 감사합니다.

행복하세요 ^^:)

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

항상 수고하십니다.

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