메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

이더리움 디앱 개발

스마트 컨트랙트에서 투표 디앱까지 실습하며 배우는 이더리움 디앱

한빛미디어

번역서

판매중

  • 저자 : 로베르토 인판테
  • 번역 : 정종화
  • 출간 : 2020-06-04
  • 페이지 : 604 쪽
  • ISBN : 9791162243145
  • 물류코드 :10314
  • 초급 초중급 중급 중고급 고급
4.7점 (10명)
좋아요 : 1

설계, 테스트, 배포, 보안까지 예제로 익히는 디앱의 모든 것

 

이 책은 이더리움 플랫폼에서 디앱을 개발하는 과정을  다룹니다. 탈중앙화 앱의 개념부터 블록체인, 이더리움, 스마트 컨트랙트를 소개하며 디앱 작동 방식을 설명합니다. 솔리디티 핵심 문법을 살펴보고 예제 디앱을 구축하면서 스마트 컨트랙트 설계, 구현, 테스트, 배포 방법을 알려줍니다. 실제 이더리움 네트워크를 다루면서 ENS, IPFS, 스웜과 같은 탈중앙화 생태계를 살펴보고 모카, 트러플 프레임워크를 사용하여 효과적으로 디앱을 개발하는 방법도 배웁니다. 실용적인 예제로 실습하며 이더리움 디앱 개발을 처음부터 끝까지 경험해보세요.

 

 

출판사 리뷰

 

이더리움 디앱 개발의 깊이와 폭을 모두 갖춘 책!

 

블록체인을 처음 접한 독자는 프로그래밍 언어나 개발 프레임워크를 배우는 것보다 디앱 개발이 낯설 수 있습니다. 이전과는 완전히 다른 새로운 기술이기 때문입니다. 이 책은 여러분이 새로운 패러다임으로 쉽게 전환할 수 있도록 도와줍니다. 신기술을 배우는 마법 같은 지름길은 없지만, 단계별로 실습하며 디앱을 개발하는 데 필요한 모든 개념과 도구, 프로그래밍 언어, 프레임워크를 그림과 코드로 알려줍니다. 예제 애플리케이션을 차근차근 개발하다 보면 이더리움 디앱 개발의 원리를 자연스레 익힐 수 있습니다.

 

 

주요 내용

  • 솔리디티로 스마트 컨트랙트 구현
  • Web3.js로 스마트 컨트랙트와 통신
  • 트러플을 이용한 디앱 개발
  • 설계 및 보안을 개선하는 모범 사례
  • 스마트 컨트랙트 단위 테스트
  • 자주 발견되는 취약점과 일반적인 공격

 

파트별 요약

 

_1부에서는 탈중앙화 앱을 소개하고 블록체인과 스마트 컨트랙트, Go 이더리움, 이더리움 지갑 등 이더리움 플랫폼을 다룹니다. 간단한 디앱을 구현하고 퍼블릭 테스트넷에 배포합니다. 

 

_2부에서는 스마트 컨트랙트에 중점을 둡니다. 솔리디티 언어를 소개하고 앱을 만들어보며 컨트랙트 구조와 주요 요소를 알아봅니다. 코드를 유지보수하기 쉽게 도와주는 라이브러리와 가나슈(Ganache) 같은 모의 네트워크 클라이언트를 사용하는 방법도 설명합니다. 

 

_3부는 이 책의 핵심으로 실제 이더리움 네트워크를 배웁니다. 이더리움 네임 서비스, IPFS, 스웜과 같은 탈중앙화 스토리지 네트워크를 배우고 모카(Mocha) 프레임워크로 스마트 컨트랙트를 테스트하는 방법을 알아봅니다. 트러플(Truffle) 프레임워크로 개발 절차를 개선하면서 이 과정을 종합한 엔드 투 엔드 투표 디앱을 만들어봅니다. 

 

_4부는 이벤트 로깅과 컨트랙트 업그레이드 기능 등 운영할 때 고려할 점을 소개합니다. 더불어 자주 발견되는 취약점과 일반적인 스마트 컨트랙트 공격 등 보안에 대해서도 알아봅니다. 

 

 

추천사

 

'”블록체인의 상호운용성을 잘 이해하는 저자가 여러분을 전문가로 무장시켜줄 것입니다.”

_토머스 베르타니, 오라클라이즈 CEO

 

“블록체인 개발을 배우기에 훌륭하고 뛰어난 책! “

_제임스 니카, 보캔터 

 

“놀라운 책입니다! 어려운 개념을 직관적이고 단순하며 재미있게 설명합니다.”

_타냐 페센코, 모션

 

“블록체인 입문자를 위한 흥미진진한 안내서입니다. 이 책으로 시작하면 디앱 개발이 어렵지 않을 것입니다.”

_라훌 라이, 텔스트라

로베르토 인판테 저자

로베르토 인판테

20년간 다양한 금융 전문 소프트웨어 분야에 몸담았다. 영국 최초 인터넷 모기지 승인 시스템, 런던 최초 인터넷 보험 계약 시스템, 첨단 포트폴리오 거래 플랫폼과 같은 혁신적인 프로젝트를 수행했다. 현재는 금융 리스크 관리 애플리케이션과 블록체인 프로젝트 분야에서 일한다.

정종화 역자

정종화

9년차 IT 컨설턴트로 2016년 말 블록체인을 처음 접하고 기술과 사상에 매료됐다. 2018년에는 국내외 블록체인에 참가했다. 해시드, 고팍스에서 주최하는 해커톤에 참가했고 퀀텀에서 주최하는 글로벌 해커톤에서는 유일한 한국팀으로 4위에 입상했다. 『이더리움 디앱 개발』(한빛미디어, 2020)을 번역했으며 『밑바닥부터 시작하는 비트코인』(한빛미디어, 2019)을 감수했다.

 

[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 모의 네트워크에 배포하여 개발 효율성 향상

8.6 웹 UI로 원활하게 SimpleCoin 활용하기

8.7 요약

 

[Part 3 다양한 이더리움 생태계]


CHAPTER 9 이더리움 생태계

9.1 핵심 구성 요소

9.2 전체 생태계의 조감도

9.3 탈중앙화 주소 체계 ENS

9.4 탈중앙화 콘텐츠 스토리지

9.5 오라클로 외부 데이터 접근하기

9.6 디앱 프레임워크와 IDE

9.7 요약

 

CHAPTER 10 모카로 컨트랙트 단위 테스트하기

10.1 모카 설치

10.2 모카에 SimpleCoin 설정

10.3 SimpleCoin 유닛 테스트 작성

10.4 요약

 

CHAPTER 11 트러플로 개발주기 단축하기

11.1 트러플 설치하기

11.2 트러플 환경으로 SimpleCoin 옮기기

11.3 요약

 

CHAPTER 12 투표 디앱 개발하기: 총정리

12.1 투표 디앱 요구 사항 정의

12.2 개발 계획

12.3 트러플 프로젝트 시작하기

12.4 투표 컨트랙트 구현

12.5 SimpleVoting 컴파일 및 배포

12.6 단위 테스트 작성하기

12.7 웹 UI 생성하기

12.8 생각할 거리

12.9 요약

 

[Part 4 디앱 배포]


CHAPTER 13 디앱 운영 준비하기

13.1 이벤트 로깅

13.2 업그레이드 가능한 라이브러리 디자인

13.3 업그레이드 가능한 컨트랙트 설계

13.4 요약

 

CHAPTER 14 보안 고려 사항

14.1 일반적인 보안 취약점 이해

14.2 외부 호출과 관련된 위험

14.3 외부 호출을 더욱 안전하게 수행하는 방법

14.4 알려진 보안 공격 회피하기

14.5 일반 보안 지침

14.6 요약

 

CHAPTER 15 결론

15.1 이더리움 진화

15.2 이더리움 대체 플랫폼

15.3 이더리움 블록체인을 넘어서

15.4 요약

 

부록

A Ownable를 상속받아 리팩터링한 SimpleCoin

B 전체 SimpleCrowdsale 애플리케이션

C SimpleCoin 모카 단위 테스트 스위트

D Ownable를 상속받는 SimpleCoin

 

이더리움 디앱 개발 - 한빛미디어

 

불과 얼마전까지 가상화폐의 인기는 하늘을 찔렀다. 가장 유명한 가상화폐1개의 가격이 어지간한 왠만한 직장인의 1년치 월급, 즉 연봉보다 높아지는 기현상까지 벌어지고 말이다. 적잖이 놀라지않을 수 없었다. 지금은 한때 고공행진 할 때만큼은 아니지만 그럼에도 왠만한 신입사원의 1년치 연봉만큼의 교환가치를 갖고 있다. 이러한 낯선 무엇인가를 이제일상의 일부로 받아 들이고 있는 시점에서 우리 개발자들 혹은 기술자들은 대체 이것이 무엇이고 어떻게 동작하는 메카니즘인지에 대해 깊은 관심을 갖지않을 수 없다.

 

블록체인이라는 기술을 기반으로 생성되는 하나의 코인이 교환가치를 갖는다는 말을 그 누구도 믿지 않았다. 하지만, 금본위제가 무너진 지금의 화폐도 결국 가치를 가진다고 모두가믿을 뿐, 그 가치의 실체는 존재하지 않는다는 것을 모두가 안다. 그런데역으로 가치를 가지지만 실체는 없다고 솔직하게 말하는 이 코인의 세계는 정말 받아 들이기 어려운 것이 사실이다.

 

화폐가 중앙 은행에 의해 통제되는 현 상황을 벗어나고자 탈 중앙화를 외치며 등장한 블록체인 기반의 이 코인에대해서 우리는 기술적 측면으로 접근해보자.

 

우선 이더리움(또는 큐텀, 이오스) 의 플랫폼에서 동작하는 D-App 이라 불리는 탈중앙화 앱(De-Centralized Application)은 코인이라기 보다는 토큰이라는 의미가 더 가까운 암호화폐로동작하게 된다. 화폐라는 부산물 보다는 블록체인 기술이 메인이다.

 

이 책에서는 철저하게 코인이나 토큰 같은 화폐 대체제로서의 블록체인을 말하기 보다는 그러한 토큰이 발생하게 되는행위에서 구현되게 되는 스마트 컨트랙트, 즉 계약에 대한 기능을 어떻게 구현하고 시스템을 설계 및 보안유지 하는데에 필요한 내용을 서술한다.

 

이미 기존에 개발되어 있는 디앱들이 많이 있지만, 가장 많은 사용비율을 갖는 이더리움 플랫폼 기반의 디앱에 대해서 상세하게 소개하고 심지어 철저하게 개발자 입장을 고려하여 단위 테스트 방법까지도 이 책에서 소개하고있다.

 

많은 책들이 비트코인을 자산으로 여기고 이를 증식의 기회로 여기는 많은 사람들의 욕망을 자극해서 자동거래 라든가알고리즘을 이용한 거래라든가 제목을 붙여 결국 거래소에 API를 통해 거래하는 방법에 대해 적고 파는책들이 많은데, 그런 책들은 단지 기술에 대한 소비자의 입장일 뿐이고,이 책은 그 기술 자체에 집중한다. 기술적 접근이 아닌 자산 증식의 대상으로 여기고 접근하는경우 심히 어려울 수 있다.

 

스크립트 언어를 이해할 수 있을 정도의 개발자라면 이 책을 통해 학습하고 익숙해진 후에 스마트 컨트랙트에 대한이해도를 끌어 올리고 적합한 사업모델을 구상하고 실현한다면 큰 기회를 얻을 수 있을지도 모른다. 책을살펴보니 하나 하나 독립적인 내용은 이해하기 난해한 부분도 분명 있으나 개발자의 입장에서 사용해야 하는 언어 레벨에서의 접근에서는 큰 어려움이없다.

 

Node Js 로 간단하게나마 서비스를 만들어 본 개발자라면 이 책에대한 관심을 갖고 읽어본다면 블록체인, 가상화폐가 단지 대중의 투자(투기?) 대상에서 머물지 않을 것이라 확신한다.

 

데이터를 공개해야 되지만, 보안은 중요하거나, 공개되지 말아야 하지만 내용은 100 %의 신뢰도를 보장해야 하는경우, 그냥 앱이 아닌 디앱이 꼭 필요한 상황이 앞으로 수 없이도 많이 펼쳐지고 있다. 다른 플랫폼의 디앱도 분명 많이 있지만 가장 먼저 보편적으로 접근해 볼 수 있는 이더리움 디앱 개발을 시도해보자.

 

개발자들은 참 복되다. 이런 책 읽을 준비는 되어 있으니까

 

 

"<IT 전문서적 리뷰>  목적으로 한빛미디어 출판사에서 책을 제공받아 작성된 서평입니다."

 

KakaoTalk_20210726_011800651.jpg

 

안녕하세요! 벌써 한빛미디어 도서 서평단 나는 리뷰어다 2021 멤버로서 다섯 번째 리뷰를 작성하게 되었습니다 :)

이번에 제가 리뷰할 책은 이더리움 디앱 개발-스마트 컨트랙트에서 투표 디앱까지 실습하며 배우는 이더리움 디앱입니다. 제가 처음 연구실에 들어갔을 때 가장 석사 분들이 관심을 가지시던 분야가 블록체인이었고, 관련해서 공부하신 내용을 세미나로 많이 공유해주셨던 기억이 납니다. 그 때가 벌써 약 3년 전인데, 지금까지도 블록체인 산업은 빠르게 지속적인 성장을 보이며 다양한 콘퍼런스, 공모전, 학회가 열리고 있습니다.

당시에는 기본적인 프로그래밍 지식도 없는 1학년이었기에, 설명하시는 내용들을 이해하는데 어려움이 있었지만 시간이 지난 지금, 다시 살펴보면 '그 때 말씀하셨던 내용이 이런 부분이었구나' 하며 읽을 수 있을 것이라는 생각을 했습니다. 또, 단순히 이론만 공부해서는 잘 이해했는지 확인하기 어려운데 이 책을 통해 디앱을 만들어보면서 스스로 공부하고 이해한 내용을 탄탄하게 정리해 나가는 데 도움이 될 것이란 기대를 하며 책을 신청하였습니다.

이 책은 약 600페이지의 분량의 책으로 15개의 챕터에 걸쳐 전반적인 지식인 탈중화 앱, 블록체인, 이더리움, 스마트 컨트랙트에 대한 개념에 대해 알아보고, 솔리디티 핵심 문법에 대해 공부한 다음, 이를 바탕으로 실제 디앱을 구축하면서 스마트 컨트랙트를 설계하는 것부터 구현, 테스트, 그리고 배포까지 함께 해 봅니다. 뿐만 아니라 탈중앙화 생태계를 살펴보고 모카, 트러플 프레임워크를 사용하여 효과적으로 디앱을 개발하는 방법까지 다룹니다.

KakaoTalk_Photo_2021-07-25-20-37-57.jpeg 개인적으로 책은 목차부터 꼼꼼히 살펴보는데, 점진적인 구조로 쓰여있어 중도에 포기하지 않고 차근차근 따라갈 수 있습니다. 또, 책에 실린 코드가 대부분 운영체제에 구애받지 않도록 짜여 있어 어떤 환경에서도 실습하는데 어려움이 없도록 한 센스도 겸비한 것을 볼 수 있습니다. 최근 프로젝트 설정 부분에 있어 운영체제로 인한 제약사항을 많이 맞닥뜨린 저에게는 정말 감사한 부분이었습니다! 

KakaoTalk_Photo_2021-07-25-20-38-02.jpeg

블록체인, 이더리움이 처음 공부하는 사람에게 있어서 진입장벽이 높다고 느껴질 요소들이 있는데(적어도 저에게는^^;) 전체적인 흐름을 파악하는데 도움이 되는 그림도 곳곳에 삽입되어 있어 글로만 읽었을 때보다 시각 자료를 통해 다시 한번 흐름을 따라가 봄으로써 정리하는데 정말 많은 도움이 되었습니다. 또, 코드에 대한 부연 설명도 적혀 있어 해당 코드가 어떤 역할을 수행하는지 이해가 되지 않을 때 참고하기 좋았습니다.

KakaoTalk_Photo_2021-07-25-20-38-32.jpegKakaoTalk_Photo_2021-07-25-20-38-26.jpegKakaoTalk_Photo_2021-07-25-20-38-15.jpeg

책이 두껍다고 생각할 수 있지만 하루 한 챕터면 보름이면 마스터 할 수 있다는 점, 다양한 시각자료로 지루하지 않게 직관적으로 이해하는데 도움을 준다는 점, 또 처음에는 어렵지 않을까 걱정이 앞섰지만 차근차근 따라가다보면 어느새 이해하고 있는 자신을 발견할 수 있다는 점에서 블록체인, 이더리움에 관심있는 분들에게 적극 추천합니다!

책 구성이 잘 되어있어 단계적으로 공부하기에 정말 좋았고 실제로 개발해보면서 더 흥미를 느낄 수 있었습니다. 여기서 그치지 않고 단위 테스트, 프레임워크 사용까지 해보는 경험, 배포 및 보안 관련 고려 사항까지 다뤄주어 이 책을 통해 전반적인 블록체인 개발을 경험하는데 있어 좋은 가이드 역할을 해주기에 전혀 부족함이 없다고 생각합니다 :)

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

이번년도에도 한빛 미디어의 나는 리뷰어다에 선정되어 매달 책 한 권씩을 읽을 수 있게 됐다. 7월달 미션으로 나온 책 중에 하나인 이더리움 디앱 개발을 받게 됐고, 이번 달에 읽어보게 됐다. 이 글은 이 책에 대한 간단한 리뷰이다.

블록체인에 관심을 갖기 시작한지는 조금 됐지만, 공부를 시작하기 참 막막한 감이 있었다. 갓빛미디어는 이런 내 상태를 어찌 알고 감사하게도 이 책을 후보로 만들어주셨고 좋은 책을 받아 읽게 되었다. 이 책은, 대상 독자를 지정해두었다. 깊게 읽어볼 시간은 없어서 내용만 따라가며 읽었을 때는, 이 대상 독자가 잘 설정 된 편이라고 생각되므로 말하자면, “이더리움을 이해하고, 활용하려는 소프트웨어 개발자, 아키텍트, 중급 프로그래밍 경험이 있는 개발자를 대상으로 한다.”고 되어있다. 또한 내용 중 Node를 사용하는 내용이 포함되어있어, 해당 부분에 이해도가 있다면 더 쉽게 책을 이해할 수 있다. 우선 본인은 블록체인이 무엇인지 알지 못했으며, 위에 해당하는 개발자라고 생각된다. 먼저 내용은 탈 중앙화 앱에 대한 소개로 시작한다. 그러면서 간단한 디앱을 만들 수 있도록 하며, 디앱에 대한 느낌을 알 수 있게 해준다. 점차 블록체인과, 그를 위해 사용하는 구체적인 기술들에 대해 나오는데, 이더리움, 스마트 컨트랙트, 솔리디티 등을 다룬다. 스마트 컨트랙트는 특히 새로운 챕터로 분리되어 복잡하고, 추상적인 컨트랙트에 대한 내용도 학습할 수 있게 되어있다. 필자는 아직 파트2까지만 읽어봤는데, 내용이 술술 읽히는 건 아니다. 그렇지만, 원래 조금은 복잡한 새로운 기술을 맞이하는 것이 쉽게 술술 읽혀질 리가 없다고 생각한다. (된다면? 나는 천재?) 그 뒷 부분은 핵심에서 조금은 벗어난, 배포와 생태계에 대한 내용들이다. 그러나 빠지면 미완성인 부분들이 맞기 때문에 책을 마저 다 보고 싶다. 좋은 책이고, 블록체인에 대한 실체를 느낄만한 개론서, 입문서라고 생각이 들었다.

내가 생각하는 추천 독자

  • 기본적인 프로그래밍 지식 요구
  • 블록체인, 이더리움에 대한 개념이 전무해도 무관

 

장점

첫 파트에서 이더리움이나 블록체인에 대한 개념을 도식화하여 이해를 돕습니다. 가장 유익했던 부분이라 생각됩니다.

그렇기에 블록체인이나, 스마트 콘트랙트에 대한 호기심이 있어 선택하기에는 매우 좋은 선택이라 보입니다.

예제나 사용된 버전이 구버전이긴 하지만, 최신버전에 크게 벗어나지 않는 내용이기에 가볍게 실습하면서 개념을 잡는 데 도움이 되었습니다.

 

단점

책에 수록된 이미지의 화질 문제

 

총평

이상적인 사상으로 만들어지긴 했지만 그만큼 많은 협의와 기술적 성숙이 필요한 부분이 아닐까 싶다는 생각이 들며, 탈중앙화된 앱들을 통해서 새로운 서비스를 이해하는 데 도움이 되었습니다.

 

표지

 

텍스트가 깨짐 (저화질 이미지)


한빛미디어에서 발매한

디앱개발 관련서적이다.

"이더리움 디앱 개발"로 이더리움을 기반으로 한 디앱을 개발하는 것을 베이스로 하고 있다.

 

한때 다양한 소스를 통해서 코인을 개발하는 것이 유행이었던 시기가 있었고

그 당시에 코인개발자들의 몸값은 천정부지였다.

 

하지만 제대로 된 가이드 없이 개발된 코인은 결과가 항상 사기로 끝이나고 말았더랬지

 

제대로 블록체인 기술을 이해하려는 시도를 해보려고 한다면

이 책 괜찮지 않을까 그렇게 생각해본다.

솔리디티 라는 이더리움 개발용 언어? 프레임워크?를 통해서 개발을 진행할 수 있고

그 과정에서 블록체인 기술의 기반을 이해할 수 있게 돕니다.

 

또한 통신, 테스트 같은 안내도 곁들여져 있기 때문에

제대로 개발하고 있다는 확신도 할 수 있다고 생각한다.

 

기회가 된다면 이 책으로 개발을 진행해보는 것도 좋은 경험이지 않을까 생각해본다.

20200705_230846.jpg

 



 

이더리움 디앱 개발

 

이달 한빛미디어에서 리뷰단으로 리뷰 할 책으로는 "이더리움 디앱 개발" 책을 받아 리뷰를 하게 되었다.

개발자 이지만 블록체인은 탈집중화라는 간단한 개념(?) 정도만 알 뿐이지 제대로 아는 게 하나도 없어서 신청해보았다.

일단 책은 총 네가지 파트로 나눠있는데

 

1. 탈중앙화 앱과 관련 기술

들어가게 될 블록체인의 개념, 용어 / 디앱에 대해서 / 이더리움에 관하여 / 간단한 실습

2. 스마트 컨트랙트

솔리디티 문법, 라이브러리, Web3.js 활용 등

3. 다양한 이더리움 생태계

생태계 구성 요소, 프레임워크, 테스트 방법, 개발 실습

4. 디앱 배포

개발한 것을 토대로 운영할 수 있는 방법 등

으로 구성되어 있다.

 

 

- 책을 읽어보고

아예 모르는 상태에서 하나한 단계를 밟아 따라가는 데 처음 보는 이에게도 도움이 많이되었다.

용어와 언어가 익숙하지 않아 많이 해매고 어려웠지만 이더리움을 해보지 않은 개발자에게도 도움이 될 것으로 보인다.

코인 투기로 인해 유명해 졌지만 그로인해 실제 기능들이 많이 가려진 기술이지만 점차 많은 부분에서

블록체인을 이용하게 되지 않을까 라는 생각이 들었다.

게다가 디앱을 설명하는 첫번째 파트만으로도 가치가 꽤 높은 책인 것 같다.

그저 탈집중화만 알았다면 어떻게 구성되어 탈집중화를 이루어내고 사용되어지는 지 알 수 있는 책이었다.

책이 내용도 많고 다루는 영역도 커서 제대로 이해하려면 시간을 충분히 두고 읽고 실습해봐야할 것 같다.

 

 

-추천

전반적으로 이더리움 플랫폼을 이용해 개발하고 배포하고 운영하고자 하는 디앱 개발자들



한빛미디어 '나는 리뷰어다'의 2020년 6월 리뷰 대상 도서로 신청해서 받은 책이다.

 

Part 1. 탈중앙화 앱과 관련 기술

디앱(Dapp) 소개부터 시작한다.

Remix 통해서 간단한 디앱을 만들고나서 블록체인, 이더리움 기술, EVM, geth에 대해 깊이 다룬다.

흥미를 끌면서 기본기를 배울 수 있는 파트였다.

 

Part 2. 스마트 컨트랙트

솔리디티에 대해 깊이 다루는 파트이다.

솔리디티에 대한 자세한 문법이 있어서 잘 모르는 부분이 있으면 두고두고 봐도 될 만한 부분이다.

뒷부분에는 ERC20, web3.js, 가나슈 등등, 이더리움 공부하면서 배운 부분이나 지금 프로젝트에서 하는 부분도 나오고 있어서 반갑기도 하고 어설프게 알고 있는 지식을 체계적으로 정리하는 데 큰 도움이 되겠더라.

Part 3. 다양한 이더리움 생태계

스웜, IPFS, 트러플 등을 활용하면서 샘플 디앱(투표 디앱)을 개발하는 부분이 나온다.

책 소개에서 파트3이 핵심이라고 하는데, 이 파트에서 이더리움 생태계 전체 그림을 그릴 수 있게 되는 것 같다.

 

파트 2까지 나온 내용 정리(이더리움 플랫폼의 핵심 구성 요소) - geth, 이더리움 지갑, 메타마스크, 가나슈, 리믹스, solc, Web3.js

SE-f4cac841-1db2-436c-b4a3-8214b2e3ec44.jpg

 

현재 이더리움 잔체 생태계. 굵은 글씨 부분은 파트 3에서 다룬다.

1593733699920.jpg

Part 4. 디앱 배포

운영과 보안 고려사항, 미래 기술에 대한 전망이 나온다.

출판 시점이 시점인지라(원서 기준 2년 전), 우리 팀에서 밀고 있는 Hyperledger Besu(구 Pantheon)에 대한 이야기는 안 나오는게 조금 아쉽긴 하지만 어쩔 수 없지. 다음 버전에는 나오길 기대해 봐야지. 

* 전체 후기

블록체인 개발팀으로 이동한지 1년하고 2개월이 지났다.

실무로 부딪히면서 배우는 게 많긴 하지만 그래도 체계적으로 좀 아는 게 좋을 것 같아 이 책을 리뷰 대상 도서로 신청했는데, 참 많은 도움이 된 것 같다. 어설프게 아는 게 아예 모르는 것보다 더 위험하다는데.. 그 위험한 단계를 벗어나기 위해서라도 두고두고 잘 읽어야겠다.

블록체인은 자고 나면 휙휙 바뀌는 분야라서 새로운 이더리움 책이 필요하기도 했는데 시기적절하게 출판이 되어 나에게 온 것 같기도 하다.

EVM, node.js, web3.js, solidity, geth, remix, ganache, truffle, ERC20, Metamask, OpenZeppelin, ... 정말 다양한 기술을 배우느라 쫓아가기 버겁고 정리도 안 되었는데, 이 책 보면서 좀 정리가 된 느낌이 들었다. 잘 두었다가 필요한 부분이 있으면 꺼내 보기도 좋을 것 같다. 

solc, MOCA, ENS, 스웜, IPFS, 오라클 연결 등등 처음 들어봤거나 써보지 않은 기술들은 아직 자세히 읽어보지는 못했지만 이 역시 전체 맥락을 이해하는 데 크게 도움이 될 것 겉아 천천히 읽어볼 생각이다.

번역도 어색한 부분은 못 느꼈다. 생긴지 얼마 안 된 분야이다 보니 레퍼런스도 많지 않아서 번역하시느라 쉽지 않았을텐데, 전반적으로 매끄럽게 잘 번역이 된 것 같다.

다만 아쉬운 점은 번역서의 개발 환경이 원서 나오던 기준의 개발환경이라서 지금과는 많이 안 맞는 부분이 있었다.

특히 리믹스 부분은, 빨간 버튼과 파란 버튼을 누르라고 나오는데 지금 UI에서는 색상이 다르다.

책에 있는 UI는 한 1년 쯤 전까지의 버전이던데...

내 기억에만 1년 사이에 두 번 Remix UI가 싹 바뀔 정도로 워낙 휙휙 바뀌는 분야인지라 이 부분은 이해해야지.

그 외에는 나에게 부족한 부분을 잘 긁어준 것 같다.

난 이더리움을 거꾸로 배워서(최신 개발 방식으로만 배워서) Geth 같은 올드 스타일에 오히려 취약했는데,

올드 스타일부터 시작해서 최근 스타일까지 설명하는 부분이 좋았다.

책 한 권을 통해서 블록체인&이더리움의 파란만장한 일대기를 본 기분이다.

[목차]


[Part 1 탈중앙화 앱과 관련 기술]

CHAPTER 1 처음 만나는 탈중앙화 앱

CHAPTER 2 블록체인 이해하기

CHAPTER 3 이더리움 플랫폼

CHAPTER 4 스마트 컨트랙트 배포하기


[Part 2 스마트 컨트랙트]

CHAPTER 5 솔리디티로 스마트 컨트랙트 프로그래밍하기

CHAPTER 6 복잡한 스마트 컨트랙트 작성하기

CHAPTER 7 추상 컨트랙트와 인터페이스

CHAPTER 8 Web3.js로 스마트 컨트랙트 활용하기


[Part 3 다양한 이더리움 생태계]

CHAPTER 9 이더리움 생태계

CHAPTER 10 모카로 컨트랙트 단위 테스트하기

CHAPTER 11 트러플로 개발주기 단축하기

CHAPTER 12 투표 디앱 개발하기: 총정리


[Part 4 디앱 배포]

CHAPTER 13 디앱 운영 준비하기

CHAPTER 14 보안 고려 사항

CHAPTER 15 결론


[주요 내용]

● 솔리디티로 스마트 컨트랙트 구현

● Web3.js로 스마트 컨트랙트와 통신

● 트러플을 이용한 디앱 개발

● 설계 및 보안을 개선하는 모범 사례

● 스마트 컨트랙트 단위 테스트

● 자주 발견되는 취약점과 일반적인 공격


[서평]

2017년말 암호화폐에 대한 전세계적인 관심이 엄청 났습니다. 그렇게 블록체인에 대한 많은 발전이 있었는데 거품이 꺼지면서 블록체인에 대한 관심도도 많이 줄어 들었습니다. 하지만 블록체인은 블록체인 대로 기술적인 부분은 계속 발전을 하고 있었습니다. 그중에서 비트코인과 이더리움이 가장 활발하게 진행되고 있습니다. 2019년 코르나19로 인해 앞으로 블록체인 기반 산업이 더 발전 할것이라 생각이 됩니다. 블록체인은 신뢰기반 네트워크로서 코르나19인데 무엇 보다도 신뢰가 가장 중요해 졌기 때문입니다. 


_1부에서는 탈중앙화 앱을 소개하고 블록체인과 스마트 컨트랙트, Go 이더리움, 이더리움 지갑 등 이더리움 플랫폼을 다룹니다. 간단한 디앱을 구현하고 퍼블릭 테스트넷에 배포합니다.


_2부에서는 스마트 컨트랙트에 중점을 둡니다. 솔리디티 언어를 소개하고 앱을 만들어보며 컨트랙트 구조와 주요 요소를 알아봅니다. 코드를 유지보수하기 쉽게 도와주는 라이브러리와 가나슈(Ganache) 같은 모의 네트워크 클라이언트를 사용하는 방법도 설명합니다.


_3부는 이 책의 핵심으로 실제 이더리움 네트워크를 배웁니다. 이더리움 네임 서비스, IPFS, 스웜과 같은 탈중앙화 스토리지 네트워크를 배우고 모카(Mocha) 프레임워크로 스마트 컨트랙트를 테스트하는 방법을 알아봅니다. 트러플(Truffle) 프레임워크로 개발 절차를 개선하면서 이 과정을 종합한 엔드 투 엔드 투표 디앱을 만들어봅니다.


_4부는 이벤트 로깅과 컨트랙트 업그레이드 기능 등 운영할 때 고려할 점을 소개합니다. 더불어 자주 발견되는 취약점과 일반적인 스마트 컨트랙트 공격 등 보안에 대해서도 알아봅니다.


이책에서는 이더리움 디앱 개발에 대한 전체 적인 내용을 다루고 있습니다. 블록체인 기술이 새로운 패러다임이라서 기존의 레거시 기술과 개념이 많이 다르기 때문에 익히기가 쉽지 않습니다. 오픈소스 코드로 실시간적으로 계속 수정되고 기능이 추가 되면서 따라가기가 벅 찰겁니다. 그래서 혼자 학습 하기 힘든 탈중앙화 애플리케이션을 개발하는 프레임워크를 이책에서 소개 하고 있습니다. 이더리움 디앱을 직접 개발해보면서 솔리디티에서 자동화 테스트까지 프레임워크를 익힐 수 있을겁니다. 


이더리움에 대해서 어느정도 익숙 해지려고 하니 이제 이더리움 2.0이 나온다고 하네요. 이책에서는 이더리움 2.0에 대한 소개도 하고 있습니다. 새로운 합의 알고리즘, 샤딩으로 데이터 처리, eWASM등 로드맵을 소개 하고 있습니다. 이더리움 2.0이 나오면 eWASM으로 자바나 javascript등 스마트 컨트랙트를 좀더 다양한 언어로 구현할 수있어서 더 많은 개발자들이 이더리움 생태계로 들어 올것이라 생각이 드네요.




[회전]20200630_215011.jpg

 

 

이더리움 디앱이란 책 이름과 같이 디앱 설계에서부터 구현, 테스트, 디버그, 배포 내용까지 다루고 있습니다.
디앱은 Decentralized Application의 줄임말로, 블록체인 기술을 활용하여 중앙 서버 없이 네트워크상에 정보를 분산하여 저장 및 구동하는 앱을 말하며, 이더리움 블록체인을 기반으로 디앱을 만드는 것이라고 합니다. 중앙서버가 없다보니 탈중앙화 앱이라는 용어가 많이 나오게 됩니다.


여러가지 장점을 보자면 분산된 개인 간 네트워크 저장으로 동시에 다수를 해킹하지 않으면 안되기 때문에 보안성이 뛰어나고
데이터나 거래는 생성된 뒤 삭제가 불가능하며, 일부 블록이 다운되어도 다른 블록들이 동일한 정보를 보유하고 있기 때문에
안정성도 높아 원산지 및 진품 추적, 신원 확인, 크라우딩 펀드등 다양한 분야에서 사용된다고 합니다.

 

더 나아가 블록체인 플랫폼이 차세대 인터넷인 Web3.0의 기초가 될 수도 있다고 하는데, 이 책을 통해서 블록체인 기술을
이해하고, 디앱의 전반적인 내용을 두루 살펴볼 수 있습니다.

 

물론 블록체인이 완전 처음이다 하면 내용이 어려울 수도 있을꺼 같습니다. 생소한 용어도 많이 나오고, 솔리디티도 낯설수도 있고
책에서 다루는 내용도 많기 때문에 제대로 학습을 하려면 충분한 시간을 투자해야 할 것 같습니다.

 

아래와 같이 많은 부분을 다루고 있습니다.

 

#목차
PART1 탈중앙화 앱과 관련 기술
1. 처음 만나는 탈중앙화 앱
2. 블록체인 이해하기
3. 이더리움 플랫폼
4. 스마트 컨트랙트 배포하기

 

PART2 스마트 컨트랙트
5. 솔리디티로 스마트 컨트랙트 프로그래밍하기
6. 복잡한 스마트 컨트랙트 작성하기
7. 추상 컨트랙트와 인터페이스
8. Web3.js로 스마트 컨트랙트 활용하기

 

PART3 다양한 이더리움 생태계

9. 이더리움 생태계
10. 모카로 컨트랙트 단위 테스트하기
11. 트러플로 개발주기 단축하기
12. 투표 디앱 개발하기:총정리

 

PART4 디앱 배포
13. 디앱 운영 준비하기
14. 보안 고려 사항
15. 결론


하지만 충실하게 전반적인 설계에서 배포, 운영까지의 내용을 다루고 있기 때문에 디앱 개발을 하고자 하시는 분들에게 추천드리고
싶습니다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
이더리움 디앱 개발
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
이더리움 디앱 개발
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
이더리움 디앱 개발
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실