Commit f92badb 1 parent d2b61de commit f92badb Copy full SHA for f92badb
File tree 1 file changed +23
-0
lines changed
1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -119,6 +119,29 @@ modifier demo() {
119
119
接口不能定义构造函数;
120
120
接口不能定义状态变量;
121
121
122
+ ### 07.16
123
+ - 今日学习时间:7.16 8 p.m.--10 p.m.
124
+ - 学习内容小结:Solidity 语法复习 +ether.js了解
125
+ #### receive
126
+ 用于合约接受ether,必须为` external ` 和` payable ` 属性。
127
+ receive属于solidity默认的逻辑。
128
+ receive不接受任何参数传入,且没有返回值。如果有参数传入,则会调用fallback函数。
129
+ * 如果合约中既没有receive(),又没有fallback(),向合约中传入ether则会显示交易失败。*
130
+ ` receive() external payable{} `
131
+ #### fallback
132
+ fallback函数会在三种情况下被调用:
133
+ 1 . 调用者尝试调用一个合约中不存在的函数时
134
+ 2 . 用户给合约发Ether但是receive函数不存在
135
+ 3 . 用户发Ether,receive存在,但是同时用户还发了别的数据(msg.data不为空)
136
+ ` fallback()external{} `
137
+ #### 数据编码
138
+ ` abi.encode(data) ` ,将数据编码为字节码,以规范编程。data的数据类型可以为string,uint256等等
139
+ ` abi.decode(data,(uint256...)) ` ,解码,data为要解码的数据,后面为要解码成的数据类型,可以解码为多种数据类型。
140
+ ` abi.encodePacked(data) ` ,这是一个与 abi.encode 类似但有所不同的全局函数。它也用于将参数编码为符合 ABI 标准的字节数组,但不会为每个参数添加其类型的长度信息,也不会在参数之间添加分隔符,结果是一个紧密打包的字节数组.
141
+ #### FAQ
142
+ > 什么是ethers.js
143
+ Ethers.js 是一个使用Typescript编写的库,用于构建去中心化应用程序(DApps)的前端,或者与以太坊网络进行交互。它抽象了许多复杂性,使开发人员能够简单直观地构建DApp。
144
+
122
145
### 07.17
123
146
124
147
XXX
You can’t perform that action at this time.
0 commit comments