当前位置:主页 > 书籍配套资源 > 区块链配套资源
《区块链项目开发指南》源代码

《区块链项目开发指南》源代码

  • 更新:2022-02-21
  • 大小:3.51 MB
  • 类别:区块链
  • 作者:纳拉扬·普鲁斯蒂
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

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

封面图

目录

  • 译者序
  • 前言
  • 第1章去中心化应用1
  • 1.1什么是DApp1
  • 1.1.1去中心化应用的优点2
  • 1.1.2去中心化应用的缺点3
  • 1.2去中心化自治组织3
  • 1.3DApp中的用户身份4
  • 1.4DApp中的用户账户5
  • 1.5访问中心化应用6
  • 1.6DApp中的内部货币6
  • 1.7什么是授权的DApp7
  • 1.8热门的DApp7
  • 1.8.1比特币7
  • 1.8.2以太坊9
  • 1.8.3超级账本项目9
  • 1.8.4IPFS10
  • 1.8.5Namecoin11
  • 1.8.6达世币12
  • 1.8.7BigChainDB14
  • 1.8.8OpenBazaar14
  • 1.8.9Ripple14
  • 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.12gas25
  • 2.13发现对等节点26
  • 2.14Whisper和Swarm27
  • 2.15geth27
  • 2.15.1安装geth28
  • 2.15.2JSON-RPC和JavaScript操作台28
  • 2.15.3子命令和选项29
  • 2.15.4创建账户29
  • 2.16以太坊钱包31
  • 2.17浏览器钱包31
  • 2.18以太坊的缺点32
  • 2.19serenity33
  • 2.20总结35
  • 第3章编写智能合约36
  • 3.1Solidity源文件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.5mapping类型42
  • 3.4.6delete操作符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.1web3.js概述63
  • 4.1.1导入web3.js64
  • 4.1.2连接至节点64
  • 4.1.3API结构65
  • 4.1.4BigNumber.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.2Hooked-Web3-Provider和EthereumJS-tx库84
  • 5.3分层确定性钱包87
  • 5.4密钥衍生函数87
  • 5.5LightWallet88
  • 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.2solcjs概述104
  • 6.2.1安装solcjs104
  • 6.2.2solcjs 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.1Oraclize概述119
  • 7.1.1Oraclize的工作原理120
  • 7.1.2数据源120
  • 7.1.3真实性证明121
  • 7.1.4定价122
  • 7.1.5开始使用Oraclize API123
  • 7.1.6加密查询127
  • 7.1.7Oraclize 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.3truffle-contract API156
  • 8.4truffle概述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.10truffle的创建管线179
  • 8.4.11truffle的服务器端186
  • 8.5总结187
  • 第9章创建联盟区块链188
  • 9.1什么是联盟区块链189
  • 9.2什么是权威证明共识189
  • 9.3parity概述189
  • 9.3.1Aura的工作原理190
  • 9.3.2运行parity191
  • 9.3.3创建私有网络192
  • 9.3.4许可和隐私197
  • 9.4总结198

资源下载

资源下载地址1:https://pan.baidu.com/s/1CdXzJgnzRE8ziJSHeSthjA

网友留言