hhstore / blog

My Tech Blog: about Mojo / Rust / Golang / Python / Kotlin / Flutter / VueJS / Blockchain etc.
https://github.com/hhstore/blog/issues
294 stars 24 forks source link

ETH: Solidity #339

Open hhstore opened 2 years ago

hhstore commented 2 years ago

related:

hhstore commented 2 years ago

Solidity 核心语法点:

构造函数:

函数重写(Overriding)


父合约标记为 virtual 函数可以在继承合约里重写(overridden)以更改他们的行为。重写的函数需要使用关键字 override 修饰。

重写函数只能将覆盖函数的可见性从 external 更改为 public 。

可变性可以按照以下顺序更改为更严格的一种: nonpayable 可以被 view 和 pure 覆盖。 view 可以被 pure 覆盖。 payable 是一个例外,不能更改为任何其他可变性。

对于多重继承,如果有多个父合约有相同定义的函数, override 关键字后必须指定所有父合约名。

如果函数没有标记为 virtual , 那么派生合约将不能更改函数的行为(即不能重写)。

fallback:

hhstore commented 2 years ago

View 视图函数:

events:

cheatsheet:

全局变量:

函数可见性:

image

hhstore commented 2 years ago

基本用例:

withdraw:

合约编写漏洞:

重入攻击:

tx-origin:

hhstore commented 2 years ago

1

hhstore commented 2 years ago

1

hhstore commented 2 years ago

1