EOS 블록체인에서는 기존의 블록체인과는 다르게 계정을 만드는 게 좀 까다롭다.  비트코인이나 이더리움 블록체인에서는 간단하게 랜돔한 프라이빗키->퍼블릭키를 생성해 계정으로 사용할 수 있다. 하지만 EOS에서는 퍼블릭키, 프라이빗키와 더불어 account라는 것이 추가되었다. Account는 human-readable characters로서 정확하게 12자리의 알파벳으로 만들 수 있다. 12자 보다 짧아서도 안되고 길어서도 안된다. (물론 12자보다 짧은 account를 얻는 방법이 있긴 하지만 여기서는  언급하지 않겠다.)  그래서 EOS를 전송할 때는 퍼블릭키 대신 어카운트를 사용해 보낸다. 이메일과 비슷한 방식으로 보내기 때문에 외우기도 쉬워 EOS의 장점으로 꼽힌다. 다만, 이 어카운트를 만들 때 약간의 금전(EOS)가 필요하다는 점과  새 계정을 만들 때는 반드시 기존 계정을 이용해서 만들어야 한다는 점은 좀 불편할 수 있다.

위의 내용을 기본으로 하여 이번 포스팅에서는 기존 account가 있는 상태에서 새 account를 만드는 방법을 설명해 보겠다.

위에서 언급하였지만 새 account를 만들기 위해서 돈(EOS)가 든다. 이 부분에 대해 조금 더 설명하자면 비트코인이나 이더리움은 가상화폐를 전송할 때 수수료가 들지만 EOS는 전송 시 수수료는 들지 않지만 계정을 만들 때 돈이 든다. 왜냐하면 블록체인 내의 RAM을 구입해야 하기 때문이다. 간단히 비유하자면 전통적인 서버-클라이언트 구조에서 서버서를 빌릴 때 지불하는 금액으로 생각하면 되겠다. 메모리가 크고 빠른 서버를 구입하기 위해서는 더 많은 금액을 지불해야 하는 것 처럼 EOS 블록체인에서도 용량이 크고 빠른 dapp을 만들기 위해서는 좀 더 많은 EOS를 지불해 많은 컴퓨팅파워를 확보해야한다. 

두서 없이 말했다. 정리하자면 새 account를 만드는데 필요한 것은 아래와 같다.

1. 기존 EOS account

2. 기존 EOS account 내 EOS

기존 account 이름을 existing1234 이라 하고 새로 생성하려는 아이디를 creating1234(public key: EOSXXXX) 라고 하자. 다시 한번 명심해야 할 것은 EOS블록체인의 account 명은 반드시 12글자여야 한다는 점이다. 위 account명이 12자가 아니면 에러가 난다.

cleos를 이용해서 새 account를 만드는 명령어는 아래와 같다.

$ cleos system newaccount existing1234 creating1234 EOSXXX -stake-net "0.1 EOS" --stake-cpu "0.1 EOS" --buy-ram-kbytes 8

이렇게 하면 새로운 계정이 만들어진다. --stake-net "0.1 EOS"의 경우 account의 brandwidth를 0.1 EOS만큼 예치하여 사용 하겠다는 뜻이고 --stake-cpu는 계정의 cpu를 0.1 EOS를 예치하여 사용하겠다는 것이다.  

이상.

+ Recent posts