×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787302595847
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:211
  • 出版时间:2022-03-01
  • 条形码:9787302595847 ; 978-7-302-59584-7

本书特色

本书以教育部区块链智能合约开发职业技能等级标准(中级)为编写依据,针对智能合约技术与开发的技能要求和知识要求,从行业的实际需求出发组织全部内容。通过本书,读者可以掌握如何使用智能合约的基本技术来开发基于Solidity语言的智能合约。通过对相关知识的学习和应用,读者可以理解智能合约技术的原理、培养智能合约开发的技能,为今后开发大型区块链智能合约应用奠定扎实的理论与技术基础,为适应未来的工作岗位提供保障。 推进“1+X”区块链智能合约开发课证融通区块链智能合约开发职业技能等级考试指定教材

内容简介

本书是区块链智能合约开发中级教材的上册,主要介绍了智能合约平台部署和智能合约开发环境搭建,Solidity编程等相关知识。全书共分8章,内容包括区块链智能合约开发概述、智能合约平台、智能合约开发测试与部署、Solidity编程基础、Solidity不错编程、Solidity合约与实例、智能合约安全、以太坊虚拟机。本书可用于“1+X”证书制度试点工作中的区块链智能合约开发职业技能等级证书教学和培训,也适合作为应用型本科、职业院校、技师学院的教材,同时也适合作为从事区块链智能合约开发的技术人员的参考用书。

目录

第1章智能合约原理


1.1智能合约的定义


1.2为什么需要智能合约


1.3智能合约的技术实现


1.4智能合约的模型


1.5智能合约的运行机制


第2章智能合约平台


2.1以太坊概述


2.2以太坊架构


2.3智能合约


2.4账户


2.5账户状态


2.6以太坊虚拟机


2.7gas


2.8以太坊交易


2.8.1价值传递


2.8.2创建智能合约


2.8.3调用合约方法


2.9区块


2.10以太坊客户端


2.10.1geth安装


2.10.2geth使用


2.11以太坊钱包


2.12以太坊网络


2.12.1主网网络


2.12.2测试网络


2.12.3私有网络、开发者模式


2.12.4模拟区块链网络


2.12.5以太坊货币单位


2.13以太坊历史回顾


2.13.1奥林匹克


2.13.2边疆


2.13.3家园


2.13.4DAO分叉


2.13.5拜占庭


2.13.6君士坦丁堡


2.13.7伊斯坦布尔


2.13.8以太坊2.0












第3章智能合约的开发、测试与部署


3.1什么是智能合约


3.2Remix


3.2.1基础模块


3.2.2典型模块


3.2.3单元测试


第4章Solidity编程基础


4.1Solidity中的变量


4.1.1状态变量


4.1.2局部变量


4.1.3全局变量


4.1.4Solidity变量名


4.2Solidity数据类型


4.2.1值类型


4.2.2引用类型


4.2.3类型转换


4.3函数调用


4.3.1参数


4.3.2返回值


4.3.3函数可见性


4.3.4状态可变性(mutability)


4.4变量的作用域


4.5控制结构


4.6合约


4.6.1可见性


4.6.2构造函数


4.6.3使用new创建合约


4.6.4constant状态常量


4.6.5immutable不可变量


4.6.6view()函数


4.6.7pure()函数


4.6.8getter()函数


4.6.9receive()函数


4.6.10fallback()函数


4.6.11函数修改器


4.6.12函数重载


4.6.13事件


4.7错误处理及异常


4.7.1错误处理函数


4.7.2require()还是assert()


4.7.3try/catch


4.8Solidity全局变量及API


4.8.1区块和交易属性API


4.8.2ABI编码及解码函数API


4.8.3数学和密码学函数API


第5章Solidity高级编程


5.1合约继承


5.1.1多重继承


5.1.2父合约构造函数


5.1.3抽象合约


5.1.4函数重写


5.2接口


5.3库


5.3.1内嵌库


5.3.2链接库


5.3.3using for


5.4应用程序二进制接口


5.4.1ABI编码


5.4.2函数选择器


5.4.3参数编码


5.4.4通过ABI编码调用函数


5.4.5ABI接口描述


5.5gas优化


5.5.1变量打包


5.5.2选择适合的数据类型


5.5.3内存和存储


5.5.4减少存储


5.5.5其他建议


5.6使用内联汇编


5.6.1汇编基础概念


5.6.2Solidity中引入汇编


5.6.3汇编变量定义与赋值


5.6.4汇编中的块和作用域


5.6.5汇编中访问变量


5.6.6for循环


5.6.7if判断语句


5.6.8汇编switch语句


5.6.9汇编函数


5.6.10元组


5.6.11汇编缺点


第6章Solidity合约


6.1OpenZeppelin


6.2SafeMath安全算数运算


6.3地址工具


6.4ERC165接口实现


6.5ERC20代币


6.5.1标准ERC20实现


6.5.2WETH实现


6.6ERC777功能型代币


6.6.1ERC1820接口注册表


6.6.2ERC777标准


6.6.3ERC777实现


6.6.4实现Hook函数


6.7ERC721


6.7.1ERC721代币规范


6.7.2ERC721实现


第7章智能合约的安全性


7.1安全事件


7.2安全原则


7.3已知的经典漏洞攻击方法


7.3.1重入攻击


7.3.2算术溢出


7.3.3delegatecall导致意外代码的执行


7.3.4未检查返回值


7.3.5拒绝服务


7.3.6错误命名构造函数


7.4总结


第8章以太坊虚拟机


8.1什么是以太坊虚拟机


8.1.1概述


8.1.2账号


8.1.3交易


8.1.4gas


8.1.5存储、主存和栈


8.1.6指令集


8.1.7消息调用


8.1.8代理调用/代码调用和库


8.1.9日志


8.1.10创建合约


8.1.11移除合约


8.2EVM工作原理


8.2.1EVM解释执行流程


8.2.2创建合约流程


8.2.3调用合约流程


8.2.4Solidity编译为EVM字节码


8.3EVM指令集


8.3.1算术运算指令


8.3.2位移运算指令


8.3.3比较操作指令


8.4gas


8.4.1执行阶段的gas计量


8.4.2gas计量原则


8.4.3gas消耗和gas价格


8.4.4区块的gas限制


8.5WASM拓展


8.5.1什么是WASM


8.5.2WASM的特点


8.5.3WASM的优势


8.5.4WASM有哪些对开发者友好的特点


8.5.5WASM在大型项目中的应用


参考文献


展开全部

作者简介

江海,男。现任江西软件职业技术大学区块链学院副院长,软件研发资深专家。曾参与“基于国产基础软件的政务信息化领域平台研发与应用”,获江西省科学技术进步奖;2015年至今任先锋软件集团应用技术研究院副院长,长期从事区块链技术研发。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航