PART I 블록체인 프로그래밍 시작하기
CHAPTER 1 블록체인 기초
1.1 비트코인에서 블록체인으로
1.2 블록체인이란 무엇인가?
1.3 블록체인 프로그래밍
1.4 사용 동기 시나리오
1.5 되돌아보기
1.6 요약
CHAPTER 2 스마트 컨트랙트
2.1 스마트 컨트랙트 개념
2.2 스마트 컨트랙트의 설계
2.3 스마트 컨트랙트 코드 작성
2.4 스마트 컨트랙트 코드를 배포하고 테스트하기
2.5 블록체인 컨트랙트는 왜 스마트한가?
2.6 탈중앙화 항공사 시스템 유스 케이스
2.7 항공사 스마트 컨트랙트
2.8 스마트 컨트랙트 설계 고려 사항
2.9 베스트 프랙티스
2.10 요약
CHAPTER 3 신뢰와 무결성을 위한 기법
3.1 신뢰와 무결성의 핵심
3.2 전자 민주주의 문제
3.3 테스팅
3.3.1 긍정 테스트 / 3.3.2 부정 테스트
3.4 수정자, require(), revert() 사용하기
3.5 assert() 선언
3.6 베스트 프랙티스
3.7 되돌아보기
3.8 요약
CHAPTER 4 스마트 컨트랙트에서 Dapp으로
4.1 트러플을 사용한 Dapp 개발
4.2 가나쉬 테스트 체인 설치
4.3 스마트 컨트랙트 개발
4.4 웹 애플리케이션을 개발하고 설정하기
4.5 되돌아보기
4.6 베스트 프랙티스
4.7 요약
PART II 종단 간 Dapp 개발을 위한 기법
CHAPTER 5 보안과 프라이버시
5.1 암호학 기초
5.2 블록체인을 위한 공개키 암호학의 유용성
5.3 해싱 기초
5.4 해싱 애플리케이션
5.5 되돌아보기
5.6 베스트 프랙티스
5.7 요약
CHAPTER 6 온체인과 오프체인 데이터
6.1 온체인 데이터
6.2 블라인드 경매 유스 케이스
6.3 오프체인 데이터: 외부 데이터 소스
6.4 ASK 항공사 시스템
6.5 되돌아보기
6.6 베스트 프랙티스
6.7 요약
CHAPTER 7 web3와 채널 Dapp
7.1 web3 API
7.2 채널 개념
7.3 마이크로 페이먼트 채널
7.4 마이크로 페이먼트 채널 유스 케이스
7.5 돌아보기
7.6 베스트 프랙티스
7.7 요약
CHAPTER 8 인퓨라를 이용해 퍼블릭으로 나가기
8.1 노드와 네트워크
8.2 인퓨라 블록체인 인프라
8.3 인퓨라를 이용해 퍼블릭으로 나가기
8.4 퍼블릭 배포를 위한 종단 간 프로세스
8.5 BlindAuction-Dapp을 인퓨라에 배포하기
8.6 인퓨라 노드를 통해 MPC-Dapp을 배포하기
8.7 되돌아보기
8.8 베스트 프랙티스
8.9 요약
PART III 로드맵과 향후 발전 전망
CHAPTER 9 자산의 토큰화
9.1 이더리움 표준
9.2 RES4: 대체 불가능한 부동산 토큰
9.3 되돌아보기
9.4 베스트 프랙티스
9.5 요약
CHAPTER 10 스마트 컨트랙트 테스트
10.1 스마트 컨트랙트 테스트의 중요성
10.2 카운터 스마트 컨트랙트 테스트하기
10.3 투표 스마트 컨트랙트 테스트하기
10.4 테스트 스크립트 개요
10.5 블라인드 경매 테스트 스크립트
10.6 되돌아보기
10.7 베스트 프랙티스
10.8 요약
CHAPTER 11 Dapp 개발 로드맵
11.1 시나리오 동기: 교육 관련 증명서
11.2 로드맵
11.3 문제 설정
11.4 분석과 설계
11.5 스마트 컨트랙트 개발하기
11.6 로컬 배포
11.7 트러플을 사용한 자동화된 테스트
11.8 웹 애플리케이션 개발하기
11.9 DCC-Dapp 테스트하기
11.10 퍼블릭 배포
11.11 되돌아보기
11.12 베스트 프랙티스
11.13 요약
CHAPTER 12 블록체인 전망
12.1 탈중앙화된 아이덴티티
12.2 자체 관리 아이덴티티
12.3 합의와 무결성
12.4 확장성
12.5 확장성 솔루션
12.6 프라이버시
12.7 퍼블릭, 프라이빗, 허가형 네트워크
12.8 기밀성
12.9 보안
12.10 암호 화폐를 이용한 보안
12.11 오프체인 데이터 액세스(오라클)
12.12 기초에서 실용적인 시스템으로
12.13 전망
12.14 베스트 프랙티스
12.15 되돌아보기
12.16 요약
APPENDIX A UML 블록체인 설계 모델
A.1 문제 분석과 설계
A.2 행동 다이어그램
A.3 구조적 다이어그램
A.4 상호작용 다이어그램
APPENDIX B 설계 원칙