EOSIO 1.0 런칭 그리고 개발자를 위한 포탈 소개

in #kr2 years ago (edited)

드디어, 아기다리 고기다리던 EOS의 메인넷의 런칭이 시작되었습니다!!

이와 함께 block.one에서 EOSIO 1.0 정식 버전이 공개 되었는데요. (https://block.one/news/eosio-1-0-release/ )
이에 대한 특징과 함께, 공개된 개발자 포털에 대해서 살펴보도록 하겠습니다. 실제적으로 개발할 수 있는 가이드가 나온 것만으로도 개발자에게는 무척 설레고 흥미진진한데요. 앞으로 무수히 나올 EOS 디앱을 개발하기 위한 기본 정석이 될 수 있을것 같아요.

[EOSIO 1.0 특징]

  1. Free Rate Limited Transactions - 제한적인 트랜잭션에 대한 자유로운 비율 설정
  2. Low Latency Block confirmation (0.5 seconds) - 블록 컨펌에 대한 낮은 레이턴시 (0.5초)
  3. Low-overhead Byzantine Fault Tolerant Finality - 낮은 오버헤드의 비잔틴 결함 허용 완결성
  4. Optional high-overhead, low-latency BFT finality - 선택 가능한 높은 오버헤드 및 낮은 레이턴시의 비잔팀 결함 허용 완결성
  5. Smart contract platform powered by Web Assembly - 웹 어셈블리에 의해 가동되는 스마트 컨트랙트 플랫폼
  6. Designed for Sparse Header Light Client Validation - Sparse Header Light 클라이언트 검증을 위한 설계
  7. Scheduled Recurring Transactions - 예약가능한 반복적인 거래
  8. Time Delay Security - 시간 지연 보안
  9. Hierarchical Role Based Permissions - 수락 기반의 계층적 권한
  10. Support for Biometric Hardware Secured Keys (e.g. Apple Secure Enclave) - 생체 인식 하드웨어 보안 키 지원
  11. Parallel Execution of Context Free Validation Logic - 컨텍스트 프리 검증 로직의 병렬 실행
  12. Inter Blockchain Communication - 블록체인 간의 커뮤니케이션

https://developers.eos.io/

스크린샷 2018-06-05 오후 1.52.21.png
[사진 - eosio developer portal]

이는 개발자 포탈로서, EOS 개발과 관련한 다양한 매뉴얼과 가이드가 나열되어 있습니다. 저도 이 가이드를 토대로 개발을 진행하려고 하는데, 이에 앞서 간략하게 어떤 내용들이 있는지 보도록 할게요.

General :
EOS 의 일반적인 정보 및 소개 등이 나와있는 페이지. EOSIO의 정의 및 역사, 주요 특징, 네트워크 및 사용 도구가 열거되어 있으며, Getting Started 페이지를 통해 개발 관련 문서를 차근히 살펴볼 수 있습니다.

Getting Started:
이 페이지에는 도커(Docker)를 활용한 이미지 설치 및 환경 설정부터 시작하여, Cleos, Keosd 의 기본 소개, nodeos 설치 과정 등이 있으며, EOSIO 플러그인 목록도 나열되어 있습니다. 빠르게 설치 및 실행을 위해서는 도커 이미지를 pull 받아서 이미지를 실행하고 cleos를 실행하는 것이 추천됩니다.

Nodeos:
nodeos 는 EOSIO 코어 데몬으로서, 노드를 실행하기 위한 플러그인을 구성할 수 있습니다. 이를 통해, 블럭 생성이나 검증, 체인이나 월렛에 HTTP RPC API를 구축할 수 있습니다.

스크린샷 2018-06-05 오후 1.52.53.png
[사진 : 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 개발 관련된 포스트를 공유해보겠습니다.

Sort:  

많은 개발자분들이 관심 갖고 있는 프로젝트인 EOS를 통해 유용한 DApp들이 많이 나왔으면 하는 바람입니다!

넵ㅎㅎ 앞으로 어떤 앱들이 나올지 흥미진진합니다. 저도 이 생태계에 무언가 임팩트를 주고 싶어요. 자주 이야기해요~

이오스 공부해야하는데~~ 하면서 못하고있네요;; 잘보고 갑니다.~