EOSIO 1.0 런칭 그리고 개발자를 위한 포탈 소개
드디어, 아기다리 고기다리던 EOS의 메인넷의 런칭이 시작되었습니다!!
이와 함께 block.one에서 EOSIO 1.0 정식 버전이 공개 되었는데요. (https://block.one/news/eosio-1-0-release/ )
이에 대한 특징과 함께, 공개된 개발자 포털에 대해서 살펴보도록 하겠습니다. 실제적으로 개발할 수 있는 가이드가 나온 것만으로도 개발자에게는 무척 설레고 흥미진진한데요. 앞으로 무수히 나올 EOS 디앱을 개발하기 위한 기본 정석이 될 수 있을것 같아요.
[EOSIO 1.0 특징]
- Free Rate Limited Transactions - 제한적인 트랜잭션에 대한 자유로운 비율 설정
- Low Latency Block confirmation (0.5 seconds) - 블록 컨펌에 대한 낮은 레이턴시 (0.5초)
- Low-overhead Byzantine Fault Tolerant Finality - 낮은 오버헤드의 비잔틴 결함 허용 완결성
- Optional high-overhead, low-latency BFT finality - 선택 가능한 높은 오버헤드 및 낮은 레이턴시의 비잔팀 결함 허용 완결성
- Smart contract platform powered by Web Assembly - 웹 어셈블리에 의해 가동되는 스마트 컨트랙트 플랫폼
- Designed for Sparse Header Light Client Validation - Sparse Header Light 클라이언트 검증을 위한 설계
- Scheduled Recurring Transactions - 예약가능한 반복적인 거래
- Time Delay Security - 시간 지연 보안
- Hierarchical Role Based Permissions - 수락 기반의 계층적 권한
- Support for Biometric Hardware Secured Keys (e.g. Apple Secure Enclave) - 생체 인식 하드웨어 보안 키 지원
- Parallel Execution of Context Free Validation Logic - 컨텍스트 프리 검증 로직의 병렬 실행
- Inter Blockchain Communication - 블록체인 간의 커뮤니케이션
[사진 - eosio developer portal]
이는 개발자 포탈로서, EOS 개발과 관련한 다양한 매뉴얼과 가이드가 나열되어 있습니다. 저도 이 가이드를 토대로 개발을 진행하려고 하는데, 이에 앞서 간략하게 어떤 내용들이 있는지 보도록 할게요.
General :
EOS 의 일반적인 정보 및 소개 등이 나와있는 페이지. EOSIO의 정의 및 역사, 주요 특징, 네트워크 및 사용 도구가 열거되어 있으며, Getting Started 페이지를 통해 개발 관련 문서를 차근히 살펴볼 수 있습니다.
Getting Started:
이 페이지에는 도커(Docker)를 활용한 이미지 설치 및 환경 설정부터 시작하여, Cleos, Keosd 의 기본 소개, nodeos 설치 과정 등이 있으며, EOSIO 플러그인 목록도 나열되어 있습니다. 빠르게 설치 및 실행을 위해서는 도커 이미지를 pull 받아서 이미지를 실행하고 cleos를 실행하는 것이 추천됩니다.
Nodeos:
nodeos 는 EOSIO 코어 데몬으로서, 노드를 실행하기 위한 플러그인을 구성할 수 있습니다. 이를 통해, 블럭 생성이나 검증, 체인이나 월렛에 HTTP RPC API를 구축할 수 있습니다.
[사진 : eosio architecture]
Cleos:
cleos는 nodeos가 제공하는 REST API를 호출할 수 있는 CLI(command line interface) 툴입니다. cleos를 사용하기 위해서는, IP address나 포트와 같은 nodeos 인스턴스의 엔드 포인트가 필요한데, 이를 통해 블록체인과 통신하고, 월렛을 관리할 수 있습니다.
Keosd:
keosd는 경량화된 월렛으로서, 여러 개의 월렛을 관리하는 용도로 사용됩니다. 이는 키를 보관하고, 네트워크로 브로드캐스팅되기 전에, 트랜잭션을 사인하는 등의 기능이 있습니다.
Smart Contracts:
스마트 컨트랙트를 작성하는 방법과 튜토리얼 들이 상세하게 나열되어 있습니다. EOSIO 스마트 컨트랙트는 블록체인 상에서 등록되어, 노드 위에서 실행됩니다. 스마트 컨트랙트를 구성하는 인터페이스는 액션, 파라미터, 데이터 구조 등으로 이루어 지며, 이 코드는 노드가 가져와서 실행할 수 있는 바이트코드 포맷으로 컴파일됩니다. 블록체인은 컨트랙트의 트랜잭션을 저장하고, 개별 스마트 컨트랙트는 리카르디안 컨트랙트(Ricardian Contract)과 함께 실행되며, 이는 의도와 구체적인 행동을 요약한 문서입니다.
스마트 컨트랙트를 구현하기 위해서는 C/C++로 작성해야 합니다. 개인적으로 C++ 개발 해본지가 오래되었는데, 이번 기회에 한번 학습해봐야겠습니다. 그리고, 튜토리얼의 유용한 내용은 추후에 공유해보고자 합니다.
Function Reference:
C/C++ 언어의 함수에 대한 관련 API의 목록입니다.
HTTP API:
Chain, Wallet, History, Net, Producer 관련한 API 목록입니다.
아직까지, 개발 관련한 논의는 텔레그램 개발 공식 채널(https://t.me/joinchat/EgOVjkPktgfUS3kt14FStw )에서 활발하게 이루어지고 있는데요. 추후에는 이 개발자 포탈에서 자유롭게 토론할 수 있는 장이 열릴 것으로 보입니다.
EOS개발을 바로 시작해도 좋을만큼, 쉽고 자세히 설명되어 있는 것으로 보이고, 앞으로 EOS 개발 커뮤니티 및 이 생태계를 후원할 BP들의 다양한 교육 자료가 나오면서 선순환 구조가 되기를 희망합니다.
앞으로 학습해가면서, 종종 EOS 개발 관련된 포스트를 공유해보겠습니다.
많은 개발자분들이 관심 갖고 있는 프로젝트인 EOS를 통해 유용한 DApp들이 많이 나왔으면 하는 바람입니다!
넵ㅎㅎ 앞으로 어떤 앱들이 나올지 흥미진진합니다. 저도 이 생태계에 무언가 임팩트를 주고 싶어요. 자주 이야기해요~
이오스 공부해야하는데~~ 하면서 못하고있네요;; 잘보고 갑니다.~