[블록체인 PICK] EOS Smart Contract 를 위한 준비

 

EOS Smart Contract 를 위한 준비

 

EOS Smart Contract 를 위한 준비와 토큰 발행 그리고 C++를 활용해 토큰의 간단한 기능을 개발해 보겠습니다.

환경 구성 및 지갑 생성은 SAM 님의 아래 2글을 참고해 주시기 바립니다.

 

EOS — 설치 및 실행 (1/2)

EOS — 동작구조 및 환경설정(2/2)

 

지갑 생성하기

 

 

SAM 님의 포스트를 참고 하셨다면 아마 다음과 같이 ‘default’ (별도의 이름을 지정하지 않았을 시) 지갑을 생성 하셨을 겁니다.

 

이 지갑을 사용하여 계정을 Create 한 후 Key 를 Import 하겠습니다.

 

Key 생성하기

 

$ cleos create key

 

위 명령을 실행 하시면 다음과 같은 화면을 얻을 수 있습니다.

 

create key 명령의 결과
 

** 주의 : Private Key는 Public Key의 소유를 증명하는 중요한 개념으로 절대 타인에게 노출하면 안됩니다.

 

Additional

Key 생성 후 지갑에 import 하기 귀찮으시다면 생성된 지갑에서 바로 Key 를 생성하셔도 됩니다.

$ cleos wallet create_key
 

위와같이 key가 생성 됩니다. 하지만 public key 만 보이기 때문에 하단 명령 입력 후 지갑 key를 입력하면 private key를 확인할 수 있습니다.

cleos wallet private_keys

 

 

지갑에 Key import하기

 

지갑은 Public Key — Private Key를 저장하는 저장소 입니다. 생성된 키를 지갑에 저장하기 위해 다음과 같은 명령어를 입력합니다.

 

$ cleos wallet import 
  • -n : 옵션을 사용하면 지갑의 이름을 지정합니다. 지정하지 않는다면 기본 생성된 default 지갑으로 지정됩니다.

위 명령을 입력 하면 key 가 임포트 되었다는 결과를 확인 할 수 있습니다.

 

 

** 만약 지갑을 Unlock 한 상태가 아니라면 ‘private key: Error 3120003: Locked wallet’ Exception 이 나옵니다.

 

unlock 을 위해 다음 명령을 실행한 후 wallet 생성시 저장했던 Key를 입력하여 Unlocked 상태로 만들어 줍니다.

 

$ cleos wallet unlock password: Unlocked: default 

(Optional) 지갑에 저장된 Key 리스트 확인

 

다음 명령어를 입력하여 지갑에 key 가 잘 import 됐는지 확인합니다.

 

$ cleos wallet keys
 
 

계정 생성

 

eosio.token 이라는 이름으로 계정을 생성하도록 하겠습니다.

** 지갑과 Key 그리고 계정에 관해서는 Hexlant 미디움에 게재될 예정입니다.

 

$ cleos create account eosio eosio.token EOS63kstp8kthzJY3rAotp1LAxUDbWk4MywReG578R2ddbktrDHYK 
  • creator : eosio
  • account name : eosio.token
  • owner key : 지갑에 import 된 key

 

Additional

본 포스팅은 local 환경에서 빌드 후 System Contract 들이 적용되지 않은 상황을 가정하였습니다. 만약 Public Network 환경에서 접속 시 eosio 와 eosio.token을 사용할 수 없습니다.

또한 계정이름은 다음과 같은 규칙을 따릅니다.

– 12문자

– 12345abcdefghijklmnopqrstuvwxyz 만 사용 가능

** 만약 ‘Error 3090003: provided keys, permissions, and delays do not satisfy declared authorizations’ 에러 발생 시 eosio 에 대한 key 를 지갑에 import 해야 합니다.

 

eosio 에 대한 정보는 다음과 같습니다.

public key: EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
private key: 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3


 

위 과정을 모두 마쳤다면, EOS 지갑과 키 그리고 계정에 대한 권한을 모두 가지고 있는 상태가 됩니다.

다음 포스팅에서는 이 계정을 사용 하여 Token 을 발행하는 방법을 알아보도록 하겠습니다.

감사합니다.

 

 

 

 

원문 확인하기 >> http://goo.gl/W3xnZx

error: 본 콘텐츠의 저작권은 BTC코리아닷컴에 있으며 무단전재&배포 금지합니다.