Chapter1-2: EOSIO/EOS image 다운 및 설치

전편에서 설명한 Docker를 설치하였다면 이제 docker 명령어를 이용하여 EOS Docker 이미지를 다운 받아 컴퓨터안에 EOS node를 생성할 차례이다. 이 단계가 정상적으로 끝난다면 지금 당신의 컴퓨터 내에 EOS 노드가 생성될 것이고 EOS Mainnet과 통신을 할 수 있게 된다.

1) 간단한 명령어로 Docker eosio 이미지 다운 받기

$ sudo docker pull eosio/eos

2) 그리고 임의의 공간에 contracts라는 폴더를 만든다. 그리고 pwd명령어를 이용해 경로 파악한 후 보관한다. 여기에 EOS관련 계약 등이 담길 것이다.

$ mkdir contracts

$ cd contracts

$ pwd

3) 노드 생성 시키기. CONTRACT_DIR에 위에서 파악한 contracts 폴더의 경로를 대체한다.

$ docker run --name eosio \
  --publish 7777:7777 \
  --publish 127.0.0.1:5555:5555 \
  --volume CONTRACTS_DIR:CONTRACTS_DIR \
  --detach \
  eosio/eos \
  /bin/bash -c \
  "keosd --http-server-address=0.0.0.0:5555 & exec nodeos -e -p eosio --plugin eosio::producer_plugin --plugin eosio::history_plugin --plugin eosio::chain_api_plugin --plugin eosio::history_plugin --plugin eosio::history_api_plugin --plugin eosio::http_plugin -d /mnt/dev/data --config-dir /mnt/dev/config --http-server-address=0.0.0.0:7777 --access-control-allow-origin=* --contracts-console --http-validate-host=false --filter-on='*'"

위 명령을 수행하면 로컬노드가 생성된다. 그러나 아직  Development용으로 실제 EOS Mainnet과 연결되지 않았다. 실제 Mainnet과 연결하려면 아래의 명령을 수행한다.

$ docker run --rm --name eosio -d -v ~/eosio-wallet: /root/eosio-wallet eosio/eos-dev/ bin/bash -c 'keosd'

그리고 cleos 단축키 만든다. 리눅스의 경우 "bashrc"파일에 아래의 문구를 삽입한다.


alias cleos='docker exec -it eosio /opt/eosio/bin/cleos --url http://127.0.0.1:7777 --wallet-url http://127.0.0.1:5555'

4) 실제 EOS Mainnet 과 연결되었는지 확인하기

$ cleos get info

위 명령을 수행하면 json파일 형식이 리턴 되는데 head_block_producer가 eosio로 되어 있으면 현재 메인넷과 연결이되지 않은 상태이고 eosio가 아닌 eoslaomaocom 등 이 나타난다면 정상적으로 EOS Mainnet과 연결된 것이다.

여기까지 정상적으로 끝냈다면 일단 컴퓨터에 EOS 노드가 만들어진 것이다. 다음에는 EOS 스마트 계약을 만들 수있는 CDT를 설치하도록 하자.

+ Recent posts