Cover image
Blog icon0x77
Feb 19

WTF Vyper教程: 3. Function

Vyper 中的函数是合约内可执行的代码单元,只能在合约的模块范围内声明。所有的合约方法必须要声明函数是外部函数(external)还是内部函数(internal),如果不声明编译会失败.函数类型参考函数的类型是通过添加装饰器的方式来完成,Vyper 中总共有 6 种装饰器,我们将它分为 3 类:可见性、可变性和重入锁。可见性external: 用于标识外部函数,这类函数是合约接口的一部分,只能通过交易或从其他合约调用 ​internal: 用于标识内部函数,内部函数只由同一合约内的其他函数中可访问,通常通过 self.f() 对象调用, f()为方法名 ​可变性view: 表示函数是一个只读函数,可以读取但不修改合约状态pure: 表示函数是一个pure函数,既不会读取也不修改合约状态payable: 表示函数可以接收 ETH,可以读写合约状态. 只有标记为 @payable 的函数才能接收 ETH 转账重入锁nonreentrant("key"): 用于防止函数的重入,当尝试从外部合约再次调用加锁的函数时,交易会回滚函数基本结构一个基本的函数定义包括函数名、参数列表(可选)和...

0x77

Written by
0x77

Do more

Subscribe

2025 Paragraph Technologies Inc

PopularTrendingPrivacyTermsHome
Search...Ctrl+K

0x77

Subscribe