由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高99元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
醉染图书以太坊Solidity智能合约开发9787111646426
¥ ×1
前言
章以太坊简介1
1.1以太坊1
1.1.1不对称加密体系2
1.1.2密码学哈希函数4
1.1.3对称点对点网络4
1.1.4区块链4
1.1.5以太坊虚拟机5
1.1.6节点5
1.1.7矿工5
1.1.8工作量明6
1.1.9去中心化应用6
1.1.10Solidity6
1.2智能合约6
1.3燃料7
1.3.1为什么需要燃料?8
1.3.2燃料组成8
1.4ether9
1.5账户9
1.6交易10
第2章预备知识11
2.1简单的例子11
2.2工具准备12
2.2.1编程环境准备12
2.2.2编程工具准备16
2..区块链浏览器26
.测试环境26
..1MetaMask访问测试环境27
..2测试环境领取测试用币27
..开发时连接测试环境28
2.4以太坊源码编译29
第3章Solidity编程基础31
3.1sol文件结构31
3.1.1编译开关31
3.1.2引用源文件31
3.1.3注释31
3.1.4合约32
3.1.5库32
3.1.6接口33
3.2合约文件结构33
3.3变量类型33
3.3.1值类型34
3.3.2引用类型35
3.3.3字典/映37
3.3.4特殊情况37
3.4操作符38
3.5语句39
3.5.1条件语句39
3.5.2循环语句40
3.5.340
3.6修饰符40
3.6.1标准修饰符40
3.6.2自定义修饰符44
3.7数据位置46
3.8事件47
3.8.1智能合约返回值给用户接口48
3.8.2异步的带数据的触发器49
3.8.3一种比较便宜的存储49
3.8.4事件里的Indexed参数50
3.9继承51
3.9.1单继承51
3.9.2多重继承51
3.1052
3.10.1内置52
3.10.2特殊单位54
3.10.3类型转换及推断55
3.10.4异常56
3.10.5汇编56
第4章Solidity编程的不错话题59
4.1This关键字59
4.2ERC20标准接口59
4.2.1方法61
4.2.2事件62
4..OpenZepplin框架62
4.3ERC721标准接口63
4.3.1ERC721接口定义63
4.3.2元数据扩展75
4.3.3可枚举扩展77
4.3.4ERC165标准81
4.4合约间调用82
4.4.1函数调用82
4.4.2依赖注入84
4.4.3消息调用84
4.4.4获取合约间调用的返回值88
4.5基础算法90
4.6用Go与合约交互93
4.6.1创建项目93
4.6.2创建一个简单的以太坊合约93
4.6.3用Go访问以太坊合约94
4.6.4本地测试94
4.6.5连接到一个以太坊节点98
4.6.6为账户创建加密的JSON钥匙98
4.6.7验98
第5章ABI接口102
5.1内存结构102
5.2函数选择子102
5.3类型的定义102
5.4EVM里的数据表示103
5.4.1固定长度数据类型的表示104
5.4.2动态长度数据类型的表示105
5.5编码108
5.5.1简单的例子108
5.5.2外部调用例子109
5.5.3外部方法调用的ABI编码112
5.6基于ABI的编程116
第6章智能合约运行原理118
6.1设计模式118
6.1.1合约自毁118
6.1.2工厂合约模式119
6.1.3名字登录120
6.1.4映迭代121
6.1.5撤出模式122
6.2省燃料122
6.2.1注意数据类型1
6.2.2以字节编码的形式存储值1
6..利用SOLC编译器压缩变量1
6.2.4使用汇编代码压缩变量124
6.2.5合并函数参数125
6.2.6使用树明减少存储成本125
6.2.7无状态的合约127
6.2.8在IPFS上存储数据127
6.2.9位压缩127
6.2.10批处理128
6.2.11Storage结构类型读写分离129
6.2.12uint256和直接内存存储130
6.2.13汇编代码优化130
6.3汇编代码130
6.3.1栈131
6.3.2调用数据131
6.3.3内存132
6.3.4存储133
6.4解构智能合约134
6.4.1合约创建138
6.4.2合约本体通用部分141
6.4.3合约本体定代145
第7章可升级的合约147
7.1方法147
7.1.1代理合约147
7.1.2分离逻辑和数据147
7.1.3通过键值对来分离数据和逻辑147
7.1.4部分升级148
7.1.5比较148
7.1.6简单的代理合约例子148
7.2通用的代理模式150
7.3Storage154
7.3.1继承存储154
7.3.2较为存储154
7.3.3非结构化存储155
7.4Augur156
7.4.1合约部署156
7.4.2存储部署157
7.5Colony158
7.5.1存储部署158
7.5.2合约部署159
7.6总结159
第8章编写安全的合约161
8.1以太坊已知常见漏洞161
8.1.1上溢和下溢161
8.1.2Solidity可见修饰符的差别165
8.1.3重入问题166
8.1.4出乎意料的ether操作170
8.1.5代理调用174
8.1.6默认可见修饰符178
8.1.7熵随机源180
8.1.8外部合约引用180
8.1.9短地址/参数攻击184
8.1.10未验的CALL返回值185
8.1.11竞争条件186
8.1.12阻塞攻击188
8.1.13操纵块时间戳190
8.1.14谨慎使用构造函数191
8.1.15未初始化的存储指针192
8.1.16浮点数精度193
8.1.17交易授权194
8.2以太坊一些奇怪的特195
8.2.1没有Key的ether195
8.2.2一次地址197
8..一个交易的空投197
8.3以太坊智能合约——很好安全开发指南198
8.3.1尽早且明确的暴露问题198
8.3.2在支付时使用(pull)模式而不是(push)模式199
8.3.3函数代码的顺序:条件,行为,交互200
8.3.4留意平台局限201
8.3.5测试用例203
8.3.6容错及自动bug奖励203
……
第9章DApp开发
0章调试
参考文献
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格
