EOS 개발자 포털_Getting Started_번역본(Version 1.0) / KEOS는 EOS 메인넷의 현재 Standby BP 입니다.
안녕하세요 KEOS입니다.
KEOS는 EOS 메인넷의 현재 Standby BP 입니다. (현재 52위, EOSPortal.io에서 확인 가능, 계정명 : keoskorea111)
이번에 EOSIO 개발자 포털을 번역하게 된 계기는 더 많은 개발자들이 쉽게 EOSIO를 쓸 수 있도록 하여 EOS 생태계에 기여하고 싶어서 시작했습니다.
이 글은 KEOS가 개발자 포털의 Getting Started를 번역하였습니다.(Version 1.0)
스팀잇을 제외한 다른 플랫폼으로 퍼갈 경우, 출처를 남겨주시기 바랍니다.
시작하기에 앞서 Oracle VM VirtualBox를 통해 ubutu(리눅스 OS)를 설치하고 진행해주세요.
하드디스크 용량은 최소 20GB의 여유 공간, RAM은 8GB 이상이어야 합니다.
(그래서 개발자용 컴퓨터가 아니면 로컬 환경에서 힘들 거에요 ㅜ)
시작하기
개요
Eosio는 여러 프로그램이 있습니다. 사용할 가장 주요한 프로그램과 여기서 다루는 프로그램은 다음과 같습니다.
nodeos : 노드를 운영할 플러그 인과 함께 운영될 수 있는 핵심 EOSIO 데몬. 예제 용도는 블록 생산, 전용 API endpoints, 로컬 개발 입니다.
cleos : 블록체인과 상호작용하고 지갑을 관리할 명령 행 인터페이스
keosd : EOSIO 지갑을 관리하는 구성 요소
Docker Quickstart
Docker 설치
시작하기 위해, 컴퓨터에 Docker를 설치하는 것이 필요로 합니다.
Docker는 서비스를 관리하기 위한 container와 같습니다.
Docker는 개발자가 휴대 가능한 container 안에 완전히 구성된 시스템 환경을 만들도록 가능하게 하는 것에 의해 앱 배포를 단순화하게 합니다.
시스템 환경은 앱이 필요로 하는 모든 런타임(runtime, 실행 시간) 지원을 제공하는 시스템 구성 운영에 있어서 운영되는 목표 앱을 구성합니다.
개발자는 container 안에 바람직한 시스템 구성을 만듭니다.
그리고 나서 분배를 위한 container를 패키징합니다.
그 목표는 앱 유저가 container의 사본을 얻을 수 있도록 하는 것이고 앱 유저의 Docker 환경에서 그것이 배포되도록 하는 것이고 많은 시스템과 앱 구성을 필요로 하는 것 없이 해제하고 실행할 수 있다는 것입니다.
Docker를 설치 하기 위해, 이 안내서를 참조하세요.
EOSIO 개발자 Docker image
EOSIO 개발자 Docker image는 현지 개발을 위하여 컴파일된(Compiled, 명령어를 사람이 읽을 수 있는 것으로 바뀐) EOSIO 소프트웨어 버전입니다.
저장소로부터 이미지를 가져오세요.
docker pull eosio/eos-dev
그리고 EOSIO 노드를 시작하세요.
sudo docker run --rm --name eosio -d -p 8888:8888 -p 9876:9876 -v /tmp/work:/work -v /tmp/eosio/data:/mnt/dev/data -v /tmp/eosio/config:/mnt/dev/config eosio/eos-dev /bin/bash -c "nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::wallet_plugin --plugin eosio::producer_plugin --plugin eosio::history_plugin --plugin eosio::chain_api_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:8888 --access-control-allow-origin=* --contracts-console"
작동 여부를 확인하세요.
sudo docker logs --tail 10 eosio
결과물은 이것과 비슷해야 합니다.
1929001ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000366974ce4e2a... #13929 @ 2018-05-23T16:32:09.000 signed by eosio [trxs: 0, lib: 13928, confirmed: 0]
1929502ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000366aea085023... #13930 @ 2018-05-23T16:32:09.500 signed by eosio [trxs: 0, lib: 13929, confirmed: 0]
1930002ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000366b7f074fdd... #13931 @ 2018-05-23T16:32:10.000 signed by eosio [trxs: 0, lib: 13930, confirmed: 0]
1930501ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000366cd8222adb... #13932 @ 2018-05-23T16:32:10.500 signed by eosio [trxs: 0, lib: 13931, confirmed: 0]
1931002ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000366d5c1ec38d... #13933 @ 2018-05-23T16:32:11.000 signed by eosio [trxs: 0, lib: 13932, confirmed: 0]
1931501ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000366e45c1f235... #13934 @ 2018-05-23T16:32:11.500 signed by eosio [trxs: 0, lib: 13933, confirmed: 0]
1932001ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000366f98adb324... #13935 @ 2018-05-23T16:32:12.000 signed by eosio [trxs: 0, lib: 13934, confirmed: 0]
1932501ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 00003670a0f01daa... #13936 @ 2018-05-23T16:32:12.500 signed by eosio [trxs: 0, lib: 13935, confirmed: 0]
1933001ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 00003671e8b36e1e... #13937 @ 2018-05-23T16:32:13.000 signed by eosio [trxs: 0, lib: 13936, confirmed: 0]
1933501ms thread-0 producer_plugin.cpp:585 block_production_loo ] Produced block 0000367257fe1623... #13938 @ 2018-05-23T16:32:13.500 signed by eosio [trxs: 0, lib: 13937, confirmed: 0]
축하합니다! Docker container에서 운영되는 매우 단순한 싱글 노드 블록체인을 가졌습니다.
또한, RPC 인터페이스가 작동하는 지 확인하기 위해 브라우저에서 이 주소로 가세요.
다음과 비슷한 메시지를 보아야 합니다.
{
"server_version": "d624664b",
"head_block_num": 13780,
"last_irreversible_block_num": 13779,
"last_irreversible_block_id": "000035d36e1ca29ba378081c574ab3b5ab4214ba29754dd42b512690a9f03e80",
"head_block_id": "000035d4165c9225d7a04822d142fbcb15f997a6f2571dc7bae8437dea782205",
"head_block_time": "2018-05-23T16:30:54",
"head_block_producer": "eosio",
"virtual_block_cpu_limit": 100000000,
"virtual_block_net_limit": 1048576000,
"block_cpu_limit": 99900,
"block_net_limit": 1048576
}
Cleos
Cleos는 블록체인과 함께 상호작용하고 지갑을 관리할 명령어 행 인터페이스 입니다.
편리함을 위해 container에서 운영되는 cloes를 위해 bash alias(예를 들면, 서울=1, 부산=2처럼 어떤 명령을 별명화 시키는 프로그램 같은 것)를 만들 것입니다.
터미널(창)에서 실행하세요.
alias cleos='docker exec eosio /opt/eosio/bin/cleos --wallet-url http://localhost:8888'
이제, 터미널에서 cleos --help 를 실행하려고 하세요.
다음의 결과물처럼 보여야 합니다.
Command Line Interface to EOSIO Client
Usage: /opt/eosio/bin/cleos [OPTIONS] SUBCOMMAND
Options:
-h,--help Print this help message and exit
-u,--url TEXT=http://localhost:8888/
the http/https URL where nodeos is running
--wallet-url TEXT=http://localhost:8900/
the http/https URL where keosd is running
-r,--header pass specific HTTP header; repeat this option to pass multiple headers
-n,--no-verify don't verify peer certificate when using HTTPS
-v,--verbose output verbose actions on error
Subcommands:
version Retrieve version information
create Create various items, on and off the blockchain
get Retrieve various items and information from the blockchain
set Set or update blockchain state
transfer Transfer EOS from account to account
net Interact with local p2p network connections
wallet Interact with local wallet
sign Sign a transaction
push Push arbitrary transactions to the blockchain
multisig Multisig contract commands
system Send eosio.system contract action to the blockchain.
많이 어렵네요
감사합니다^^