간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (23,940원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (17,640원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (20,160원)
(최대할인 4만원 / 2만원 이상 결제)
Close

코어 이더리움 프로그래밍 : 블록체인, 이더리움 핵심에서 암호화폐 구축을 위한

소득공제

2013년 9월 9일 이후 누적수치입니다.

공유하기

스마트 컨트랙트 개발까지

정가

28,000원

  • 25,200 (10%할인)

    1,400P (5%적립)

할인혜택
적립혜택
  • S-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
  • 6/19(수) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
  • 주문수량
    감소 증가
    • 이벤트/기획전

    • 연관도서

    • 상품권

    AD

    책소개

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

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

    출판사 서평

    블록체인 개발자와 기획자가 함께 읽는 이더리움 개발 전문서!
    이더리움 플랫폼과 스마트 컨트랙트 개발 전문가가 공개하는 이더리움 프로그래밍의 모든 것!

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

    현재 블록체인 기획자와 개발자로 일하고 있는 분들이나 블록체인 개발을 배우자 하는 분들에게 이상적인 이 책은 이더리움의 내부 아키텍처와 작동 원리를 실습을 통해 익히고, 솔리디티 언어와 스마트 컨트랙트 그리고 이를 활용한 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

    본문중에서

    이 책은 기존 암호화폐와 블록체인에 대한 일반적인 내용을 전달하는 범용서가 아니라, 공개형 블록체인 플랫폼의 선두주자인 이더리움 플랫폼 기반의 기술과 내부 구조, 개발 방법 등을 상세히 설명한다. 따라서 블록체인과 특히 이더리움의 이해가 필요한 개발자 및 관련 전공 학생들과 기획자들에게 큰 도움이 될 것이다. 이해를 돕기 위해 그림을 많이 포함하였고, 실습 중심의 스마트 컨트랙트 프로그래밍을 설명하고 있어서 스터디나 학교 수업에서의 교재로 활용하면 유용할 것이다.
    _xvii쪽

    블록체인 기반 탈중앙형 플랫폼에서는 중앙에 집중화된 서버와 데이터가 없다. 분산된 플랫폼에 참여한 개별 컴퓨터가 하나의 서버이고, 이 서버들이 네트워크로 연결되어 하나의 거대한 네트워크 기반 클라우드 서버가 된다. 데이터는 모두 동일하게 공유되고, 이 데이터는 위변조가 불가능하다. 비록 연결된 사람들은 서로를 알지 못하고 신뢰할 수는 없겠지만, 서로 거래에 대한 이상 유무를 확인하고 이 결과의 이상 유무에 대한 합의 후 모든 거래를 신뢰할 수 있도록 만든다.
    _23쪽

    이더(Ether)는 이더리움에서 사용하는 암호화폐이고, 가스(Gas)는 이더리움 시스템 운영에 필요한 운영 토큰이다. 이더는 암호화폐로서 거래소 등을 통해 시장에서 거래되고 있기 때문에 가격의 변동성이 크다. 따라서 이더 자체를 시스템 운영에 직접 사용하기 어렵다. 이 때문에 변동성이 거의 없는 가스라는 운영 토큰을 만들게 되었고, 이더를 가스와 교환하여 사용한다.
    _79쪽

    Geth 실행 시 네트워크와 관련하여 어떠한 옵션도 주지 않으면 기본으로 메인 네트워크에 접속한다. 빠른 동기화를 위해 --fast 옵션과 시스템 메모리가 충분하다면 --cache 옵션으로 캐시 사이즈를 크게 지정해 주면 메인 네트워크에서 블록체인 데이터를 동기화하는 데 걸리는 시간을 단축할 수 있다. 이더리움 싱크 모드에 대해서는 2.3.1절 블록체인 동기화 부분을 참고하기 바란다.
    _151쪽

    동적 메모리 배열(dynamic memory array)은 스마트 컨트랙트가 실행될 때 동적으로 크기가 결정되는 메모리 배열이다. 키워드 new를 이용하여 인스턴스를 생성한다. 동적 스토리지 배열과 다르게 배열의 크기가 한번 결정되면 변경할 수 없고, push 함수도 사용할 수 없다. 동적 메모리 배열은 인덱스 접근, 배열 요소 변경, 길이 조회만 가능하다.
    _203쪽

    sendTransaction( ) 함수의 반환값은 트랜잭션의 해시값이다. 이 해시값은 트랜잭션 형식 자체에 오류만 없다면 노드에서 즉시 반환되는 값으로, 마이닝이나 블록 생성과는 무관하다. SendTransaction이 완료되어 블록에 정상적으로 처리 결과가 반영되었는가는 Timer를 실행한 후에 getTransaction을 주기적으로 호출하여 마이닝 완료 여부를 체크할 수 있다.
    _294쪽

    저자소개

    박재현 [저] 신작알림 SMS신청
    생년월일 -

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

    펼쳐보기
    오재훈, 박혜영 [저] 신작알림 SMS신청
    생년월일 -

    해당작가에 대한 소개가 없습니다.

    전공도서/대학교재 분야에서 많은 회원이 구매한 책

      리뷰

      0.0 (총 0건)

      100자평

      작성시 유의사항

      평점
      0/100자
      등록하기

      100자평

      5.0
      (총 0건)

      판매자정보

      • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

      상호

      (주)교보문고

      대표자명

      안병현

      사업자등록번호

      102-81-11670

      연락처

      1544-1900

      전자우편주소

      callcenter@kyobobook.co.kr

      통신판매업신고번호

      01-0653

      영업소재지

      서울특별시 종로구 종로 1(종로1가,교보빌딩)

      교환/환불

      반품/교환 방법

      ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

      반품/교환가능 기간

      변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
      단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

      반품/교환 비용

      변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
      상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

      반품/교환 불가 사유

      ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
      (단지 확인을 위한 포장 훼손은 제외)

      ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
      예) 화장품, 식품, 가전제품(악세서리 포함) 등

      ·복제가 가능한 상품 등의 포장을 훼손한 경우
      예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

      ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

      ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

      상품 품절

      공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

      소비자 피해보상
      환불지연에 따른 배상

      ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

      ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

      (주)KG이니시스 구매안전서비스서비스 가입사실 확인

      (주)인터파크커머스는 회원님들의 안전거래를 위해 구매금액, 결제수단에 상관없이 (주)인터파크커머스를 통한 모든 거래에 대하여
      (주)KG이니시스가 제공하는 구매안전서비스를 적용하고 있습니다.

      배송안내

      • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

      • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

      • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

      • 배송비는 업체 배송비 정책에 따릅니다.

      • - 도서 구매 시 15,000원 이상 무료배송, 15,000원 미만 2,500원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용