File tree Expand file tree Collapse file tree 1 file changed +34
-7
lines changed Expand file tree Collapse file tree 1 file changed +34
-7
lines changed Original file line number Diff line number Diff line change 55
55
56
56
## 笔记证明 Notes Proof
57
57
<!-- Content_START -->
58
- ### 07.14
59
- - 今日学习时间:7.14 9 a.m--12 a.m
58
+ ### 07.13
59
+ - 今日学习时间:7.13 9 a.m--12 a.m
60
60
- 学习内容小结:` solidity ` 语法回顾
61
61
` require ` 语句的用法
62
62
` msg.sender&&t.orign ` 的区别(` msg.sender ` 指的是函数的调用者,` tx.orign ` 指的是合约总的发起人,一般是钱包地址)
63
63
` mapping ` 的用法,包括赋值、查询、删除语句
64
64
` 引用类型 ` :对于已分配好的引用类型,对原有值的改变* 不会* 影响现有值
65
65
` 字符串 ` :string.concat--字符串连接,bytes().length--获取字符串长度
66
66
复习了常见的控制流语句
67
- ### 07.15
68
- - 今日学习时间:7.15 2 p.m--5 p.m
67
+ ### 07.14
68
+ - 今日学习时间:7.14 2 p.m--5 p.m
69
69
- 学习内容小结:` Uniswap V2 ` 概念学习
70
70
71
71
* Flash Swap*
88
88
> 流动性代币的数量与交易池中的总价值成比例。例如,如果用户提供了流动性池10%的代币,他们将获得总流动性代币的10%。
89
89
* 首次铸币攻击*
90
90
> 首次铸币攻击是指攻击者在第一次添加流动性时存入最小单位(10的-18次方,即1 wei)的流动性,比如1 wei ABC和1 wei XYZ,此时将铸造1 wei 流动性代币(根号1,二者乘积的算数平方根);同时,攻击者在同一个交易中继续向池子转入(非铸造)100万个ABC和100万个XYZ,接着调用 sync()方法更新缓存余额,此时1 wei的流动性代币价值100万+(10的-18次方)ABC和100万+(10的-18次方)XYZ。因为这是交易的最小单位,其他流动性参与者要想添加流动性,需要等价的大量代币,其价格可能高到大部分人无法参与。
91
- ### 07.16
92
-
93
- XXX
91
+ ### 07.15
92
+ - 今日学习时间:7.15 9 a.m.--2 p.m.
93
+ - 学习内容小结:Solidity 语法复习
94
+ ##### ` try-catch ` 语法
95
+ ##### ` library ` 库函数用法
96
+ > 库函数属性无论为` internal ` 还是` public ` ,都可以被合约所调用。调用` internal ` 属性的函数,等同于调用合约内部的` internal ` 属性的函数,无需额外的` gas ` 消耗;而调用` public ` 属性的函数则等同于合约` public ` 函数的调用,会产生额外的合约调用开销。
97
+ 使用` using for ` ,可将库函数作为成员变量赋值给类型,例如,` using Math for uint256 ` 表示之后,` uint256 ` 类型的数据可以直接调用` Math ` 库中的函数,并将自身作为第一个参数。
98
+
99
+ ##### Override&&Virtual
100
+ > 只有被` Virtual ` 定义的函数,才能被重写。重写的函数必须保证参数列表和返回值类型一致。这包括参数的顺序、类型和名称。
101
+ 重写需要有` override ` 属性
102
+ #### FAQ
103
+ > 枚举能和整型进行类型转换吗?
104
+ 枚举类型可以与整数进行显式转换,但不能进行隐式转换。
105
+
106
+ ``` solidity
107
+ //修饰符的语法结构
108
+ modifier demo() {
109
+ ... // 函数执行前执行的代码
110
+ _; // 执行被修饰的函数
111
+ ... // 函数执行结束后执行的代码
112
+ }
113
+ ```
114
+
115
+ > 接口有哪些特性
116
+ 接口不能实现任何函数;
117
+ 接口无法继承其它合约,但可以继承其它接口;
118
+ 接口中的所有函数声明必须是` external ` 的;
119
+ 接口不能定义构造函数;
120
+ 接口不能定义状态变量;
94
121
95
122
### 07.17
96
123
You can’t perform that action at this time.
0 commit comments