EOS Smart Contract 를 위한 준비와 토큰 발행 그리고 C++를 활용해 토큰의 간단한 기능을 개발해 보겠습니다.
환경 구성 및 지갑 생성은 SAM 님의 아래 2글을 참고해 주시기 바립니다.
EOS — 설치 및 실행 (1/2)
EOS — 동작구조 및 환경설정(2/2)
SAM 님의 포스트를 참고 하셨다면 아마 다음과 같이 ‘default’ (별도의 이름을 지정하지 않았을 시) 지갑을 생성 하셨을 겁니다.
이 지갑을 사용하여 계정을 Create 한 후 Key 를 Import 하겠습니다.
$ cleos create key
위 명령을 실행 하시면 다음과 같은 화면을 얻을 수 있습니다.
**주의 : Private Key는 Public Key의 소유를 증명하는 중요한 개념으로 절대 타인에게 노출하면 안됩니다.
Additional
Key 생성 후 지갑에 import 하기 귀찮으시다면 생성된 지갑에서 바로 Key 를 생성하셔도 됩니다.
$
cleos wallet create_key
위와같이 key가 생성 됩니다. 하지만 public key 만 보이기 때문에 하단 명령 입력 후 지갑 key를 입력하면 private key를 확인할 수 있습니다.
$
cleos wallet private_keys
지갑은 Public Key — Private Key를 저장하는 저장소 입니다. 생성된 키를 지갑에 저장하기 위해 다음과 같은 명령어를 입력합니다.
$
cleos wallet import
위 명령을 입력 하면 key 가 임포트 되었다는 결과를 확인 할 수 있습니다.
** 만약 지갑을 Unlock 한 상태가 아니라면 ‘private key: Error 3120003: Locked wallet’ Exception 이 나옵니다.
unlock 을 위해 다음 명령을 실행한 후 wallet 생성시 저장했던 Key를 입력하여 Unlocked 상태로 만들어 줍니다.
$
cleos wallet unlock
password: Unlocked: default
다음 명령어를 입력하여 지갑에 key 가 잘 import 됐는지 확인합니다.
$
cleos wallet keys
eosio.token 이라는 이름으로 계정을 생성하도록 하겠습니다.
** 지갑과 Key 그리고 계정에 관해서는 Hexlant 미디움에 게재될 예정입니다.
$
cleos create account eosio eosio.token EOS63kstp8kthzJY3rAotp1LAxUDbWk4MywReG578R2ddbktrDHYK
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 을 발행하는 방법을 알아보도록 하겠습니다.
감사합니다
#헥슬란트 #HEXLANT #블록체인 #개발자 #개발팀 #기술기업 #기술중심