이미 소장하고 있다면 판매해 보세요.
|
1장. 탈중앙화 애플리케이션의 이해 __탈중앙화 애플리케이션이란 무엇인가? ____탈중앙화 애플리케이션의 장점 ____탈중앙화 애플리케이션의 단점 __탈중앙화 자율 조직 __DApp 내에서 사용자 ID __DApp의 사용자 계정 __중앙 집중화 애플리케이션에 대한 접근 __DApp 내에서의 내부 화폐 ____DApp 내부 화폐의 단점 __승인이 필요한 DApp은 무엇인가? __대중적인 DApp ____비트코인 ____이더리움 ____Hyperledger 프로젝트 ____IPFS ____네임코인 ____대시 ____BigChainDB ____OpenBazaar ____리플 __요약 2장. 이더리움 동작 방식의 이해 __이더리움의 개요 __이더리움 계정 __트랜잭션 __합의 __타임스탬프 __논스 __블록 시간 __포크 __창조 블록 __이더 액면가 __이더리움 가상 머신 __가스 __피어 검색 __위스퍼와 스웜 __geth ____geth 설치 ____JSON-RPC 및 자바스크립트 콘솔 ____하위 명령어 및 옵션 ____계정 생성 __이더리움 지갑 __미스트 __약점 ____시빌 공격 ____51% 공격 __세레니티 ____지불 및 상태 채널 ____지분 증명 및 캐스퍼 ____샤딩 __요약 3장. 스마트 컨트랙트 작성 __솔리디티 소스 파일 __스마트 컨트랙트 구조 __데이터 위치 __다른 데이터 유형은 무엇인가? ____배열 ____문자열 ____구조체 ____열거형 ____매핑 ____delete 연산자 ____기본 유형 간의 변환 ____var 사용 __제어 구조 __new 연산자를 사용해 컨트랙트 생성 __예외 __외부 함수 호출 __컨트랙트의 특징 ____가시성 ____함수 변경자 ____폴백 함수 ____상속 __라이브러리 ____for 사용 __다수의 값 리턴 __다른 솔리디티 소스 파일 가져오기 __전역적으로 사용 가능한 변수 ____블록 및 트랜잭션 속성 ____주소 유형 관련 ____컨트랙트 관련 __이더 단위 __존재, 무결성, 소유권 증명 __컨트랙트 컴파일 및 배포 __요약 4장. web3.js 시작하기 __web3.js 소개 ____web3.js 불러오기 ____노드에 연결 ____API 구조 ____BigNumber.js ____단위 변환 ____가스 가격, 잔액, 트랜잭션 상세 정보 검색 ____이더 송금 ____컨트랙트 작업 ____컨트랙트 이벤트 검색 및 리스닝 __소유권 컨트랙트를 위한 클라이언트 구축 ____프로젝트 구조 ____백엔드 구축 ____프론트엔드 구축 ____클라이언트 테스트 __요약 5장. 지갑 서비스 구축 __온라인 지갑과 오프라인 지갑의 차이 __hooked-web3-provider 및 ethereumjs-tx 라이브러리 __계층적인 결정적 지갑은 무엇인가? __키 유도 함수 소개 __LightWallet 소개 ____HD 유도 경로 __지갑 서비스 구축 ____사전 필요조건 ____프로젝트 구조 ____백엔드 구축 ____프론트엔드 구축 ____테스트 __요약 6장. 스마트 컨트랙트 배포 플랫폼 구축 __트랜잭션 논스 계산 __solcjs 소개 ____solcjs 설치 ____solcjs API __컨트랙트 배포 플랫폼 구축 ____프로젝트 구조 ____백엔드 구축 ____프론트엔드 구축 ____테스트 __요약 7장. 베팅 애플리케이션 구축 __Oraclize 소개 ____어떻게 동작하는가? ____데이터 원본 ____진위 증명 ____가격 ____Oraclize API 시작하기 ____쿼리 암호화 ____Oraclize 웹 통합 개발 환경 __문자열 작업 __베팅 컨트랙트 구축 __베팅 컨트랙트 클라이언트 구축 ____프로젝트 구조 ____백엔드 구축 ____프론트엔드 구축 ____클라이언트 테스트 __요약 8장. 엔터프라이즈 수준의 스마트 컨트랙트 구축 __ethereumjs-testrpc 탐색 ____설치 및 사용법 ____사용 가능한 RPC 메소드 __이벤트 토픽은 무엇인가? __trufflecontract 시작하기 ____truffle-contract 설치 및 임포트 ____테스트 환경 설정 ____tffltt API __트러플 소개 ____트러플 설치 ____트러플 초기화 ____컨트랙트 컴파일 ____설정 파일 ____컨트랙트 배포 ____단위 테스트 컨트랙트 ____패키지 관리 ____트러플 콘솔 사용 ____트러플 컨텍스트 내에서 외부 스크립트 실행 ____트러플 빌드 파이프라인 ____트러플 서버 __요약 9장. 컨소시엄 블록체인 구축 __컨소시엄 블록체인은 무엇인가? __진위 증명 합의 프로토콜은 무엇인가? __패리티 소개 ____Aura 동작 방식에 대한 이해 ____패리티 실행 ____프라이빗 네트워크 생성 ____권한 및 개인정보 보호 __요약 |
Narayan Prusty
|
이 책에서 다루는 내용
*블록체인 기술의 기본 개요 *블록체인 기술 및 기능 구현과 이를 통해 달성 가능한 것들 *솔리디티 및 Web3.js를 활용한 DApp 구축 *geth 명령어와 암호화에 대한 이해 *이더리움 지갑 생성 *컨소시엄 블록체인에 대한 탐색 이 책의 대상 독자 이 책은 블록체인과 이더리움을 사용해 변조 방지 데이터(그리고 트랜잭션) 애플리케이션을 만들고자 하는 자바스크립트 개발자를 대상으로 한다. 암호 화폐 및 이를 가능케 하는 로직과 데이터베이스에 관심 있는 사람에게 매우 유용하다. 이 책의 구성 1장. '탈중앙화 애플리케이션의 이해'에서는 DApp의 개념을 설명하고, 동작 방식에 대한 개요를 제공한다. 2장. '이더리움 동작 방식의 이해'에서는 이더리움 동작 방식을 설명한다. 3장. 스마트 컨트랙트 작성'에서는 스마트 컨트랙트 작성 방법과 geth의 대화형 콘솔에서 web3.js를 활용한 트랜잭션 배포 및 브로드캐스팅 방법을 보여준다. 4장. 'web3.js 시작하기'에서는 web3.js에 대한 소개 및 임포트 방법, geth와 연결하는 방법, Node.js 또는 클라이언트 측 자바스크립트 내에서 사용하는 방법을 설명한다. 5장. '지갑 서비스 구축'에서는 사용자들이 오프라인 상태더라도 이더리움 지갑을 쉽게 생성하고 관리할 수 있는 지갑 서비스 구축 방법을 설명한다. 이를 위해 특별히 LightWallet 라이브러리를 사용할 것이다. 6장. '스마트 컨트랙트 배포 플랫폼 구축'에서는 web3.js를 사용한 스마트 컨트랙트 컴파일, web3.js와 EthereumJS를 사용한 배포 방법을 보여준다. 7장. '베팅 애플리케이션 구축'에서는 이더리움 스마트 컨트랙트로부터 월드 와이드 웹의 데이터에 접근하기 위해 Oraclize를 사용한 HTTP 요청 생성 방법을 설명한다. 또한 IPFS 내에 저장된 파일에 대한 접근 방법, 문자열을 다루기 위한 strings 라이브러리 사용법도 배울 것이다. 8장. '엔터프라이즈 수준의 스마트 컨트랙트 구축'에서는 엔터프라이즈 수준의 DApp 작성을 쉽게 해주는 트러플(Truffle)의 사용법을 설명한다. 알트코인(altcoin)을 구축하면서 트러플에 대해 배워볼 것이다. 9장. '컨소시엄 블록체인 구축'에서는 컨소시엄 블록체인에 대해 논의할 것이다. 지은이의 말 블록체인은 변조 및 수정을 방지하며, 지속해서 증가하는 데이터 기록의 목록을 유지 및 관리하는 탈중앙화된 원장(ledger)이다. 모든 사용자는 네트워크에 연결할 수 있고 트랜잭션을 보낼 수 있으며 트랜잭션을 검증하거나 새로운 블록을 생성할 수 있다. 이 책은 블록체인이 무엇인지 설명하고 데이터 무결성을 유지하는 방법과 이더리움을 사용해 실제 블록체인 프로젝트를 생성하는 방법을 알려준다. 흥미 있는 실제 프로젝트를 통해 사기, 검열, 타사의 간섭 없이 프로그래밍한 대로 정확히 동작하는 스마트 컨트랙트 작성 방법을 배울 것이며, 블록체인을 위한 종단 간 애플리케이션을 구축할 것이다. 또한 암호 화폐 내의 암호학, 이더 보안, 채굴, 스마트 컨트랙트, 솔리디티(solidity)에 대한 개념도 배울 것이다. 블록체인은 비트코인의 주요한 기술적 혁신이며, 비트코인 트랜잭션의 공용 장부 역할을 한다. 옮긴이의 말 블록체인에 관심을 두고 자료를 확인하는 시기에 우연히 이 책을 접하게 됐다. 이 책은 딱딱한 이론만 다루기보다는 전반적인 이해를 돕는 필수적인 내용과 함께 실행 가능한 예제로 구성돼 있어 어디부터 시작해야 할지 막막한 상황에서 기초를 다지는 데 도움이 됐다. 그래서 이 책의 번역을 진행하는 데 조금의 망설임도 없었다. 한 가지 짚고 넘어가야 할 점은 나 역시도 아직 블록체인 전문가는 아니라는 것이다. 그렇기 때문에 오히려 처음 블록체인 개발을 접하는 초심자 입장에서 내용을 이해하고 번역하기 위해 노력했다는 점이 독자들에게 충분히 전해졌으면 좋겠다. 이 책의 내용만으로 블록체인을 숙달하기는 어려울 것이다. 또한 너무나 빠르게 변화하므로 일부 내용이 금세 달라질 수도 있을 것이다. 그렇다고 하더라도 이 책은 앞으로 나아갈 수 있는 기반을 다지게 해줄 뿐 아니라 방향성도 제시해줄 수 있다고 생각한다. 어서 빨리 개발자들의 기발한 아이디어가 접목된 DApp이 활성화되길 기대해본다. |