区块链项目开发指南

区块链项目开发指南
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [印] (Narayan Prusty)
2017-12
版次: 1
ISBN: 9787111584001
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 198页
70人买过
  • 区块链是近十年来颇具颠覆性的新兴信息技术之一,它正以一种全新的方式建立人类交易过程的信任、仲裁和记录基础。本书共9章,首先介绍去中心化应用、DApp等基本概念,并据此展开对比特币、以太坊、超级账本等热门DApp的阐释。其次在解析以太坊工作原理的基础上介绍智能合约的编写方法,并介绍web3.js的应用方法。后利用上述知识进行钱包服务、智能合约部署平台、投注App、企业级智能合约以及联盟区块链等具体应用程序的创建。 Contents 目录 

    译者序 

    前言 

    第1章 去中心化应用1 

    1.1 什么是DApp1 

    1.1.1 去中心化应用的优点2 

    1.1.2 去中心化应用的缺点3 

    1.2 去中心化自治组织3 

    1.3 DApp中的用户身份4 

    1.4 DApp中的用户账户5 

    1.5 访问中心化应用6 

    1.6 DApp中的内部货币6 

    1.7 什么是授权的DApp7 

    1.8 热门的DApp7 

    1.8.1 比特币7 

    1.8.2 以太坊9 

    1.8.3 超级账本项目9 

    1.8.4 IPFS10 

    1.8.5 Namecoin11 

    1.8.6 达世币12 

    1.8.7 BigChainDB14 

    1.8.8 OpenBazaar14 

    1.8.9 Ripple14 

    1.9 总结16 

    第2章 以太坊的工作原理17 

    2.1 以太坊概览17 

    2.2 以太坊账户18 

    2.3 交易18 

    2.4 共识19 

    2.5 时间戳20 

    2.6 随机数21 

    2.7 区块时间21 

    2.8 分叉24 

    2.9 创世区块24 

    2.10 以太币面值24 

    2.11 以太坊虚拟机25 

    2.12 gas25 

    2.13 发现对等节点26 

    2.14 Whisper和Swarm27 

    2.15 geth27 

    2.15.1 安装geth28 

    2.15.2 JSON-RPC和JavaScript操作台28 

    2.15.3 子命令和选项29 

    2.15.4 创建账户29 

    2.16 以太坊钱包31 

    2.17 浏览器钱包31 

    2.18 以太坊的缺点32 

    2.19 serenity33 

    2.20 总结35 

    第3章 编写智能合约36 

    3.1 Solidity源文件36 

    3.2 智能合约的结构37 

    3.3 数据位置38 

    3.4 什么是不同的数据类型39 

    3.4.1 数组类型39 

    3.4.2 字符串类型40 

    3.4.3 结构类型41 

    3.4.4 枚举类型42 

    3.4.5 mapping类型42 

    3.4.6 delete操作符43 

    3.4.7 基本类型之间的转换44 

    3.4.8 使用var44 

    3.5 控制结构45 

    3.6 用new操作符创建合约46 

    3.7 异常46 

    3.8 外部函数调用46 

    3.9 合约功能48 

    3.9.1 可见性48 

    3.9.2 函数修改器50 

    3.9.3 回退函数51 

    3.9.4 继承52 

    3.10 库54 

    3.11 返回多值56 

    3.12 导入其他Solidity源文件57 

    3.13 全局可用变量57 

    3.13.1 区块和交易属性57 

    3.13.2 地址类型相关58 

    3.13.3 合约相关58 

    3.14 以太币单位58 

    3.15 存在、真实性和所有权合约的证明59 

    3.16 编译和部署合约60 

    3.17 总结62 

    第4章 开始使用web3.js63 

    4.1 web3.js概述63 

    4.1.1 导入web3.js64 

    4.1.2 连接至节点64 

    4.1.3 API结构65 

    4.1.4 BigNumber.js66 

    4.1.5 单位转换66 

    4.1.6 检索gas价格、余额和交易细节67 

    4.1.7 发送以太币68 

    4.1.8 处理合约69 

    4.1.9 检索和监听合约事件71 

    4.2 为所有权合约创建客户端73 

    4.2.1 项目结构74 

    4.2.2 创建后端74 

    4.2.3 创建前端76 

    4.2.4 测试客户端80 

    4.3 总结82 

    第5章 创建钱包服务83 

    5.1 在线钱包和离线钱包的区别83 

    5.2 Hooked-Web3-Provider和EthereumJS-tx库84 

    5.3 分层确定性钱包87 

    5.4 密钥衍生函数87 

    5.5 LightWallet88 

    5.6 创建钱包服务89 

    5.6.1 必要条件89 

    5.6.2 项目结构90 

    5.6.3 创建后端90 

    5.6.4 创建前端91 

    5.6.5 测试97 

    5.7 总结101 

    第6章 创建智能合约部署平台102 

    6.1 计算一个地址的交易nonce102 

    6.2 solcjs概述104 

    6.2.1 安装solcjs104 

    6.2.2 solcjs API104 

    6.3 创建合约部署平台107 

    6.3.1 项目结构108 

    6.3.2 创建后端108 

    6.3.3 创建前端113 

    6.3.4 测试117 

    6.4 总结118 

    第7章 创建投注App119 

    7.1 Oraclize概述119 

    7.1.1 Oraclize的工作原理120 

    7.1.2 数据源120 

    7.1.3 真实性证明121 

    7.1.4 定价122 

    7.1.5 开始使用Oraclize API123 

    7.1.6 加密查询127 

    7.1.7 Oraclize Web IDE128 

    7.2 处理字符串128 

    7.3 创建投注合约130 

    7.4 为投注合约创建客户端133 

    7.4.1 项目结构133 

    7.4.2 创建后端134 

    7.4.3 创建前端135 

    7.4.4 测试客户端143 

    7.5 总结147 

    第8章 创建企业级智能合约148 

    8.1 探索ethereumjs-testrpc148 

    8.1.1 安装和使用149 

    8.1.2 可用RPC方法151 

    8.2 什么是事件主题153 

    8.3 开始使用truffle-contract154 

    8.3.1 安装和导入truffle-contract155 

    8.3.2 建立测试环境156 

    8.3.3 truffle-contract API156 

    8.4 truffle概述163 

    8.4.1 安装truffle163 

    8.4.2 初始化 truffle163 

    8.4.3 编译合约165 

    8.4.4 配置文件165 

    8.4.5 部署合约166 

    8.4.6 单元测试合约169 

    8.4.7 包管理175 

    8.4.8 使用truffle的操作台178 

    8.4.9 在truffle环境中运行外部脚本179 

    8.4.10 truffle的创建管线179 

    8.4.11 truffle的服务器端186 

    8.5 总结187 

    第9章 创建联盟区块链188 

    9.1 什么是联盟区块链189 

    9.2 什么是权威证明共识189 

    9.3 parity概述189 

    9.3.1 Aura的工作原理190 

    9.3.2 运行parity191 

    9.3.3 创建私有网络192 

    9.3.4 许可和隐私197 

    9.4 总结198
  • 内容简介:
    区块链是近十年来颇具颠覆性的新兴信息技术之一,它正以一种全新的方式建立人类交易过程的信任、仲裁和记录基础。本书共9章,首先介绍去中心化应用、DApp等基本概念,并据此展开对比特币、以太坊、超级账本等热门DApp的阐释。其次在解析以太坊工作原理的基础上介绍智能合约的编写方法,并介绍web3.js的应用方法。后利用上述知识进行钱包服务、智能合约部署平台、投注App、企业级智能合约以及联盟区块链等具体应用程序的创建。
  • 目录:
    Contents 目录 

    译者序 

    前言 

    第1章 去中心化应用1 

    1.1 什么是DApp1 

    1.1.1 去中心化应用的优点2 

    1.1.2 去中心化应用的缺点3 

    1.2 去中心化自治组织3 

    1.3 DApp中的用户身份4 

    1.4 DApp中的用户账户5 

    1.5 访问中心化应用6 

    1.6 DApp中的内部货币6 

    1.7 什么是授权的DApp7 

    1.8 热门的DApp7 

    1.8.1 比特币7 

    1.8.2 以太坊9 

    1.8.3 超级账本项目9 

    1.8.4 IPFS10 

    1.8.5 Namecoin11 

    1.8.6 达世币12 

    1.8.7 BigChainDB14 

    1.8.8 OpenBazaar14 

    1.8.9 Ripple14 

    1.9 总结16 

    第2章 以太坊的工作原理17 

    2.1 以太坊概览17 

    2.2 以太坊账户18 

    2.3 交易18 

    2.4 共识19 

    2.5 时间戳20 

    2.6 随机数21 

    2.7 区块时间21 

    2.8 分叉24 

    2.9 创世区块24 

    2.10 以太币面值24 

    2.11 以太坊虚拟机25 

    2.12 gas25 

    2.13 发现对等节点26 

    2.14 Whisper和Swarm27 

    2.15 geth27 

    2.15.1 安装geth28 

    2.15.2 JSON-RPC和JavaScript操作台28 

    2.15.3 子命令和选项29 

    2.15.4 创建账户29 

    2.16 以太坊钱包31 

    2.17 浏览器钱包31 

    2.18 以太坊的缺点32 

    2.19 serenity33 

    2.20 总结35 

    第3章 编写智能合约36 

    3.1 Solidity源文件36 

    3.2 智能合约的结构37 

    3.3 数据位置38 

    3.4 什么是不同的数据类型39 

    3.4.1 数组类型39 

    3.4.2 字符串类型40 

    3.4.3 结构类型41 

    3.4.4 枚举类型42 

    3.4.5 mapping类型42 

    3.4.6 delete操作符43 

    3.4.7 基本类型之间的转换44 

    3.4.8 使用var44 

    3.5 控制结构45 

    3.6 用new操作符创建合约46 

    3.7 异常46 

    3.8 外部函数调用46 

    3.9 合约功能48 

    3.9.1 可见性48 

    3.9.2 函数修改器50 

    3.9.3 回退函数51 

    3.9.4 继承52 

    3.10 库54 

    3.11 返回多值56 

    3.12 导入其他Solidity源文件57 

    3.13 全局可用变量57 

    3.13.1 区块和交易属性57 

    3.13.2 地址类型相关58 

    3.13.3 合约相关58 

    3.14 以太币单位58 

    3.15 存在、真实性和所有权合约的证明59 

    3.16 编译和部署合约60 

    3.17 总结62 

    第4章 开始使用web3.js63 

    4.1 web3.js概述63 

    4.1.1 导入web3.js64 

    4.1.2 连接至节点64 

    4.1.3 API结构65 

    4.1.4 BigNumber.js66 

    4.1.5 单位转换66 

    4.1.6 检索gas价格、余额和交易细节67 

    4.1.7 发送以太币68 

    4.1.8 处理合约69 

    4.1.9 检索和监听合约事件71 

    4.2 为所有权合约创建客户端73 

    4.2.1 项目结构74 

    4.2.2 创建后端74 

    4.2.3 创建前端76 

    4.2.4 测试客户端80 

    4.3 总结82 

    第5章 创建钱包服务83 

    5.1 在线钱包和离线钱包的区别83 

    5.2 Hooked-Web3-Provider和EthereumJS-tx库84 

    5.3 分层确定性钱包87 

    5.4 密钥衍生函数87 

    5.5 LightWallet88 

    5.6 创建钱包服务89 

    5.6.1 必要条件89 

    5.6.2 项目结构90 

    5.6.3 创建后端90 

    5.6.4 创建前端91 

    5.6.5 测试97 

    5.7 总结101 

    第6章 创建智能合约部署平台102 

    6.1 计算一个地址的交易nonce102 

    6.2 solcjs概述104 

    6.2.1 安装solcjs104 

    6.2.2 solcjs API104 

    6.3 创建合约部署平台107 

    6.3.1 项目结构108 

    6.3.2 创建后端108 

    6.3.3 创建前端113 

    6.3.4 测试117 

    6.4 总结118 

    第7章 创建投注App119 

    7.1 Oraclize概述119 

    7.1.1 Oraclize的工作原理120 

    7.1.2 数据源120 

    7.1.3 真实性证明121 

    7.1.4 定价122 

    7.1.5 开始使用Oraclize API123 

    7.1.6 加密查询127 

    7.1.7 Oraclize Web IDE128 

    7.2 处理字符串128 

    7.3 创建投注合约130 

    7.4 为投注合约创建客户端133 

    7.4.1 项目结构133 

    7.4.2 创建后端134 

    7.4.3 创建前端135 

    7.4.4 测试客户端143 

    7.5 总结147 

    第8章 创建企业级智能合约148 

    8.1 探索ethereumjs-testrpc148 

    8.1.1 安装和使用149 

    8.1.2 可用RPC方法151 

    8.2 什么是事件主题153 

    8.3 开始使用truffle-contract154 

    8.3.1 安装和导入truffle-contract155 

    8.3.2 建立测试环境156 

    8.3.3 truffle-contract API156 

    8.4 truffle概述163 

    8.4.1 安装truffle163 

    8.4.2 初始化 truffle163 

    8.4.3 编译合约165 

    8.4.4 配置文件165 

    8.4.5 部署合约166 

    8.4.6 单元测试合约169 

    8.4.7 包管理175 

    8.4.8 使用truffle的操作台178 

    8.4.9 在truffle环境中运行外部脚本179 

    8.4.10 truffle的创建管线179 

    8.4.11 truffle的服务器端186 

    8.5 总结187 

    第9章 创建联盟区块链188 

    9.1 什么是联盟区块链189 

    9.2 什么是权威证明共识189 

    9.3 parity概述189 

    9.3.1 Aura的工作原理190 

    9.3.2 运行parity191 

    9.3.3 创建私有网络192 

    9.3.4 许可和隐私197 

    9.4 总结198
查看详情
系列丛书 / 更多
区块链项目开发指南
白话区块链
蒋勇、文延、嘉文 作者
区块链项目开发指南
区块链开发实战:以太坊关键技术与案例分析
吴寿鹤、冯翔、刘涛、周广益 著
区块链项目开发指南
区块链开发实战:Hyperledger Fabric关键技术与案例分析
冯翔、刘涛、吴寿鹤、周广益 著
区块链项目开发指南
基于区块链的物联网项目开发
[巴西]马克西米利亚诺·桑托斯(Maximiliano Santos) 著;董宁 王冰 朱轩彤 译
区块链项目开发指南
深入理解以太坊
王欣、史钦锋、程杰 著
区块链项目开发指南
区块链安全技术指南
黄连金、吴思进、曹锋、季宙栋 著
区块链项目开发指南
深入理解EOS:原理解析与开发实战
李万才、林琪钧、郭琦康、廖洋阳 著
区块链项目开发指南
Solidity编程:构建以太坊和区块链智能合约的初学者指南
莫迪(Ritesh Modi) 著;[印度]里特什、毛明旺 译
区块链项目开发指南
HyperledgerFabric源代码分析与深入解读
蔡亮、梁秀波、宣章炯 著
相关图书 / 更多
区块链项目开发指南
区块链技术、应用与知识产权保护
国家知识产权局专利局专利审查协作北京中心
区块链项目开发指南
区块链技术助推数字经济发展研究
袁峰,詹晖
区块链项目开发指南
区块链原理教程
胡凯 潘妍 冯立波
区块链项目开发指南
区块链金融
张军欢
区块链项目开发指南
区块链技术原理与应用
李建辉
区块链项目开发指南
区块链赋能共同富裕和美好生活新路径
王宇航 王栋 著
区块链项目开发指南
区块链原理与应用
陈晓红 徐雪松 曹文治
区块链项目开发指南
区块链金融(新编21世纪高等职业教育精品教材·金融类)
李馨 石立哲
区块链项目开发指南
区块链应用的作用机制和影响后果
万滢霖 著
区块链项目开发指南
区块链技术视域下的供应链相关问题研究
张晓莉;武文
区块链项目开发指南
区块链概论
沈言锦本书主编 谢剑虹 丛书主编
区块链项目开发指南
区块链原理与技术(第2版)
郑子彬 郑沛霖 陈嘉弛
您可能感兴趣 / 更多
区块链项目开发指南
Python数据分析(第3版)
[印]阿维纳什·纳夫拉尼(Avinash Navlani)
区块链项目开发指南
PyTorch计算机视觉实战:目标检测、图像处理与深度学习
[印]V·基肖尔·阿耶德瓦拉 (印)耶什万斯·雷迪
区块链项目开发指南
超声引导下区域麻醉实用指南
[印]阿鲁南苏·查克拉博蒂
区块链项目开发指南
Python机器学习实战:基于Scikit-learn与PyTorch的神经网络解决方案
[印]阿什温·帕扬卡 (Ashwin Pajankar) 阿迪亚·乔希 (Aditya Joshi)著 欧拉 译
区块链项目开发指南
全栈测试
[印]加亚特里 默罕(Gayathri Mohan)
区块链项目开发指南
数字设计技术与解析
[印]瓦伊巴夫·塔拉特 著;慕意豪 译
区块链项目开发指南
泰戈尔诗选(成长读书课:名家公开课美绘版)
[印]泰戈尔 著;郑振铎 译
区块链项目开发指南
密码学与网络安全(第4版)
[印]阿图尔·卡哈特(Atul Kahate)著 葛秀慧 金名 译
区块链项目开发指南
MATLAB 图形学基础
[印]兰詹·帕雷克(Ranjan Parekh) 著;章毓晋 译
区块链项目开发指南
古老智慧的现代实践:辨喜论吠檀多(瑜伽奥义丛书)
[印]斯瓦米·维韦卡南达(辨喜)
区块链项目开发指南
从冥想到三摩地:辨喜论王瑜伽和《瑜伽经》(瑜伽奥义丛书)
[印]斯瓦米·维韦卡南达(辨喜)
区块链项目开发指南
被设想的未来
[印]普立梵(Prem Poddar) 【英】安德鲁·瓦特(Andrew Watt)