Skip to content

Commit 53b4c52

Browse files
committed
bugmaker update 7.15
1 parent c755132 commit 53b4c52

File tree

1 file changed

+34
-7
lines changed

1 file changed

+34
-7
lines changed

Bugmaker_WICL1st .md

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,17 @@
5555

5656
## 笔记证明 Notes Proof
5757
<!-- 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
6060
- 学习内容小结:`solidity`语法回顾
6161
`require`语句的用法
6262
`msg.sender&&t.orign`的区别(`msg.sender`指的是函数的调用者,`tx.orign`指的是合约总的发起人,一般是钱包地址)
6363
`mapping`的用法,包括赋值、查询、删除语句
6464
`引用类型`:对于已分配好的引用类型,对原有值的改变*不会*影响现有值
6565
`字符串`:string.concat--字符串连接,bytes().length--获取字符串长度
6666
复习了常见的控制流语句
67-
### 07.15
68-
- 今日学习时间:7.15 2 p.m--5 p.m
67+
### 07.14
68+
- 今日学习时间:7.14 2 p.m--5 p.m
6969
- 学习内容小结:`Uniswap V2`概念学习
7070

7171
*Flash Swap*
@@ -88,9 +88,36 @@
8888
>流动性代币的数量与交易池中的总价值成比例。例如,如果用户提供了流动性池10%的代币,他们将获得总流动性代币的10%。
8989
*首次铸币攻击*
9090
>首次铸币攻击是指攻击者在第一次添加流动性时存入最小单位(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+
接口不能定义状态变量;
94121

95122
### 07.17
96123

0 commit comments

Comments
 (0)