首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主体必须只包含状态可变标签: Vyper

主体必须只包含状态可变标签: Vyper
EN

Ethereum用户
提问于 2022-06-07 15:30:39
回答 1查看 45关注 0票数 1

我正在制作一个界面:

代码语言:javascript
复制
interface IAggregatorV3:
    @view
    @external
    def decimals() -> uint8:
        pass

但是,我得到了这个编译错误:

代码语言:javascript
复制
Body must only contain state mutability label

到底怎么回事?

EN

回答 1

Ethereum用户

回答已采纳

发布于 2022-06-07 18:24:24

消息错误是说,函数的主体必须只包含状态可变标签,例如:passpure.

尝试以下操作(基于文档的示例):

代码语言:javascript
复制
interface IAggregatorV3:
    def decimals() -> uint8: view
        
@external
def test(some_address: address):
    IAggregatorV3(some_address).decimals() 

独立接口(删除interface IAggregatorV3)

代码语言:javascript
复制
@external
@view
def decimals() -> uint8:
    pass

此外,接口定义不需要external可见性类型,因为接口可以用于进行外部调用。在Vyper 这里中声明和使用接口。

更多关于Vyper 这里中易变性的信息。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/129755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档