返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • 正版新书]以太坊智能合约开发实战唐盛彬9787111617
  • 全店均为全新正版书籍,欢迎选购!新疆西藏青海(可包挂刷).港澳台及海外地区bu bao快递
    • 作者: 唐盛彬著 | 唐盛彬编 | 唐盛彬译 | 唐盛彬绘
    • 出版社: 机械工业出版社
    • 出版时间:2019-04-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    君凤文轩图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 唐盛彬著| 唐盛彬编| 唐盛彬译| 唐盛彬绘
    • 出版社:机械工业出版社
    • 出版时间:2019-04-01
    • 版次:1
    • 印次:1
    • 印刷时间:2018-08-01
    • 字数:561
    • 页数:488
    • 开本:16开
    • ISBN:9787111623717
    • 版权提供:机械工业出版社
    • 作者:唐盛彬
    • 著:唐盛彬
    • 装帧:平装
    • 印次:1
    • 定价:119
    • ISBN:9787111623717
    • 出版社:机械工业出版社
    • 开本:16开
    • 印刷时间:2018-08-01
    • 语种:中文
    • 出版时间:2019-04-01
    • 页数:488
    • 外部编号:涿仝西I18847
    • 版次:1
    • 成品尺寸:暂无

    目录
    前言
    篇 基础理论与原理
    章 与区块链的次亲密接触2
    1.1 什么是区块链2
    1.1.1 区块链简介2
    1.1.2 区块链的链式结构3
    1.1.3 区块链上的区块常见数据4
    1.2 工作量明机制(PoW)6
    1.2.1 区块链遭遇的问题6
    1.2.2 PoW模型8
    1.. PoW为什么能防止篡改9
    1.3 权益明机制(PS)1
    1.3.1 什么是PS2
    1.3.2 PoS的优势与劣势12
    1.4 委托权益明(DPS)2
    1.5 明(PA)3
    1.6 区块链的应用13
    1.7 本章小结13
    第2章 去中心化应用——DApp15
    2.1 DApp简介15
    2.1.1 什么是DApp15
    2.1.2 DApp网络组建过程16
    2.1.3 DApp的优点16
    2.1.4 DApp存在的问题16
    2.2 中心化与去中心化17
    2.2.1 身份验17
    2.2.2 通信17
    2.. 数据交互17
    2.2.4 系统维护18
    . DApp网络与通信18
    ..1 P2P网络与WWW19
    ..2 P2P网络拓扑结构类型20
    .. 小结21
    2.4 Dpp币与中心化数据交互22
    2.4.1 Dpp币22
    2.4.2 中心化应用获取去中心化数据22
    2.4.3 去中心化应用获取中心化数据22
    2.5 常见的DApp
    2.5.1 比特币
    2.5.2 以太坊
    2.5.3 IPFS存储系统
    第3章 比特币那些事25
    3.1 比特币简介25
    3.1.1 比特币公钥与私钥25
    3.1.2 数字签名26
    3.2 椭圆曲线算法26
    3.2.1 群26
    3.2.2 椭圆曲线算法定义28
    3.. 椭圆曲线几何运算29
    3.2.4 椭圆曲线算法的代码实现30
    3.2.5 椭圆曲线加密与签名原理37
    3.3 比特币私钥、公钥与地址39
    3.3.1 从私钥到地址39
    3.3.2 公钥压缩40
    3.3.3 私钥格式41
    3.3.4 私钥与安全41
    3.4 比特币交易44
    3.4.1 交易简介44
    3.4.2 交易输出44
    3.4.3 交易输入44
    3.4.4 交易费45
    3.4.5 付款至公钥哈希(P2PKH)45
    3.4.6 多重签名与P2SH46
    3.5 比特币钱包46
    3.5.1 钱包简介46
    3.5.2 生成记词47
    3.5.3 从记词生成种子48
    3.5.4 从种子生成HD钱包48
    3.5.5 HD钱包密钥路径50
    3.6 比特币相关资源51
    第4章 以太坊52
    4.1 以太坊简介52
    4.1.1 什么是以太坊52
    4.1.2 以太坊虚拟机(EVM)53
    4.1.3 以太坊智能合约与高级语言53
    4.1.4 以太币单位54
    4.1.5 以太坊发行版本与提案54
    4.2 以太坊账户55
    4.2.1 外部账户55
    4.2.2 合约账户56
    4.. 外部账户与合约账户的异同56
    4.3 以太坊交易57
    4.3.1 gas、gasPrice与gasLimit57
    4.3.2 gasUsed与交易花费58
    4.3.3 什么是以太坊交易与消息58
    4.4 以太坊网络59
    4.4.1 以太坊网络简介59
    4.4.2 以太坊与Kademlia59
    4.4.3 以太坊客户端61
    4.5 挖矿62
    4.5.1 什么是挖矿62
    4.5.2 挖矿奖励62
    4.5.3 以太坊区块63
    4.6 GHOST协议64
    4.6.1 区块时间64
    4.6.2 区块分叉65
    4.6.3 普通分叉带来的问题66
    4.6.4 GHOST协议的具体内容67
    4.7 Ethash算法之DAG68
    4.7.1 什么是DAG68
    4.7.2 DAG生成过程69
    4.7.3 为什么要使用DAG69
    4.8 Ethash算法70
    4.8.1 Ethash算法简介70
    4.8.2 Ethash算法流程70
    4.9 本章小结71
    第2篇 开发工具
    第5章 智能合约开发常用工具74
    5.1 Git简介74
    5.1.1 Git安装74
    5.1.2 Git常用命令75
    5.1.3 Git资源76
    5.2 Node.js简介76
    5.2.1 什么是Node.js76
    5.2.2 Node.js安装77
    5.3 NPM简介78
    5.3.1 npm config命令78
    5.3.2 NPM与语义化版本80
    5.3.3 npm install命令82
    5.3.4 NPM镜像83
    5.3.5 NPM的常用命令84
    5.4 webpack简介85
    5.4.1 认识webpack85
    5.4.2 webpack首秀85
    5.4.3 webpack 与webpack-dev-server87
    5.4.4 webpack常用功能与配置90
    5.4.5 webpack总结92
    5.5 Postman简介92
    5.5.1 认识Postman93
    5.5.2 Postman的简单用法94
    5.5.3 Postman脚本95
    5.6 LevelDB简介96
    5.6.1 认识LevelDB96
    5.6.2 LevelDB文件97
    5.6.3 SST结构与数据查找99
    第6章 以太坊私链神器——Ganache102
    6.1 Ganache简介102
    6.1.1 什么是Ganache102
    6.1.2 ganache-cli命令安装103
    6.1.3 Ganache图形界面104
    6.2 Ganache常见命令参数106
    6.2.1 挖矿时间106
    6.2.2 主机端口与网络106
    6.. gas相关参数106
    6.2.4 参数106
    6.3 Ganache账户107
    6.3.1 能多给我点钱吗107
    6.3.2 能多给我几个账户吗108
    6.3.3 记词相关参数108
    6.3.4 指定账户108
    6.3.5 锁定账户与解锁109
    6.4 Ganache与JavaScript109
    6.4.1 在工程中引用Ganache的Provider109
    6.4.2 在工程中启动Ganache的Server110
    6.4.3 配置工程中依赖的Ganache111
    6.5 Ganache交易相关RPC方法112
    6.5.1 eth_sendTransaction方法113
    6.5.2 eth_getTransactionCount方法115
    6.5.3 eth_getTransactionReceipt方法116
    6.5.4 eth_getTransactionByHash方法116
    6.5.5 交易相关的方法117
    6.6 Ganache账户相关RPC方法117
    6.6.1 eth_accounts方法118
    6.6.2 eth_getBalance方法118
    6.6.3 eth_coinbase方法119
    6.7 Ganache区块相关RPC方法119
    6.7.1 eth_getBlockByHash方法119
    6.7.2 eth_getBlockByNumber方法122
    6.7.3 相关方法122
    6.8 Ganache日志相关RPC方法1
    6.8.1 eth_newFilter方法1
    6.8.2 eth_getFilterLogs方法124
    6.8.3 eth_getLogs方法125
    6.8.4 关联方法126
    6.9 Ganache的RPC方法127
    6.9.1 web3_clientVersion方法127
    6.9.2 net_version方法127
    6.9.3 eth_getCode方法128
    6.9.4 eth_sign方法129
    第7章 以太坊官方客户端——Geth130
    7.1 Geth简介130
    7.1.1 Geth是什么130
    7.1.2 Geth安装130
    7.1.3 Geth相关目录132
    7.1.4 Geth相关工具134
    7.2 Geth子命令134
    7.2.1 Geth子命令概述135
    7.2.2 Geth子命令之account136
    7.. Geth子命令之console与attach137
    7.2.4 Geth子命令之copyb与eovedb137
    7.3 Geth启动参数138
    7.3.1 Geth数据同步模式138
    7.3.2 Geth网络相关参数138
    7.3.3 Geth以太坊相关参数139
    7.3.4 Geth RPC相关参数140
    7.3.5 Geth挖矿相关参数141
    7.3.6 Geth ethash算法参数142
    7.3.7 Geth交易池配置142
    7.3.8 Geth日志参数145
    7.3.9 Geth的参数146
    7.4 Geth启动实例146
    7.4.1 Geth启动单个节点146
    7.4.2 Geth启动多节点组网148
    7.5 Geth控制台与管理接口149
    7.5.1 admin模块149
    7.5.2 debug模块150
    7.5.3 miner模块151
    7.5.4 personal模块152
    7.5.5 txpool模块153
    7.6 keystore文件153
    7.6.1 keystore文件简介153
    7.6.2 从密钥到密钥文件154
    7.6.3 从密钥到密钥文件流程验155
    第8章 以太坊钱包与浏览器158
    8.1 MetaMask插件158
    8.1.1 MetaMask简介158
    8.1.2 MetaMask安装159
    8.1.3 次使用MetaMask160
    8.1.4 MetaMask的连接配置161
    8.1.5 MetaMask的配置162
    8.1.6 MetaMask账户管理163
    8.1.7 MetaMask交易164
    8.1.8 小结165
    8.2 Ethereum Wallet钱包166
    8.2.1 Ethereum Wallet简介166
    8.2.2 安装Ethereum Wallet与Mist166
    8.. 使用Ethereum Wallet169
    8.3 Mist与Ethereum Wallet170
    8.3.1 Ethereum Wallet与Mist的区别171
    8.3.2 Mist的配置与使用171
    8.3.3 小结172
    8.4 MyEtherWallet网页钱包172
    8.4.1 MyEtherWallet简介173
    8.4.2 MyEtherWallet合约交互174
    8.4.3 MyEtherWallet离线交易175
    8.4.4 MyEtherWallet的功能177
    第3篇 Solidity与智能合约开发
    第9章 Solidity初遇180
    9.1 Solidity简介180
    9.1.1 什么是Solidity180
    9.1.2 智能合约示例181
    9.1.3 Solidity编译版本182
    9.2 Solidity编辑器182
    9.2.1 Sublime编辑器182
    9.2.2 Atom编辑器185
    9.. EA编辑器187
    9.3 Remix编辑器188
    9.3.1 Remix简介188
    9.3.2 Remix文件管理189
    9.3.3 Remix编辑面板与控制台190
    9.3.4 Remix编译与运行面板191
    9.3.5 Remix基本配置面板193
    9.3.6 Remix分析配置面板194
    9.4 Solidity常见概念196
    9.4.1 状态变量196
    9.4.2 局部变量196
    9.4.3 Solidity函数197
    9.4.4 返回多值197
    9.4.5 构造函数198
    9.4.6 异常200
    9.4.7 Solidity注释与文档201
    9.5 Solidity运算符203
    9.5.1 Solidity运算符简介203
    9.5.2 Solidity运算符注意事项204
    9.6 Solidity控制结构205
    9.6.1 控制结构简介205
    9.6.2 判断语句205
    9.6.3 for循环206
    9.6.4 while与do…while循环206
    9.6.5 continue与break207
    9.6.6 三目运算符208
    9.7 可见修饰符209
    9.7.1 public修饰符209
    9.7.2 internal修饰符210
    9.7.3 private修饰符213
    9.7.4 external修饰符214
    9.8 函数修饰符216
    9.8.1 constant修饰符216
    9.8.2 view修饰符217
    9.8.3 pure修饰符217
    0章 Solidity数据类型219
    10.1 数据类型简介219
    10.1.1 值类型219
    10.1.2 引用类型220
    10.1.3 小结221
    10.2 Booleans类型221
    10.2.1 Booleans类型简介221
    10.2.2 Booleans类型支持的运算符221
    10.3 Integers类型2
    10.3.1 Integers类型简介2
    10.3.2 Integers类型支持的运算符224
    10.3.3 Integers整除问题225
    10.4 定点数类型226
    10.4.1 定点数类型简介226
    10.4.2 定点数类型支持的运算符227
    10.5 字面量227
    10.5.1 字符串字面量227
    10.5.2 十六进制字面量229
    10.5.3 有理数字面量0
    10.6 Enum类型1
    10.6.1 枚举类型简介1
    10.6.2 枚举类型实例1
    10.7 mapping类型2
    10.7.1 mapping类型简介2
    10.7.2 mapping类型实例2
    10.8 struct类型
    1章 Solidity数据类型进阶5
    11.1 Solidity固定大小字节数组5
    11.1.1 固定大小字节数组类型5
    11.1.2 固定大小字节数组支持的运算符
    11.1.3 固定大小字节数组的成员
    11.1.4 固定大小字节数组与字符串
    11.1.5 固定大小字节数组之间的转换240
    11.1.6 小结241
    11.2 Solidity动态大小字节数组242
    11.2.1 动态大小字节数组简介242
    11.2.2 创建动态大小字节数组242
    11.. 动态大小字节数组成员243
    11.2.4 字节数组间的转换245
    11.2.5 小结247
    11.3 Solidity数组247
    11.3.1 固定长度数组248
    11.3.2 动态长度数组249
    11.3.3 二维数组250
    11.3.4 小结251
    11.4 以太坊地址类型251
    11.4.1 地址简介252
    11.4.2 transfer、send与balance254
    11.4.3 call、callcode与delegatecall255
    11.5 函数类型257
    11.5.1 函数类型简介258
    11.5.2 函数签名258
    11.5.3 函数类型实例260
    11.6 数据类型转换262
    11.6.1 隐式转换262
    11.6.2 显式转换263
    11.6.3 var关键字264
    11.7 delete运算符265
    11.7.1 delete与常见类型265
    11.7.2 delete与数组266
    11.7.3 delete与mapping267
    11.7.4 delete与struct267
    11.8 本章小结268
    2章 Solidity开发智能合约270
    12.1 智能合约简介270
    12.1.1 智能合约的概念270
    12.1.2 EVM结构与数据271
    12.1.3 智能合约执行271
    12.2 事件与日志简介272
    12.2.1 事件简介272
    12.2.2 事件主题272
    12.. 事件与日志274
    1. Solidity中的单位后缀276
    1..1 以太币单位276
    1..2 时间单位277
    12.4 区块与交易属279
    12.4.1 区块的相关属279
    12.4.2 消息的相关属21
    12.4.3 交易的相关属22
    12.5 错误处理函数283
    12.5.1 assert函数283
    12.5.2 require函数283
    12.5.3 revert函数284
    12.6 数学与Hash函数285
    12.6.1 数学运算函数285
    12.6.2 Hash函数285
    12.6.3 ecrecover函数286
    12.7 ABI编码与编码函数287
    12.7.1 ABI编码简介287
    12.7.2 ABI编码数据类型289
    12.7.3 常见数据类型ABI编码规则290
    12.7.4 复杂类型ABI编码规则292
    12.7.5 ABI编码实例295
    12.8 特殊类型函数296
    12.8.1 回退函数296
    12.8.2 析构函数297
    12.8.3 函数重载298
    12.8.4 使用new创建合约函数调用299
    3章 Solidity开发智能合约进阶303
    13.1 Solidity数据位置303
    13.1.1 什么是数据位置303
    13.1.2 memory简介304
    13.1.3 storage简介304
    13.1.4 calldata简介307
    13.1.5 小结308
    13.2 数据位置与赋值308
    13.2.1 状态变量赋值给局部storage变量308
    13.2.2 状态变量赋值给memory局部变量310
    13.. 局部memory变量赋值给状态变量310
    13.2.4 状态变量赋值状态变量311
    13.2.5 局部memory变量赋值给局部memory变量312
    13.2.6 局部storage变量赋值给局部storage变量313
    13.2.7 局部storage变量赋值给局部memory变量314
    13.2.8 局部storage变量赋值给状态变量315
    13.2.9 小结316
    13.3 函数修改器317
    13.3.1 函数修改器简单实例317
    13.3.2 函数修改器复杂实例319
    13.3.3 小结321
    13.4 合约继承324
    13.4.1 继承简介324
    13.4.2 super关键词327
    13.4.3 抽象合约328
    13.4.4 接口合约328
    13.5 Solidity库329
    13.5.1 Solidity库简介329
    13.5.2 Solidity库应用实例329
    13.5.3 Solidity导入源文件330
    13.5.4 using for语句331
    13.6 Solidity编译333
    13.6.1 solc简介333
    13.6.2 solc编译合约336
    13.6.3 solc导入与库338
    13.6.4 solc.js简介340
    13.6.5 使用solc.js在项目中编译单个合约340
    13.6.6 使用solc.js在项目中编译多个合约342
    13.7 Solidity编码风格344
    13.7.1 命名风格344
    13.7.2 控制结构344
    13.7.3 函数相关风格345
    13.7.4 部分346
    4章 通过web3.js与以太坊客户端进行交互347
    14.1 web3.js简介347
    14.1.1 web3.js概念347
    14.1.2 web3.js原理348
    14.1.3 web3.js模块348
    14.2 web3.js与以太坊节点348
    14.2.1 HTTP方式348
    14.2.2 IPC方式349
    14.. WebSocket方式350
    14.3 web3.js工具的相关方法350
    14.3.1 以太币单位转换方法351
    14.3.2 十六进制、数字与字符串转换351
    14.3.3 填充字符与getStorageAt352
    14.4 web3.js账户的相关方法354
    14.4.1 获取账户与账户余额354
    14.4.2 创建账户355
    14.4.3 解锁账户356
    14.4.4 账户的相关方法356
    14.5 web3.js的ABI编码方法357
    14.5.1 函数签名与事件签名357
    14.5.2 函数单参数编码与解码359
    14.5.3 函数多参数编码与解码360
    14.5.4 编码函数调用360
    14.5.5 解码日志361
    14.6 web3.js合约的相关方法362
    14.6.1 创建与克隆合约362
    14.6.2 合约部署deploy363
    14.6.3 send函数与call函数369
    14.6.4 estimateGas函数与encodeABI函数370
    14.6.5 合约方法的调用370
    14.6.6 合约事件的处理375
    14.7 web3.js交易的相关方法380
    14.7.1 签名简介380
    14.7.2 签名与交易381
    14.7.3 发送交易384
    14.7.4 签名交易与发送签名交易386
    14.7.5 获取交易的相关数据387
    14.8 web3.js和IBAN的相关接口388
    14.8.1 IBAN简介389
    14.8.2 BBAN、IBAN与地址390
    14.8.3 IBAN的方法390
    14.9 web3.js的方法391
    14.9.1 订阅事件391
    14.9.2 网络及ENS的相关方法392
    14.9.3 与Swarm和Whisper交互的方法392
    14.10 与Ethereum相关的JavaScript库393
    14.10.1 BigNumber.js库393
    14.10.2 ethjs-abi库395
    14.10.3 Ethereum库399
    第4篇 项目案例实战
    5章 工程化项目开发利器——Truffle402
    15.1 Truffle简介402
    15.1.1 Truffle的主要功能402
    15.1.2 Truffle的安装及其相关命令403
    15.2 Truffle创建项目404
    15.2.1 init命令405
    15.2.2 unbox命令406
    15.3 通过Truffle编译项目408
    15.3.1 前置条件与编译408
    15.3.2 Truffle编译输出409
    15.3.3 Truffle编译依赖410
    15.4 Truffle配置文件411
    15.4.1 网络配置411
    15.4.2 输出目录配置412
    15.4.3 测试配置413
    15.4.4 编译配置413
    15.4.5 包管理相关配置414
    15.5 Truffle单元测试与部署415
    15.5.1 使用JavaScript测试415
    15.5.2 JavaScript测试交易417
    15.5.3 使用Solidity测试419
    15.5.4 合约部署419
    15.6 Truffle的命令420
    15.6.1 create命令420
    15.6.2 包管理相关命令421
    15.6.3 命令421
    6章 项目流程与众筹实战案例4
    16.1 合约部分4
    16.1.1 项目简介4
    16.1.2 初始化与合约目录424
    16.1.3 部署与测试脚本目录424
    16.2 众筹合约425
    16.2.1 Owned合约425
    16.2.2 SafeMath合约426
    16.. Crowd合约427
    16.3 合约的部署与使用429
    16.3.1 本地部署与测试环境搭建429
    16.3.2 本地部署与测试网络配置429
    16.3.3 本地部署430
    16.3.4 本地测试430
    16.3.5 Ropsten网络测试部署431
    16.4 项目的Web部分432
    16.4.1 初始化Web项目432
    16.4.2 webpack配置432
    16.4.3 package.json配置433
    16.4.4 运行Web项目434
    7章 以太坊代币标准与ERC20代币案例437
    17.1 代币简介437
    17.1.1 ERC20简介437
    17.1.2 ERC2简介438
    17.1.3 ERC721简介438
    17.2 ERC20标准接口简介438
    17.2.1 基本信息439
    17.2.2 总额与余额439
    17.. 转账与授权439
    17.2.4 事件440
    17.3 ERC20代币实例440
    17.3.1 查看以太坊上已有的Token440
    17.3.2 创建Token441
    17.3.3 查看和转移Token443
    17.4 扩展ERC20标准代币448
    17.4.1 销毁代币448
    17.4.2 添加Token449
    17.4.3 冻结与解冻账户449
    17.4.4 买卖Token450
    17.4.5 小结451
    17.5 ERC20代币扩展实例451
    17.5.1 初始化项目451
    17.5.2 添加三方库合约452
    17.5.3 代币合约的逻辑实现460
    17.5.4 代币合约的部署465

    唐盛彬,就职于靠前靠前的手机游戏平台当乐网(d.cn),主要负责当乐游戏中心App平台的SDK及区块链游戏众筹平台DGIIO的智能合约开发工作。熟悉以太坊,对以太坊底层原理和相关协议有较为深入的研究;熟悉以太坊智能合约开发的核心技术与常用工具,如Solidity语言、web3.js、Truffle和Geth等;对使用Solidity语言进行以太坊智能合约开发有丰富的实战经验,特别是在众筹和代币开发等相关领域。

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购