[Part 1 탈중앙화 앱과 관련 기술]
CHAPTER 1 처음 만나는 탈중앙화 앱
1.1 디앱이란 무엇인가
1.2 디앱 적용 사례
1.3 5분 만에 디앱 구현하기
1.4 요약
CHAPTER 2 블록체인 이해하기
2.1 디앱 자세히 살펴보기
2.2 디앱에 사용되는 기술
2.3 이더리움 역사와 거버넌스
2.4 요약
CHAPTER 3 이더리움 플랫폼
3.1 이더리움 지갑으로 이더리움 플랫폼에 접속하기
3.2 디앱의 핵심 기능: 스마트 컨트랙트
3.3 geth로 이더리움 네트워크에 접속
3.4 geth 계정 관리
3.5 심플코인 컨트랙트 다시 보기
3.6 요약
CHAPTER 4 스마트 컨트랙트 배포하기
4.1 네트워크에 컨트랙트 배포하기
4.2 컨트랙트 활용하기
4.3 메타마스크를 통해 노드 없이 배포하기
4.4 요약
[Part 2 스마트 컨트랙트]
CHAPTER 5 솔리디티로 스마트 컨트랙트 프로그래밍하기
5.1 EVM 컨트랙트 언어
5.2 고급 컨트랙트 구조
5.3 솔리디티의 주요 요소
5.4 SimpleCoin 개선하고 리팩터링하기
5.5 요약
CHAPTER 6 복잡한 스마트 컨트랙트 작성하기
6.1 크라우드세일 컨트랙트 SimpleCrowdsale 소개
6.2 상속으로 기능 확장하기
6.3 요약
CHAPTER 7 추상 컨트랙트와 인터페이스
7.1 추상 컨트랙트 만들기
7.2 인터페이스로 다중 컨트랙트 구현하기
7.3 실제 크라우드세일 컨트랙트
7.4 솔리디티 객체 지향 기능 요약
7.5 라이브러리
7.6 ERC20을 지원하는 SimpleCoin 만들기
7.7 요약
CHAPTER 8 Web3.js로 스마트 컨트랙트 활용하기
8.1 geth 대화형 콘솔을 통한 배포 복습
8.2 geth 콘솔로 SimpleCoin 활용하기
8.3 Node.js로 명령어 기반 배포 단순화
8.4 프라이빗 네트워크에 배포하기
8.5 모의 네트워크에 배포하여 개발 효율성
이더리움 디앱 개발의 깊이와 폭을 모두 갖춘 책!
블록체인을 처음 접한 독자는 프로그래밍 언어나 개발 프레임워크를 배우는 것보다 디앱 개발이 낯설 수 있습니다. 이전과는 완전히 다른 새로운 기술이기 때문입니다. 이 책은 여러분이 새로운 패러다임으로 쉽게 전환할 수 있도록 도와줍니다. 신기술을 배우는 마법 같은 지름길은 없지만, 단계별로 실습하며 디앱을 개발하는 데 필요한 모든 개념과 도구, 프로그래밍 언어, 프레임워크를 그림과 코드로 알려줍니다. 예제 애플리케이션을 차근차근 개발하다 보면 이더리움 디앱 개발의 원리를 자연스레 익힐 수 있습니다.
주요 내용
● 솔리디티로 스마트 컨트랙트 구현
● Web3.js로 스마트 컨트랙트와 통신
● 트러플을 이용한 디앱 개발
● 설계 및 보안을 개선하는 모범 사례
● 스마트 컨트랙트 단위 테스트
● 자주 발견되는 취약점과 일반적인 공격
파트별 요약
_1부에서는 탈중앙화 앱을 소개하고 블록체인과 스마트 컨트랙트, Go 이더리움, 이더리움 지갑 등 이더리움 플랫폼을 다룹니다. 간단한 디앱을 구현하고 퍼블릭 테스트넷에 배포합니다.
_2부에서는 스마트 컨트랙트에 중점을 둡니다. 솔리디티 언어를 소개하고 앱을 만들어보며 컨트랙트 구조와 주요 요소를 알아봅니다. 코드를 유지보수하기 쉽게 도와주는 라이브러리와 가나슈(Ganache 같은 모의 네트워크 클라이언트를 사용하는 방법도 설명합니다.
_3부는 이 책의 핵심으로 실제 이더리움 네트워크를 배웁니다. 이더리움 네임 서비스, IPFS, 스웜과 같은 탈중앙화 스토리지 네트워크를 배우고 모카(Mocha 프레임워크로 스마트 컨트랙트를 테스트하는 방법을 알아봅니다. 트러플(Truffle 프레임워크로 개발 절차를 개선하면서 이 과정을 종합한 엔드 투 엔드 투표 디앱을 만들어봅니다.
_4부는 이벤트 로깅과 컨트랙트 업그레이드 기능 등 운영할 때 고려할 점을 소개합니다. 더불어 자주 발견되는 취약점과 일반적인 스마트 컨트랙트 공격 등 보안에 대해서도 알아봅