이더리움은 비트코인의 단점을 보완하기 위해 생겨난 암포화폐다. 비트코인이 단순히 거래만 할 수 있다면 이더리움은 그 기능에 목적을 추가한다는 특징을 지닌다. 즉, 프로그래밍이 가능하여 비트코인보다 진보된 화폐라고 부른다. 현재 개발된 수백 개의 알트코인이 이더리움을 기반으로 생성되었으며 다양한 분산 애플리케이션의 기반이 되는 플랫폼이다.
이 책은 이더리움 공식 사이트의 자료를 토대로 구성하였으며, 이더리움의 기본적인 작동 방식, 개발 방법, 조작 등이 어떻게 이루어지는지를 그림으로 쉽게 풀이하였다. 이 책을 통해 암호화폐의 핵심 기술인 블록체인과 이더리움의 시스템 구성을 이해하고 프로그래밍까지 익힐 수 있다. 4차 산업의 새로운 성장 동력으로 이더리움을 이해하고 나아가 이더리움을 미리 연구하게끔 해 준다. 내용을 충분히 이해하고 응용한다면 블록체인이란 바다에서 순풍을 받으며 항해할 수 있을 것이다.
Contents
1. 시작하며
1.1. 이 책의 목적
1.2. 대상 독자
1.3. 사전 지식
1.4. 기재 범위
1.5. 참고 자료
1.6. 저작권
3. 구성 컴포넌트
3.1. 개발 기반 컴포넌트
3.2. 실행 기반 컴포넌트
3.3. 이용 기반 컴포넌트
4. 시스템 구성
4.1. 소프트웨어 구성
4.2. 하드웨어 구성
4.3. 기존 시스템과의 연계
5. 이더리움 실행 노드(geth)
5.1. geth 기능 개요
5.2. 데이터 디렉터리
5.3. geth 이용자
5.4. geth 이용자 인터페이스
5.5. 프로세스 간 통신
5.6. geth 커맨드
5.7. geth API
5.7.1. geth API 분류
5.7.2. DApp API 이용
6. 프라이빗 블록체인 만들기
6.1. geth 인스톨
6.2. 프라이빗 블록체인 정의
6.2.1. 데이터 디렉터리 작성
6.2.2. 제네시스 파일 작성
6.2.3. 네트워크 ID 지정
6.3. 프라이빗 블록체인 초기화
6.4. 프라이빗 블록체인 기동 시 옵션 결정
6.5. 프라이빗 블록체인 기동
6.5.1. geth 기동 커맨드
6.5.2. geth 복수 피어 접속
7. 이더리움 가상 머신
7.1. 처리 개요
7.1.1. 어카운트
7.1.2. 처리 분류
7.1.3. 처리 흐름
7.1.4. 애플리케이션 예시
7.2. EOA
7.2.1. EOA 조작
7.2.2. Ether 할당
7.2.3. EOA에서 트랜잭션 송신
7.2.4. EOA와 장애 대처 방법
7.3. 컨트랙트
7.3.1. 컨트랙트의 배치, 연계, 소멸
7.3.2. 컨트랙트 호출
7.4. Event
7.4.1. Event 실장 예시
7.4.2. Event를 사용한 활용 예시
7.4.3. Event 사용 시 주의점
8. Solidity 프로그래밍
8.1. 컨트랙트에 사용 가능한 특별한 변수
8.2. 컨트랙트 프로그램 예시: 구조
8.3. 컨트랙트 프로그램 예시: Visibility Specifiers
8.4. 컨트랙트 프로그램 예시: Mapping
8.5. 컨트랙트 프로그램 예시: 계승
8.6. 컨트랙트 프로그램 예시: Modifiers
9. 컨트랙트 개발 순서
9.1. solc 컴파일러를 이용한 컨트랙트 개발
9.1.1. solc 컴파일러 인스톨
9.1.2. 컨트랙트 작성
9.1.3. 컨트랙트 컴파일
9.1.4. 컨트랙트 배치 -블록체인 등록
9.1.5. 컨트랙트 실행
9.2. Remix를 이용한 컨트랙트 개발
9.2.1. 컨트랙트 컴파일
9.2.2. 컨트랙트 배치 -블록체인 등록
9.2.3. 컨트랙트 실행
10. 트랜잭션 실행 수수료
10.1. gas란
10.2. gas 소비(gasUsed)
10.3. gas 가격(gasPrice)
10.4. 채굴자 보수
10.5. 트랜잭션 실행과 gas
10.6. 소비 gas 계산
10.7. 프라이빗 환경에서의 gas
11. 채굴(마이닝)
11.1. 채굴 메커니즘
11.1.1. 합의 형성 메커니즘의 문제와 해결책
11.1.2. 채굴 시간 단축에 의한 문제와 해결책
11.1.3. PoW에서 PoS로
11.2. Casper
12. 블록체인
12.1. 블록체인 논리 구조
12.1.1. 어카운트 베이스를 이용한 상태 관리
12.1.2. 블록과 트랜잭션
12.1.3. 트리 구조
12.2. 블록체인 헤더
12.2.1. 블록체인 헤더 정보
12.2.2. 블록체인 헤더 정보 취득
12.3. 트랜잭션 기록
12.3.1. 트랜잭션 정보
12.3.2. 트랜잭션 정보 취득
12.4. 어카운트 기록
12.4.1. 어카운트 정보
12.4.2. 어카운트 정보 취득
12.4.3. 블록체인과 Account state 관계
12.5. 트랜잭션 실행 결과(receipts)
12.5.1. 트랜잭션 실행 결과 정보
12.5.2. 트랜잭션 실행 결과 정보 취득
13. Web3 베이스 레이어 서비스
Author
NEC,컨센서스 베이스 주식회사,문세나
일본전기 주식회사(NEC Corporation)는 스미모토 그룹 산하의 통신·전자 기기 회사이며, 약칭인 NEC로 더 널리 알려진 세계적 기업이다. 주력 사업은 유·무선 통신 장치 및 컴퓨터이고, 도쿄 도 미나토 구에 본사를 두고 있다.
일본전기 주식회사(NEC Corporation)는 스미모토 그룹 산하의 통신·전자 기기 회사이며, 약칭인 NEC로 더 널리 알려진 세계적 기업이다. 주력 사업은 유·무선 통신 장치 및 컴퓨터이고, 도쿄 도 미나토 구에 본사를 두고 있다.