이더리움 개발 문서
이 문서는 이더리움을 기반으로 개발하는 데 도움을 주기 위해 작성되었습니다. 이더리움의 개념을 다루고, 이더리움 기술 스택을 설명하며, 더 복잡한 애플리케이션과 사용 사례를 위한 고급 주제를 문서화합니다.
이곳의 모든 내용은 오픈 소스이며 커뮤니티에 의해 유지 관리됩니다. 따라서 페이지가 오래되었거나 유용한 내용이 누락된 경우, 이슈나 풀 리퀘스트를 열어주세요. 편집 가이드 (opens in a new tab)에서 그 방법을 안내합니다.
시작점 선택하기
독자마다 목표가 다르며, 이 문서를 가장 빠르게 살펴보는 경로는 무엇을 구축하고자 하는지에 따라 다릅니다. 몇 가지 일반적인 시작점은 다음과 같습니다.
- 이더리움과 통신하는 탈중앙화 애플리케이션 (dapp) 구축하기. 기술 소개로 시작하여 계정과 트랜잭션을 살펴보세요. 코드를 작성할 준비가 되면 프레임워크를 선택하세요.
- 스마트 컨트랙트 작성하기. EVM 개념이 처음이라면 소개를 훑어본 다음, 스마트 컨트랙트와 프로그래밍 언어로 넘어가세요.
- 노드 실행 또는 스테이킹하기. 노드 및 클라이언트로 이동한 후, 네트워킹과 합의 메커니즘을 확인하세요.
- 기초부터 프로토콜 이해하기. 아래의 모듈들은 이를 위해 순서대로 정렬되어 있습니다. 순서대로 읽어보세요.
개발 모듈
이더리움 개발이 처음이라면, 처음부터 시작하여 책을 읽듯이 차례대로 진행하는 것을 권장합니다.
기초 주제
- 이더리움 소개 – 이더리움에 대한 간단한 개요
- 이더 소개 – 이더에 대한 간단한 개요
- 탈중앙화 애플리케이션(dapp) 소개 – 탈중앙화 애플리케이션(dapp)에 대한 소개
- 웹2 vs Web3 – 블록체인 기반 애플리케이션이 제공하는 근본적인 차이점
- 계정 – 잔액을 보유하고 트랜잭션을 보낼 수 있는 네트워크 내의 엔티티
- 트랜잭션 – 이더리움의 상태를 변경시키는 전송 및 기타 작업
- 블록 – 모든 참여자 간에 상태가 동기화되도록 트랜잭션을 일괄 처리하는 방법
- 이더리움 가상 머신(EVM) – EVM은 이더리움 네트워크의 모든 연산을 처리합니다
- 가스 – 트랜잭션을 처리하는 데 필요한 컴퓨팅 파워로, 트랜잭션 발신자가 ETH로 지불합니다
- 노드 및 클라이언트 – 네트워크에 참여하는 개인 및 트랜잭션을 검증하기 위해 실행하는 소프트웨어
- 네트워크 – 테스트 네트워크를 포함한 이더리움 구현
- 합의 메커니즘 – 분산 네트워크의 개별 노드가 시스템의 현재 상태에 동의하는 방법
이더리움 스택
- 스택 소개 – 이더리움/Web3 스택 개요
- 스마트 컨트랙트 – 이더리움 주소에 존재하며 트랜잭션에 의해 트리거될 때 함수를 실행하는 프로그램
- 개발 네트워크 – 배포 전 탈중앙화 애플리케이션(dapp)을 테스트하는 데 사용되는 로컬 블록체인 환경
- 개발 프레임워크 – 이더리움 개발을 더 쉽게 만들어주는 도구
- 이더리움 클라이언트 API – 웹 앱이 이더리움 및 스마트 컨트랙트와 상호 작용할 수 있게 해주는 편리한 라이브러리
- 데이터 및 분석 – 블록체인 데이터가 수집, 구성되어 탈중앙화 애플리케이션(dapp)에 구현되는 방법
- 저장소 – 탈중앙화된 저장소 구조 및 메커니즘
- 통합 개발 환경(IDE) – 탈중앙화 애플리케이션(dapp) 코드를 작성하기 위한 최고의 환경
- 프로그래밍 언어 – 이미 알고 있는 언어를 사용하여 이더리움을 시작하는 방법
고급
- 브릿지 – 개발자를 위한 브릿징 개요
- 표준 – 커뮤니티 프로젝트의 효율성과 접근성을 유지하기 위해 합의된 프로토콜
- 최대 추출 가능 가치(MEV) – 블록 보상 외에 이더리움 블록체인에서 가치가 추출되는 방법
- 오라클 – 이더리움 블록체인에 정보가 주입되는 방법
- 확장 – 이더리움이 성장함에 따라 탈중앙화 및 보안을 유지하는 방법
- 데이터 가용성 – 이더리움의 데이터 가용성과 관련된 문제 및 해결책 개요
- 네트워킹 레이어 – 이더리움의 네트워킹 레이어에 대한 설명
- 데이터 구조 및 인코딩 – 이더리움 스택 전반에서 사용되는 데이터 구조 및 인코딩 스키마에 대한 설명