Solidity中函数有三种装饰器

这篇具有很好参考价值的文章主要介绍了Solidity中函数有三种装饰器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Solidity中函数有三种装饰器,分别是pure、view和payable。使用装饰器可以轻松改变函数的行为。

pure 装饰器

表示在函数中没有修改任何函数以外的变量,包括状态变量,只是单纯地进行了一个数值计算。函数的执行并不会消耗任何Gas,因为函数执行使用的是本地节点的CPU,所以不会消耗任何链上资源。
contract HelloWorld{

         function testPure(uint a, uint b) public pure returns(uint){

                uint c;

                c = a+b;

                return c;    

        }

}

view装饰器

在函数中使用view装饰器后,函数将不会修改状态变量,对链上数据只有读取操作,同样采用view装饰器的函数不会消耗Gas。其实很好理解,因为对于一个全节点来说,会同步所有数据,并且保存在本地。如果合约需要查看区块链上的数据,直接在本地节点查询数据即可,不需要将这次查询发送到整个区块链网络的其他节点,也不需要将这个函数的调用记录在区块链上,所以不会消耗链上资源,也无须消耗Gas。

payable装饰器
在Soldity编写的合约中,只有增加了payable装饰器的函数才允许在调用时接收或发送ETH

function() payable public {} // payable关键字,表明调用此函数,可向合约转ETH文章来源地址https://www.toymoban.com/news/detail-539375.html

到了这里,关于Solidity中函数有三种装饰器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 固态硬盘、机械硬盘、手机的“内存”有三种

    就是处理器处理文件的地方,相当于的办公桌桌面。可以把所有文件摊开,便于快速处理(速度快,面积有限)。闪存,是真正用来存储文件的地方,相当于办公桌的抽屉,文件可以堆叠(存储量大),装订保存。但每次要查看时,需要从抽屉取出,拿到桌面摊开(速度比内

    2024年02月11日
    浏览(49)
  • 20. solidity 发送ETH:call()

    Solidity 有三种方法向其他合约发送 ETH ,他们是: transfer() , send() 和 call() ,其中 call() 是被鼓励的用法。 call 没有 gas 限制,最为灵活,是最提倡的方法; transfer 有 2300 gas 限制,但是发送失败会自动 revert 交易,是次优选择; send 有 2300 gas 限制,而且发送失败不会自动 re

    2024年02月08日
    浏览(30)
  • 数据表的清空有三种方式:

    1.delete------ 是逐行删除速度极慢,不适合大量数据删除。 Delete from tablename where 1=1 2.truncate---- 删除所有数据,保留表结构,不能撤消还原。 TRUNCATE TABLE tablename 3.drop-------- 删除表,数据和表结构一起删除,快速。 SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for

    2023年04月10日
    浏览(49)
  • 记录--啊?Vue是有三种路由模式的?

    众所周知,vue路由模式常见的有 history 和 hash 模式,但其实还有一种方式- abstract 模式(了解一哈~) 别急,本文我们将重点逐步了解: 路由 + 几种路由模式 + 使用场景 + 思考 + freestyle 路由的本质就是一种对应关系 ,根据不同的URL请求,返回对应不同的资源。那么url地址和真

    2024年02月05日
    浏览(40)
  • PHP的curl有三种Post请求数据的方式

    今天要讲的HTTP请求头的Content-Type字段,就是在curl发送post请求的时候需要指定以何种方式来请求数据,常用的有3类: 1、form-data 。就是 multipart/form-data 使用表单的方式来发送数据 是curl采用的默认发送方式。请求数组类型的格式。 Content-Type: multipart/form-data 2、x-www-form-urlenco

    2024年02月11日
    浏览(72)
  • 使用maven打包时如何跳过test,有三种方式

    方式一 针对spring项目: 针对springboot:  方式二(通用 ): 方式三(通用): mvn package -DskipTests=true -DskipTests=true,不执行测试用例,但编译测试用例类生成相应的class文件至 target/test-classes 下。   mvn package -Dmaven.test.skip=true -Dmaven.test.skip=true,不执行测试用例,也不编译测试

    2024年02月13日
    浏览(38)
  • 以太坊智能合约开发:Solidity语言中的构造函数

    Solidity语言中关于构造函数的定义: 构造函数是使用 constructor 声明的一个可选函数; 构造函数只在合约部署时调用一次,并用于初始化合约的状态变量; 如果没有显式定义的构造函数,则由编译器创建默认构造函数。 构造函数声明语法如下: 其中: ** constructor :

    2024年02月01日
    浏览(51)
  • Solidity智能合约开发 — 3.2-合约的fallback和函数重载

    每个智能合约有且仅有一个未命名的函数,称为fallback函数,没有参数且没有返回值,可见性必须是 external,且可以是 virtual的(即可以被重载),也可以有修改器 modifier。 fallback执行条件: 如果在一个合约的调用中,没有其他函数与给定的函数标识符匹配时(或没有提供调用

    2024年02月09日
    浏览(59)
  • 云计算,主要有三种服务模式:IaaS、PaaS、SaaS的区别

    云计算,主要有三种服务模式,它们分别是IaaS、PaaS、SaaS,那么他们之间到底有什么区别和联系呢?今天数合宙就带大家一探究竟。 01 云计算服务类型介绍 云计算服务:指可以拿来作为服务、提供使⽤的云计算产品。包括云主机,云空间,云开发,云测试和综合类产品等。

    2024年02月01日
    浏览(53)
  • 标记垃圾,有三种色彩:四千长文带你深入了解三色标记算法

    🔭 嗨,您好 👋 我是 vnjohn,在互联网企业担任 Java 开发,CSDN 优质创作者 📖 推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代 🌲文章所在专栏:JVM 🤔 我当前正在学习微服务领域、云原生领域、消息中间件等架构、原理知识 💬 向我询问任何您想要的

    2024年02月13日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包