您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
以太坊Solidity智能合约开发
字数: 417000
装帧: 平装
出版社: 机械工业出版社
作者: 嘉文,管健,李万胜
出版日期: 2020-03-01
商品条码: 9787111646426
版次: 1
开本: 16开
页数: 259
出版年份: 2020
定价:
¥59
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
内容简介
本书从零开始介绍Solidity程序开发,从Solidity语言中基础的关键字和语句开始介绍,逐步深入到高级应用,包括设计模式、合约可升级的设计、合约的安全性问题及对策等,并结合EVM的实现,讨论Solidity语句的汇编实现;对一些原理的讲解,提供了相对应的实例,以期更易于理解原理的实现机理;同时,对Solidity应用于DApp开发,及使用区块链上的去中心化存储(IPFS)也有详细的介绍。本书可作为对区块链感兴趣的程序开发人员、高校师生等的参考书,也可作为相关课程的培训教材。
目录
前言
第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.2.3区块链浏览器26
2.3测试环境26
2.3.1MetaMask访问测试环境27
2.3.2测试环境领取测试用币27
2.3.3开发时连接测试环境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.3其他40
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.10其他52
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.2.3OpenZepplin框架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注意数据类型123
6.2.2以字节编码的形式存储值123
6.2.3利用SOLC编译器压缩变量123
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.2.3一个交易的空投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开发
第10章调试
参考文献
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网