EOS 관련 개발자도 아니며, 또한 블럭체인과 관련한 회사에서 근무하는 것도 아니지만 새로운걸 배운다는게 무척이나 재미있어 최근에는 EOS 지갑툴 (그레이메이스, 심플이오스, EOSToolkit) 의 소스까지 살펴보면서 ...
문득 myEtherWallet(mew) 에서 제공했던 오프라인(Offline) 전송 기능이 EOS 지갑툴에서는 아직 제공이 되지 않아 내침 김에 직접 만들어 보자는 동기를 부여 한 것입니다.
오프라인 트랜잭션 생성(generate offline transaction)
오프라인 트랜잭션 생성이란 의미는 EOS 블럭체인 또는 인터넷이 연결되지 않은 상태에서 블럭체인에 기록될 트랜잭션을 미리 작성하는 것을 말 합니다.
토큰을 전송 하거나 또는 투표, 스테이크, 램 매매 등을 통틀어 EOS 에선 액션(Action)으로 언급되며 같은 의미로 이를 트랜잭션(transaction)으로 말합니다.(줄여서 tr 로 부르기도 합니다)
오프라인 트랜잭션 생성이 필요한 이유는 보안 이며, 지갑 보안의 최정점의 방법이 오프라인 트랙잭션 생성이기 때문 입니다.
장벽
EOS 지갑툴 소스를 살펴보면서 처음 느낌은 외계언어를 보는 듯한 느낌을 받았습니다. 개발을 해본지가 무려 20년전이니 그 뒤로 새로 생겨나온 개발 언어에 대한 구조를 알지 못하니 대략 난감 그 자체였습니다.
+++지식 획득
그레이 매스(Graymass), 심플이오스(SimplEOS)에 사용된 개발 도구를 알아가는 과정에서 Angular(앵귤러),BootStrap(부트스트랩), jQuery 등 전에 들어보지 못했던 생소한 개발도구 이름에 대한 정보를 알아 냈다는 것만으로도 상당한 진전이라 생각 되었습니다.
제가 아는 개발도구 이름은 비주얼 C++(Visual C++),델파이(Delphi),자바(Java) 정도인데 학습을 하면서 느낀점은 과거와 달리 웹(Web base)어플리케이션 개발이 주를 이루니 Java 라는 도구를 가장 많이 사용하며, 이와 연관된 것들이 Angular, BootStarp, jQuery 등 이다. 라는 지식을 획득 하였습니다.
대문 걸기
말만 디자인 일뿐 이곳 저곳 검색 능력을 발휘하여 예제 사이트를 복사후 붙여넣기 한다음 필요한 내용만 수정한 수준입니다.
웹 사이트 디자인시 매우 편리한 부트스트랩(BootStrap) 도구를 알아 가는 재미에 빠져 며칠을 투자하여 개인적인 디자인이 고려된 화면 입니다.
곳간 채우기
대문(홈) 치장에 정신이 팔려 정작 중요한 트랜잭션 생성에 관한 지식 습득을 뒷전으로 했는데, 오프라인으로 투표하는 방법에 관한 정보가 있어 이를 토대로 학습을 해나가면서 eosio 에서 제공하는 공식툴 cleos 에서 아래 그림처럼 트랙잭션 구성을 확인 할 수 있는데, 이 내용을 인터넷이 연결되지 않은 컴퓨터에서 그대로 생성해 내면 되는 것 입니다.
당구를 처음 배우면 잘 치고 싶은 생각에 저녁에 잘때 천정이 당구대로 보이듯이, 저도 시작한 마당에 될듯 말듯한 과정을 며칠 뇌리속을 거치면서 아래 처럼 완성 되었습니다.
테스트 결과
한번에 되는게 없듯이 트랜잭션 내용을 이제 EOS 블럭체인에 전파(Broadcast)하는 것에 대한 학습을 거치면서 완성 되었습니다.
정리
막상 최종 결과물을 얻고 나니 안될땐 당구대 생각나듯이 머리속을 지배 하였는데, 이젠 별거 아니었네 라는 생각이 듭니다. 사실 별거 아닙니다. 개인적인 호기심에 접근한 단순 학습 입니다.
개발자를 꿈꾸는 분들은 실무 능력도 중요하지만 창조적, 예술적 그리고 문제해결 능력에 대한 학습을 겸비하면 좋지 않을까 싶습니다.
EOS 를 개발한 댄 라이머 (Daniel Larimer)가 천재 프로그래머로 불리는 진짜 이유는 그가 작성한 코드가 훌륭하기 때문이 아니라 창조적, 문제해결에 대한 그의 다른 능력때문에 그를 천재라 부른다고 생각 합니다.
우앗 홀코인님.. 대단해요 이런것을 시도해보시고 만들어내시다니..+_+
과찬입니다. 호기심이 새로운 재미를 주는듯 합니다.
홀코인님!
님 쫌 멋있으세요!!!👍
칭잔 감사합니다. ㅎㅎ
@katiesa 님은 삶을 즐기며, 행복하게 사신다는 느낌이 전해지는 그런 완전 멋진 분입니다.
Congratulations @holcoin! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of posts published
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP
To support your work, I also upvoted your post!
Do not miss the last post from @steemitboard:
SteemitBoard World Cup Contest - The results, the winners and the prizes