블록체인/EOS

[ EOSIO ] 시작하기 가이드

user-anonymous 2023. 1. 2. 22:47
728x90

 

 

Getting Started Guide

Developer Portal for EOSIO. EOSIO is a next-generation, open-source blockchain protocol with industry-leading transaction speed and flexible utility.

developers.eos.io

(계속..글 다듬는 중)
EOSIO 시작 가이드의 목적은 본인의 로컬에 EOSIO 개발환경을 구축하고, 이 환경을 사용하여 헬로월드단계의 스마트 컨트랙트를 빌드해보며 배포까지 해보는 것이다.

EOSIO 워크플로우 다이어그램

위의 다이어그램의 대주제는 이와 같다.
1. 로컬에 개발환경 구성하기
2. 헬로 월드 단계의 기초 스마트 커트랙트 빌드와 배포해보기

더보기

이 해당 워크플로우를 시작하기 전에 EOSIO 플랫폼과 툴체인, Core 컨셉과 여러 기술적 기능들에 익숙해져야 한다.

로컬에 개발환경 구성하기
개발자로서, 로컬 개발환경을 설정하기 위해서는 이를 충족해야하는 요구사항이 있다. EOSIO 바이너리를 위한 OS 설치 그리고 테스트 블록체인 계정 생성, 로컬 개발환경이 설치 완료되었을 경우 너는 스마트 컨트랙트 개발 워클로우를 진행할 수 있고, 기초인 헬로월드 수준의 스마트 컨트랙트를 빌드를 할 수 있다.

헬로월드 수준의 스마트 컨트랙트 빌드하고 배포하기
본인 로컬 개발환경에서 설정이 완료되었으면 이제 첫 헬로월드 스마트 컨트랙트를 EOSIO 블록체인 플랫폼에 빌드가 가능하다

미리 설정된 웹 환경 사용하기
선택적으로, 본인은 로컬 개발환경에 직접 수동 설치하는 것이 아니라, 미리 설정된 웹 환경을 사용할 수 있다.
EOSIO Quickstart Web IDE
The EOSIO Tenstnet : EOSIO에서 앱과 스마트 컨트랙트를 빌드 및 배포를 해볼 수 있는 EOSIO 테스트넷을 사용

더 나아가서
이 문서는 본인이 상급의 기술적 지식을 가질 수 있도록 도와주고, eosio 플랫폼에서 기술적인 이해도를 높여준다.
추가적으로 본인은 개발 환경에서 상급 수준의 설정 옵션들을 체험해 볼 수 있다.

연습과 자격증
비즈니스를 위한 EOSIO는 EOSIO 재단에서 제공하는 포괄적인 코스다. 스마트 컨트랙트 프로그래밍, 앱 개발, 안전한 통합을 위한 실습들..이런 코스들은 현재 EOSIO 커뮤니티에서 가능하다.

프로토콜 가이드
이 섹션에서는 EOSIO 플랫폼에서 사용한 기초 컴포넌트와 프로토콜을 설명할 것이다. EOSIO Core는

시스템 레이어를 위해 제공되는 기본적으로 만드는 빌딩이다. 그리고 이들은 스마트 컨트랙트를 구현하지 않기 때문에 유연성을 가지고 있지 않다. 그럼에도 불구하고, 이 코어 구현은 오픈소스에 있고, 이와 같이 비즈니스 요구에 맞춰서 커스텀이 가능하다. 더 자세히 알아볼려면 Protoxol Guides 문서를 읽어보면 된다.

설정 가이드
이 설정 가이드 섹션은 본인에게 Nodeos를 어떻게 설정해야할지 보여준다. nodeos를 설정하기 위해서는 본인이 직접 요구하는 사용도에 맞춰 설정된다. Nodeos설정은 플러그링닝 어떻게 설정되고, 이 플러그인은 Nodeos 행동에 맞춰서 구체적인 목적에 맞게 사용되고 있다.

스마트 컨트랙트와 블록체인 설정
EOSIO 플랫폼은 블록체인 플랫폼을 제공해준다. 주요 포인트는 유연성이다. 스마트 컨트랙트는 유연성의 일부라 할 수 있다. 스마트컨트랙트를 구현하기 위해 다양한 속성들이 있다. 그리고 스마트 컨트랙트는 블록체인의 동작에 맞게 커스텀도 가능하다. 예시들은 합의, 거버넌스 그리고 리소스 모델들이 있다. 더 나아가 정보들을 볼려면 eosio.contracts와 bios boot sequence tutorial을 보면 된다.

개발과 테스팅
N개발과 테스팅을 위해 Nodeos를 설정하는 여러 방법들이 있다. 이런 옵션들은 프로젝트의 목적이 어떤지에 따라 크게 의존될 수 있다. 예시들은 아래와 같다
로컬 싱글 노드 테스트넷
이는 싱글 노드를 통해 블록체인을 동작시킨다. 이 로컬 싱글 노드 테스트넷은 블록체인 설정중에서 가장 간편한 방식이다. 이 방식은 기본적으로 스마트 컨트랙트 개발을 시작할 때 사용되곤 한다.

로컬 멀티 노드 테스트넷
로컬 싱글 노드 테스트넷은 시작하기에 좋은 단계지만, 블록체인을 싱글 노드에서 운영하게 되면, 이는 완벽한 블록체인이라 할 수가 없다. 로컬에서 많은 노드를 실행시키기 위해서는 아래 리스트를 조회하면 좋다 멀티 노드 테스트닛을 사용하게 되면 상급 단계의 개발과 실제적인 블록체인 개발환경에서 테스팅이 가능하다. 그리고 사용예시로는 벤치마킹, 최적화 되어있고 실습과 지식을 더 상승 시킬 수 있다.

블록 프로듀서
블록 프로듀서는 탈중앙화된 환경에서 작동된다. 블록 프로듀서는 Nodeos에서 많은 인스턴스들이 실행된다. 그리고 이는 두가지의 모드들이 있다.
Producing Node
Non-Producing Node

Producing Node는 블록을 생산할때 설정된다. 이들은 peer-to-peer 네트워크에서 연결되고 새로운 블록들은 만들어낸다. 트랜잭션을 일헥 될 경우 이는 유효성을 가지고 지연된다. 메인넷에서는 Producing Nodes는 활성화된 스케줄안에 정의되어야만 블록들을 생산해낸다.

Non producing Node는 peer to peer 네트워크에 연결되지만, 새로운 블록들을 생성하는데 활동적이지 않다. 이들은 프록시 노드를 만들어내는데 유용하다. 지연된 API 호출 유효 트랜잭션, 다른 노드들에게 알려주기 등 Non-Producing Nodes는 블록체인 상태를 모니터링 하는데도 익숙하다.

플러그인 가이드
nodeos : EOSIO 노드에서 계속 돌고 있는 백그라운드 Core 서비스

cleos : CLI로 블록체인과 wallet을 관리하기 위한 인터페이스

keosd: 백그라운드에서 도는 키 매니저 서비스로 개인키들을 관리하고 있다.

eosio.cdt : 컨트랙트 개발 툴킷으로 EOSIO 컨트랙트를 빌드하기 위해 적합한 툴이다.

eosio.contracts : 스마트 컨트랙트로 EOSIO 블록체인을 위한 기본 기능들을 제공해준다.







728x90
반응형

'블록체인 > EOS' 카테고리의 다른 글

[EOSIO] Protocol Guides  (0) 2023.01.31
[ EOSIO ] 계정과 스마트컨트랙트  (0) 2023.01.28
Platform and ToolChain  (0) 2023.01.05
[EOSIO] 용어 정리  (0) 2023.01.03
[ EOSIO ] How EOSIO Works  (0) 2023.01.02