본문 바로가기

도서 소개

코어 이더리움 프로그래밍: 블록체인, 이더리움 핵심에서 암호화폐 구축을 위한 스마트 컨트랙트 개발까지

이 책은 현재 절판입니다. 그간 읽어주신 독자들께 감사드립니다.
단, 전자책은 무료로 배포 중임을 알려드립니다.

 

종이책 구매 사이트(가나다순)

[강컴] [교보문고] [도서11번가] [반디앤루니스] [알라딘] [예스이십사] [인터파크]

 

전자책 구매 사이트

(가나다순)

[교보문고] [구글도서] [리디북스] [알라딘] [예스24] [인터파크]

 

블록체인 개발자와 기획자가 함께 읽는 이더리움 개발 전문서!

이더리움 플랫폼과 스마트 컨트랙트 개발 전문가가 공개하는 이더리움 프로그래밍의 모든 것!

출판사 제이펍

저자명 박재현, 오재훈, 박혜영

출판일 2018년 4월 19일

페이지 352쪽

시리즈 (없음)

판 형 46배판변형(188*235*17)

제 본 무선(soft cover)

정 가 28,000원

ISBN 979-11-88621-20-0 (93000)

키워드 비트코인/이더리움/블록체인/스마트계약/스마트컨트랙트/댑/dapp/geth/솔리디티/solidity

분야 컴퓨터공학 / 전자상거래 / 암호기술

 

관련 사이트

이더리움 프로젝트 페이지

저자 박재현 페이스북

저자 오재훈 페이스북

저자 박혜영 링크드인

 

관련 포스트

2018/04/08 - [출간전 책소식] - 개발자를 위한 블록체인 입문서!

 

관련 시리즈

■ (없음)

 

관련 도서

Go 인 액션: 높은 생산성과 쉬운 프로그래밍을 위한

 

관련 파일 다운로드

예제 코드(출판사 깃헙)

https://github.com/etherstudy/smartcontract

https://github.com/etherstudy/crowdfund

 

 

강의보조 자료

교재로 채택하신 분들은 메일을 보내주시면 아래의 자료를 보내드리겠습니다: jeipubmarketer@gmail.com

■ 강의교안 제공(pdf, ppt)(책의 순서와 같지 않으나 저자들이 강의에 사용하는 교안입니다)

■ 본문의 그림과 표

 

샘플 PDF(차례, 머리말, 이 책에 대하여, 베타리더 후기, 1장 '블록체인 컴퓨팅' 일부, 2장 '이더리움 플랫폼의 작동 원리' 일부, 3장 '이더리움 실습' 일부, 4장 스마트 컨트랙트 프로그래밍' 일부)

코어이더리움프로그래밍_sample.pdf
다운로드

 

정오표 페이지

http://jpub.tistory.com/795

종이책 구매 사이트(가나다순)

[강컴] [교보문고] [도서11번가] [반디앤루니스] [알라딘] [예스이십사] [인터파크]

 

전자책 구매 사이트

(가나다순)

[교보문고] [구글도서] [리디북스] [알라딘] [예스24] [인터파크]

 

도서 소개

블록체인 개발자와 기획자가 함께 읽는 이더리움 개발 전문서!

이더리움 플랫폼과 스마트 컨트랙트 개발 전문가가 공개하는 이더리움 프로그래밍의 모든 것!

 

블록체인 플랫폼은 현재 이더리움을 필두로 수많은 프로젝트들이 진행되고 있으며, 블록체인 기술의 문제점인 빠른 처리 성능, 대용량 처리, 저렴한 스마트 컨트랙트 실행 비용 등을 해결하기 위해 많은 노력을 기울이고 있다. 그중 이더리움은 가장 안정화되고 앞선 기술이며, 상당수의 DApp(댑) 서비스들이 이더리움을 기반으로 개발되고 있다. 따라서 이 책에 설명된 이더리움 플랫폼의 아키텍처와 운영 방법, 그리고 솔리디티를 통한 스마트 컨트랙트 및 DApp 개발 방법을 잘 익히기만 해도 블록체인 기술을 실제 서비스에 적용시키는 데 충분할 것이다.

 

현재 블록체인 기획자와 개발자로 일하고 있는 분들이나 블록체인 개발을 배우자 하는 분들에게 이상적인 이 책은 이더리움의 내부 아키텍처와 작동 원리를 실습을 통해 익히고, 솔리디티 언어와 스마트 컨트랙트 그리고 이를 활용한 DApp 작성과 운영 방법을 실제 다양한 암호화폐를 생성하고 활용하는 과정을 따라 하며 익힐 수 있다. 또한, 여러분은 현재 이더리움의 기술 현황과 문제점, 그리고 이를 해결하기 위한 노력들 또한 살펴봄으로써 앞으로 무엇을 스스로 학습해야 할지 이 책을 통해 배우게 될 것이다.

 

지은이 소개

박재현

포항공대에서 전산학을 전공했다. 1994년부터 현재까지 S/W 엔지니어, 창업가, 벤처 투자가로 활동 중이며, ZDnet Korea, 전자신문 등에 블록체인 및 암호화폐 관련 칼럼을 기고하고 있다. 또한, 2017년에 이더리움 연구회를 설립하여 연구 활동을 하고 있으며, 블록체인 기반 공유경제 플랫폼인 블루웨일재단(BlueWhale Foundation)을 설립하였다. 진행했던 주요 프로젝트로는 삼성전자에서 개발 책임 임원으로 삼성페이와 삼성 챗온 메시지 서비스, SKT에서는 전무 이사로 있으면서 프리랜서를 위한 공유경제 플랫폼인 히든 등이 있다. 현재는 두나무 미래 블록체인 연구소 및 관련 커뮤니티들과 함께 차세대 블록체인 플랫폼을 개발 중이다.

 

오재훈

포항공대에서 DBMS를 전공했다. 넷스루에서 웹 클릭스트림 분석 시스템을 개발하였으며, 소프트웨어를 기민하게 개발하기 위한 엔지니어링 프랙티스(테스트 주도 개발, 리팩토링, 클린 코드, 클린 아키텍처 등)에 관심이 많고 사내외에 엔지니어링 프랙티스 전파를 위한 다양한 활동을 하고 있다. 최근에 블록체인 기술에 관심을 가지게 되어 이더리움 연구회에 참여하여 이더리움 소스 코드를 분석하는 한편, 안전한 스마트 컨트랙트를 작성하는 데 필요한 지식과 기술도 연구하고 있다.

 

박혜영

고려대에서 데이터 마이닝으로 석사 학위를 받았다. 야후, 삼성전자, SKT를 거치면서 검색, 메시징, 빅데이터, 클라우드, 공유경제 등 다양한 플랫폼 개발에 참여하였다. Consistency(일관성), Availability(가용성), Partition Tolerance(분할내성) 모두를 만족하는 블록체인에 매료되어 이더리움 엔진을 연구하게 되었다. 블록체인 정부 과제 자문으로 활동하였으며, 토큰 제너레이션 플랫폼 및 관련 DApp을 개발 중이다.

 

차례

1장 블록체인 컴퓨팅 1

1.1 비트코인 1

돌로 만든 스톤머니에서 암호화폐까지 1

새로운 암호화폐, 비트코인의 출현 3

알트코인 4

1.2 블록체인 기술의 탄생 6

블록체인 기술의 탄생 6

중앙집중 원장과 분산 공유 원장 8

1.3 블록체인 P2P 컴퓨팅 9

1.3.1 컴퓨팅 플랫폼의 발전 과정 9

1.3.2 블록체인 P2P 컴퓨팅 11

P2P 컴퓨팅 11

P2P 네트워크 연결 방식 11

1.4 블록체인 기반 플랫폼 분류 13

공개형 블록체인 13

프라이빗 블록체인 15

클라우드 블록체인 18

1.5 블록체인 운영 모델에 대한 이해 22

중앙집중식 플랫폼 비즈니스 모델 22

블록체인 기반 탈중앙형 플랫폼 비즈니스 23

독립형 생태계를 꿈꾸는 블록체인 24

더보기

2장 이더리움 플랫폼의 작동 원리 25

2.1 이더리움 플랫폼 살펴보기 25

2.1.1 이더리움 작동 과정 25

이더리움 지갑 설치와 사용 26

모든 거래 기록의 공유 및 블록체인 구성 27

다양한 응용 앱 개발 28

2.1.2 미스트로 이더리움 이해하기 29

미스트 설치 29

이더리움 월릿으로 돈 주고받기 33

이더리움 월릿으로 스마트 컨트랙트 배포하기 37

2.2 이더리움 단일 상태 모델 42

2.2.1 이더리움 상태 전이 모델 42

현실 세계에서의 거래 42

이더리움에서의 거래, 상태 전이 43

참고: 비트코인 상태 정보 모델 44

2.2.2 이더리움 플랫폼 참조 모델 45

2.3 이더리움 플랫폼 구성 49

2.3.1 데이터 계층 49

어카운트 49

어카운트 생성 51

어카운트 상태 54

트랜잭션과 리시트 55

core 패키지: 트랜잭션 생성 및 전자 서명 56

블록체인 59

2.3.2 합의 계층 89

합의 알고리즘 89

이더리움 합의 엔진 94

2.3.3 실행 계층 107

스마트 컨트랙트 107

이더리움 가상 머신 111

2.3.4 공통 계층 114

이더리움 P2P 네트워크 115

이더리움 데이터 저장 124

RLP 인코딩 127

2.3.5 응용 계층 129

DApp 130

P2P 메시징 시스템, 휘스퍼 132

P2P 파일 시스템, 스웜 136

3장 이더리움 실습 141

3.1 이더리움 시작 141

3.1.1 Geth 설치 141

이더리움 프로그래밍 환경 셋업 141

Geth에서 사용하는 데이터 디렉터리 구조 144

3.1.2 Geth 구동 145

3.1.3 Geth 커맨드라인 실습 146

3.2 이더리움 네트워크 접속 151

3.2.1 메인 네트워크 접속 151

3.2.2 테스트 네트워크 접속 152

3.2.3 프라이빗 네트워크 접속 152

솔로 네트워크 접속하기 152

프라이빗 네트워크 구축하기 152

3.2.4 프라이빗 네트워크에 멀티 노드 구성 실습 156

4장 스마트 컨트랙트 프로그래밍 161

4.1 스마트 컨트랙트에 대한 이해 161

4.1.1 이더리움 가상 머신 162

EVM의 구조 162

튜링-컴플리트 머신 164

스택 기반 가상 머신 165

4.1.2 솔리디티 개발 언어 166

4.1.3 컨트랙트 개발 환경 구축 166

맥 운영체제 167

미스트 실행 방법 168

윈도우 운영체제 169

4.2 Greeter 스마트 컨트랙트 171

4.2.1 첫 번째 스마트 컨트랙트 개발 171

컨트랙트 함수의 가시성 173

4.2.2 두 번째 스마트 컨트랙트 개발 177

상태 변수의 가시성 178

스마트 컨트랙트 함수의 상태 변경성 178

4.2.3 세 번째 스마트 컨트랙트 개발 180

4.2.4 네 번째 스마트컨트랙트 개발: 기본 자료구조 181

이넘 타입 182

매핑 사용 184

4.2.5 다섯 번째 스마트 컨트랙트 개발 186

스트럭트 타입 사용 187

4.2.6 컴파일 오류로 솔리디티 소스 파일의 구조 학습하기 189

버전 프래그마 190

컨트랙트 함수 192

4.3 솔리디티 타입 194

4.3.1 값 타입 194

불리언 타입 194

정수 타입 194

고정 소수점 수 195

어드레스 195

고정 크기 배열 196

4.3.2 레퍼런스 타입 197

컴플렉스 타입 197

변수의 데이터 로케이션 197

데이터 위치에 따른 할당 연산 198

바이트 배열 200

문자열 201

배열 202

동적 메모리 배열 203

4.3 토큰 컨트랙트 만들기 204

4.3.1 최소 요건을 갖춘 토큰 205

4.3.2 Wallet 호환 Token 만들기 215

4.3.3 안전한 토큰 만들기 222

GeneralWalletCompatibleToken 토큰 생성 222

트랜잭션과 오류 처리 226

4.3.4 ERC20 표준 토큰 229

4.4 크라우드 펀드 컨트랙트 231

4.4.1 보상 토큰 생성하기 232

4.4.2 CrowdFund 컨트랙트 생성 233

추상 컨트랙트 235

인터페이스 235

라이브러리 236

상수와 특수 변수 236

폴백 함수 237

함수 모디파이어 238

4.4.3 CrowdFund 청약하기 240

4.5 DAO 해킹 재현 242

4.6 솔리디티 언어 기본 250

4.6.1 함수 매개변수 250

네임드 매개변수 250

출력 매개변수 250

4.6.2 변수 선언과 스코프 251

4.6.3 제어 252

4.6.4 함수 호출 253

함수의 가시성 253

외부 함수 호출 시 이더 전송 255

4.6.5 상속 255

4.6.6 라이브러리 259

using A for B 260

라이브러리 배포 261

ABI 생성 방법 264

4.6.7 Import 265

임포트 265

파일의 경로 267

4.6.8 컨트랙트 제거하기 267

4.7 리믹스 IDE 267

4.7.1 파일 탐색기 269

4.7.2 편집기 269

4.7.3 터미널 270

4.7.4 실행 패널 270

새로운 컨트랙트 생성하기 271

기존 컨트랙트 불러오기 272

4.7.5 디버그하기 273

디버그 시작하기 274

중단점 사용하기 276

5장 이더리움 응용 277

5.1 이더리움 활용 방법 277

5.1.1 Json RPC 활용 278

RPC를 위한 Geth 클라이언트 구동 278

Json RPC API를 이용한 예제 279

5.1.2 Web3.js 활용 281

Web3.js를 이용한 예제 282

5.2 DApp으로 크라우드 펀드 개발하기 283

5.2.1 크라우드 펀드 시나리오 및 설계 283

5.2.2 개발 환경 설정 285

5.2.3 크라우드 펀드 DApp 구현 286

크라우드 펀드 웹 서비스 폴더 구조 286

노드 접속하기 287

스마트 컨트랙트 연동 288

Get 함수 구현 292

Set 함수 구현 293

Event Watch 295

Event Filter 296

POST /users/join 라우팅 구현 296

6장 이더리움의 현재와 미래 299

6.1 이더리움의 약점과 해결을 위한 노력 299

6.1.1 이더리움의 문제점 299

처리 성능과 용량 299

작업 증명 방식의 합의 엔진 300

블록체인 데이터 크기 증가 302

스마트 컨트랙트와 EVM 302

ICO 버블 302

6.1.2 문제 해결을 위한 노력 303

이더리움 영지식 증명, ZK-Snark 303

이더리움 지분 증명 방식, 캐스퍼 306

샤딩 308

상태 채널과 라이덴 네트워크 311

6.2 이더리움의 현재와 미래 313

6.2.1 이더리움 도입 시 검토 사항 313

6.2.2 이더리움 ICO 315

암호화폐 선판매란? 315

ICO에 성공한 회사와 프로젝트들 316

ICO의 성공 여부, 어떻게 검증할 것인가? 316

건강한 ICO의 필요성 318

6.2.3 이더리움의 미래 319

찾아보기 324


제이펍 소식 더 보기
(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

네이버 책

포스트

유튜브

인스타그램

트위터

페이스북