搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
区块链智能合约安全入门
0.00     定价 ¥ 79.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787121447563
  • 作      者:
    作者:天融信科技集团//余泽平//张贺勋//吴泽江//陈远平等|责编:雷洪勤
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2024-08-01
收藏
畅销推荐
内容介绍
本书介绍Solidity、web3基础和漏洞原理的相关内容,第一部分介绍了Remix IDE、MetaMask及geth等环境的安装和使用方法;第二部分介绍了Solidity语言的基础知识与基本语法,以及web3的使用方法;第三部分介绍了智能合约常见漏洞的基本原理及其攻击方式,同时还增加了Ethernaut通关游戏的部分内容,使读者对漏洞原理有更深入的理解。 本书内容通俗易懂,并配合多种案例,本书可作为区块链安全的培训教材。
展开
目录
第0章 初探区块链与智能合约
关于区块链
区块链定义
区块链技术
区块链层级结构
区块链的优点
关于智能合约
以太坊
第1章 环境准备
1.1 使用npm安装Remix IDE
1.2 使用docker安装Remix IDE
1.3 使用docker安装geth
1.4 本章总结
第2章 Remix环境介绍和使用方法
2.1 Remix环境的使用方法1
部署学习
2.2 Remix环境的使用方法2
2.2.1 部署学习
2.2.2 构造函数
2.2.3 初始化合约余额
2.3 Remix环境的使用方法3
Remix搭配MetaMask
2.4 本章总结
第3章 MetaMask的使用方法
3.1 安装MetaMask
3.2 获取测试币
3.3 MetaMask Api的使用方法
3.4 本章总结
第4章 geth的使用方法
4.1 geth基础命令
子命令的使用方法
4.2 console的基础命令
4.2.1 console中web3对象的命令
4.2.2 console中的挖矿
4.3 geth启动节点
4.3.1 启动节点
4.3.2 测试节点
4.3.3 启动参数说明
4.3.4 关于RPC
4.3.5 连接节点
4.3.6 新建用户
4.3.7 开始挖矿
4.3.8 测试转账
4.4 部署智能合约1
4.4.1 使用容器提供例子
4.4.2 重新编译
4.5 调用智能合约1
4.6 geth从头搭建私链
4.6.1 创建目录
4.6.2 启动私链节点
4.7 部署智能合约2
4.8 调用智能合约2
4.9 geth的新版本
4.10 本章总结
第5章 Solidity语言基础
5.1 创建合约
5.2 合约接口
5.3 变量类型
5.4 变量修饰
5.5 类型转换
5.6 数学运算
5.7 字符串比较
5.8 结构体
5.9 普通数组
5.10 函数定义及修饰
5.11 构造函数
5.12 函数返回值
5.13 自毁函数
5.14 fallback函数
5.15 receive函数
5.16 msg全局变量和tx全局变量
5.16.1 msg全局变量
5.16.2 tx全局变量
5.17 创建事件
5.18 循环结构
5.19 以太币单位
5.20 转账函数
5.21 本章总结
第6章 Solidity数据存储
6.1 存储中的状态变量存储结构
6.2 紧凑存储
6.3 动态大小数据存储
6.3.1 动态String
6.3.2 关于length*2问题
6.4 动态数组存储
6.5 字典mapping存储
6.6 本章总结
第7章 web3.js和web3.py
7.1 web3.js
7.2 web3.js配合MetaMask使用
7.2.1 异步请求方式1
7.2.2 异步请求方式2
7.2.3 异步请求方式3
7.3 常用函数
7.3.1 hash函数
7.3.2 与地址相关
7.3.3 单位转换
7.3.4 字符串转换
7.3.5 账户和余额
7.3.6 获取插槽数据
7.3.7 获取区块信息
7.3.8 获取交易信息
7.3.9 交易签名和发送
7.3.10 ABI签名和编码
7.4 web3.js连接节点
7.5 web3.js部署合约
7.6 web3.js合约交互
7.6.1 实例化合约对象
7.6.2 web3.js call调用
7.6.3 web3.js send调用
7.7 web3.py
7.8 web3.py部署合约
7.9 web3.py合约交互
7.10 本章总结
第8章 利用漏洞
8.1 关于call函数
8.1.1 函数选择器(函数签名)
8.1.2 call函数无参数调用
8.1.3 call函数有参数调用
8.1.4 call函数调用其他合约
8.2 漏洞场景
8.3 代码分析
8.4 漏洞复现
8.5 本章总结
第9章 重入漏洞
9.1 关于重入漏洞
9.2 关于fallback函数
9.3 攻击场景
9.4 漏洞场景
9.5 攻击演示
9.6 本章总结
第10章 整型溢出漏洞
10.1 溢出原理
10.2 溢出场景
10.2.1 加法溢出
10.2.2 减法溢出
10.3 案例分析
10.3.1 BEC合约代码片段
10.3.2 代码分析
10.4 攻击模拟
10.5 本章总结
第11章 访问控制漏洞
11.1 关于访问控制漏洞
11.1.1 代码层面的可见性
11.1.2 逻辑层面的权限约束
11.2 漏洞场景1
11.2.1 漏洞场景分析
11.2.2 漏洞场景演示
11.2.3 规避建议
11.3 漏洞场景2
11.3.1 漏洞场景分析
11.3.2 漏洞场景演示
11.3.3 规避建议
11.4 漏洞场景3
11.4.1 tx.origin全局变量和msg.sender全局变量
11.4.2 漏洞场景分析
11.4.3 漏洞场景演示
11.4.4 规避建议
11.5 本章总结
第12章 未检查返回值
12.1 低级别调用函数
12.2 低级别调用中产生异常的原因
12.3 低级别函数与普通函数调用的区别
12.4 漏洞场景
12.4.1 关于send函数
12.4.2 漏洞场景分析
12.4.3 漏洞场景演示
12.5 真实案例
12.6 漏洞预防
第13章 可预测随机值
13.1 随机数生成
13.1.1 区块变量作为熵源的PRNG
13.1.2 区块变量测试
13.2 漏洞场景
13.2.1 漏洞场景分析
13.2.2 漏
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证