Solidity 0.6.11 更新

栏目: IT技术 · 发布时间: 5年前

内容简介:Solidity 0.6.11 更新本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

Solidity 0.6.11 更新

Solidity 0.6.11 更新:

Solidity v0.6.11 adds inheritance to NatSpec comments, improves debugging data output and fixes some minor issues with opening up calldata for non-external functions.

Notable New Features

NatSpec Inheritance and on Events

NatSpec comments are a way to describe the behaviour of a function to end-users. It also allows to provide more detailed information to developers.

One regular use-case is that you document the behaviour of an interface and then implement the interface in a derived contract. Previously, you had to repeat the documentation in the derived contract. This is now obsolete: The compiler will automatically inherit the documentation of the base function if the derived function does not provide any NatSpec tag.

If you provide any of the tags ( @param , @dev , …), then nothing will be inherited. The next release will provide a feature to explicitly inherit from a certain base also in that case, so stay tuned!

Furhermore, NatSpec is now supported on events.

// SPDX-License-Identifier: MIT
pragma solidity ^0.6.11;
interface Gathering {
  /// The address `participant` just registered for the gathering.
  event Registered(address participant);

  /// Registers `msg.sender` to take part in the gathering.
  function register() external;
}

contract MyGathering is Gathering {
  mapping(address => bool) public participants;

  function register() public override {
    participants[msg.sender] = true;
    emit Registered(msg.sender);
  }
}

The derived contract MyGathering in the example code above will produce the following userdoc:

{
    "events": {
        "Registered(address)": {
            "notice": "The address `participant` just registered for the gathering."
        }
    },
    "kind": "user",
    "methods": {
        "register()": {
            "notice": "Registers `msg.sender` to take part in the gathering."
        }
    },
    "version": 1
}

Unit Denomination gwei

You can now use gwei as a unit denomination alongside wei , szabo , finney and ether :

reqire(msg.value >= 10 gwei);

Solidity 0.6.11 更新:

Solidity v0.6.11 adds inheritance to NatSpec comments, improves debugging data output and fixes some minor issues with opening up calldata for non-external functions.

Notable New Features

NatSpec Inheritance and on Events

NatSpec comments are a way to describe the behaviour of a function to end-users. It also allows to provide more detailed information to developers.

One regular use-case is that you document the behaviour of an interface and then implement the interface in a derived contract. Previously, you had to repeat the documentation in the derived contract. This is now obsolete: The compiler will automatically inherit the documentation of the base function if the derived function does not provide any NatSpec tag.

If you provide any of the tags ( @param , @dev , …), then nothing will be inherited. The next release will provide a feature to explicitly inherit from a certain base also in that case, so stay tuned!

Furhermore, NatSpec is now supported on events.

// SPDX-License-Identifier: MIT
pragma solidity ^0.6.11;
interface Gathering {
  /// The address `participant` just registered for the gathering.
  event Registered(address participant);

  /// Registers `msg.sender` to take part in the gathering.
  function register() external;
}

contract MyGathering is Gathering {
  mapping(address => bool) public participants;

  function register() public override {
    participants[msg.sender] = true;
    emit Registered(msg.sender);
  }
}

The derived contract MyGathering in the example code above will produce the following userdoc:

{
    "events": {
        "Registered(address)": {
            "notice": "The address `participant` just registered for the gathering."
        }
    },
    "kind": "user",
    "methods": {
        "register()": {
            "notice": "Registers `msg.sender` to take part in the gathering."
        }
    },
    "version": 1
}

Unit Denomination gwei

You can now use gwei as a unit denomination alongside wei , szabo , finney and ether :

reqire(msg.value >= 10 gwei);

本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

  • 发表于 24分钟前
  • 阅读 ( 12 )
  • 学分 ( 0 )
  • 分类:Solidity

以上所述就是小编给大家介绍的《Solidity 0.6.11 更新》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

人人都是产品经理

人人都是产品经理

苏杰 / 电子工业出版社 / 2012-6 / 45.00元

本书为《人人都是产品经理》的升级版,是写给“1到3岁的产品经理”的书,适合刚入门的产品经理、产品规划师、需求分析师,以及对做产品感兴趣的学生,用户体验、市场运营、技术部门的朋友们,特别是互联网、软件行业。作为一名“4岁的产品经理”,作者讲述了过去3年的经历与体会,与前辈们的书不同,本书就像你走到作者身边,说“嗨,哥们!晚上有空吃个饭吗,随便聊聊做产品的事吧”,然后作者说“好啊”。 书名叫“......一起来看看 《人人都是产品经理》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具