Step 1: Wallet 생성하기
먼저 wallet 을 생성한다. cleos wallet create 를 통해 기본 wallet 을 --to-console
옵션을 사용하여 간단하게 생성한다.
cleos 를 production 환경에서 사용한다면, 대신 --to-file
옵션을 사용하여 wallet 의 패스워드를 배쉬 기록에 남지않도록 한다.
개발 목적으로 사용하는 production 환경의 키가 아니기때문에 –to-console 으로 보안 위협없이 사용할 수 있다.
cleos wallet create --to-console
cleos 는 패스워드를 반환하며, 이 패스워드를 다음 튜토리얼에서 이용할 수 있도록 저장하자.
Creating wallet: default
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5Kewn9L76X8Fpd....................t42S9XCw2"
wallet 에 대해 wallet 의 암호 해독성에 대한 흔한 오해중의 하나는 토큰을 저장할 것이라는 것이다. wallet 은 토큰을 저장하지 않는다. wallet 은 private key 를 암호화된 파일에 저장하고 사이닝 트랜젝션에 활용한다.
유저는 주로 인터페이스를 통해 트랜잭션 오브젝트를 빌드하고, 그 오브젝트를 서명될 수 있도록 wallet 에 전송하여, wallet 이 이후 시그니쳐와 함께 오브젝트를 네트워크를 통해 반환한다. 네트워크가 트랜잭션을 유효하다고 판단하면, 이를 블록체인의 블록에 포함시킨다.
Step2: Open the wallet
keosd 인스턴스를 시작하고 다면 wallet은 닫히게 된다. 실행시키고 싶다면 다음 명령어를 활용한다.
cleos wallet open
다시 리스트를 조회해보면
cleos wallet list
다음과 같이 반환된다.
Wallets:
[
"default"
]
Step 3: Unlock it
keosd wallet 은 열려있지만 여전히 잠겨있다. 좀전에 비밀번호를 제공받았으므로, 이를 이제 사용한다.
cleos wallet unlock
비밀번호를 입력하고 다시 리스트를 조회해보면
Wallets:
[
"default *"
]
열렸음을 의미하는 * 가 붙어있다.
Step 4: Import keys into your wallet
private key 를 생성하기 위한 cleos 명령어가 있다.
cleos wallet create_key
Step 5: Follow this tutorial series more easily
얻은 public key 를 입력하자.
Step 6:Import the Development Key
새로운 EOSIO 체인마다 “eosio” 라 불리는 기본적인 “system” 유저를 보유한다.
이 계정은 시스템 contracts 들을 로딩함으로써 governance 와 EOSIO 체인의 컨센서스를 지휘하는 체인을 설정하는데 사용된다.
모든 EOSIO 체인은 development key 와 함께 제공되는데, 모두 동일하다. 이 키를 로드하여 시스템유저(eosio) 대신 트랜잭션을 서명해보자.
cleos wallet import
private key 를 질의 할텐데, 다음을 입력한다.
5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
이제 default wallet 이 해금되고 key 로 load 되었으니, 다음을 진행 할 수 있게 되었다.