개발자가 되고 싶은 사람

[EOS #2] eos intro/eos 개략적 내용

|

EOS demon

nodeos

  • eos 블록을 생성하는 코어 데몬

cleos

  • 사용자가 컴포넌트들에 접근할 수 있게 해주는 최전방 command-line 툴.
  • 내부적으로 nodeos의 API를 사용한다. cleos -h 명령어

keosd

  • wallet 이라는 단위로 key를 관리할 수 있다.
  • eos의 wallet을 관리하는 데몬.

c, c++

  • EOSIO 기반 블록 체인은 WebAssembly (WASM)를 사용하여 사용자 생성 응용 프로그램과 코드를 실행
  • 현재 WASM으로 컴파일되는 응용 프로그램을 빌드하는 데있어 가장 성숙한 툴체인은 C / C ++ 컴파일러와 함께 clang / llvm입니다.
  • 최상의 호환성을 위해 EOSIO C ++ 툴 체인을 사용하는 것이 좋습니다.

권장 환경

  • 우분투 16.04 (우분투 16.10 권장)
  • 우분투 18.04
  • MacOS Darwin 10.12 이상 (MacOS 10.13.x 권장)
  • ** Windows에서 개발하는 경우 불행히도 현재로서는 Powershell 포트 및 지침을 제공하지 않습니다. 앞으로는 powershell 명령을 추가 할 것입니다. 그 동안 우분투에서 VM을 사용하고 이 VM 내부에 개발 환경을 설정하는 것이 가장 좋습니다.

start my node and setup

  • eos testnet(jungle)접속 및 eos rpc로 접속 test
  • 자세한 접속 정보는 slack에~

start keosd

  • shell : keosd &

Check that Nodeos is Producing Blocks

  • check installation
  • shell : tail -f nodeos.log(각자 해당되는 파일이름으로 확인)(log확인)
  • 나의 경우, jungletestnet 이라는 경로에 들어가 초마다 채굴되는 로그를 확인해 볼 수 있다.

Check the Wallet

  • shell : cleos wallet list
  • response :
Wallets:
[]
  • 이 시점부터 로컬 시스템 (Linux 또는 Mac)에서 명령을 실행할 것입니다.

Check Nodeos endpoints

  • RPC API가 제대로 동작하는지 확인하는 명령어.
  • 1). chain_api_plugin로 제공되는 get_info endpoint 를 확인하기. (Check the get_info endpoint provided by the chain_api_plugin in your browser):
  • http://localhost:8888/v1/chain/get_info

  • 2). 호스트 콘솔에서 아래와 같이 확인할 수 있다.
  • curl http://localhost:8888/v1/chain/get_info

CDT

  • eosio.cdt : EOSIO Contract Development Toolkit (CDT)은 contract compilation과 관련된 도구 모음입니다.
  • 주로 계약을 컴파일하고 ABI를 생성하기 위해 CDT를 사용합니다.

Create Development Wallet

  • 개발환경에서 지갑 생성
  • shell : cleos wallet create --to-console
  • 지갑에 토큰이 저장 되지 않습니다 . 지갑은 암호화 된 파일에 개인 키를 저장하고 트랜잭션에 서명합니다.

1. create a wallet

  • cleos wallet create --to-console

2. open a wallet

  • cleos wallet open
  • cleos wallet list
  • return :
Wallets:
[
  "default"
]

3. Unlock it

  • cleos wallet unlock 명령어 입력후 저장된 password 입력.
  • 만약 정상적으로 unlock이 된다면 아래의 결과 리턴
Wallets:
[
  "default *"
]

4. Import keys into your wallet

  • 개인키를 생성할때 아래 명령어 Generate a private key, cleos has a helper function for this, just run the following.
  • cleos wallet create_key
  • 잘 되면 아래와 같이 리턴함.
  • Created new private key with a public key of: "EOS8PEJ5FM42xLpHK...X6PymQu97KrGDJQY5Y"

6. Import the Development Key

  • 개발 키 가져 오기.
  • 모든 새로운 EOSIO 체인에는 “eosio”라는 기본 “시스템”사용자가 있습니다.
  • 이 계정은 EOSIO 체인의 관리 및 합의를 지시하는 시스템 계약을로드하여 체인을 설정하는 데 사용됩니다.
  • 모든 새로운 EOSIO 체인에는 개발 키가 있으며,이 키는 동일합니다.
  • 시스템 사용자 (eosio)를 대신하여 트랜잭션에 서명하려면이 키를로드하십시오.

Create Test Accounts

  • account

    계정은 블록 체인에 저장되어 보낸 사람 /받는 사람을 식별하는 데 사용되는 권한 모음입니다.
    권한을 구성한 방법에 따라 개인 또는 개인의 그룹이 소유 할 수있는 유연한 권한 구조가 있습니다.
    블록 체인에 유효한 거래를 보내거나 받으려면 계정이 필요합니다.

  • 아래와 같이 생성하면 owner key가 필요하다고 나온다 .
  • cleos create account eosio alice \
cleos create account eosio alice \
>
ERROR: RequiredError: OwnerKey
Create a new account on the blockchain (assumes system contract does not restrict RAM usage)
Usage: cleos create account [OPTIONS] creator name OwnerKey [ActiveKey]

Positionals:
  creator TEXT                The name of the account creating the new account (required)
  name TEXT                   The name of the new account (required)
  OwnerKey TEXT               The owner public key for the new account (required)
  ActiveKey TEXT              The active public key for the new account
  • 계정을 만드는 동안 오류가 발생하면 지갑이 잠금 해제되어 있는지 확인하십시오.
  • cleos wallet list
  • 아래에서 볼 수 있듯이 지갑 이름 옆에 별표 (*)가 있어야합니다.
Wallets:
[
  "default *"
]
  • 어카운트 생성에 대한 더 자세한 정보는 account 생성글 참고

Reference

  • https://developers.eos.io/eosio-home/docs/introduction

Comments