以太坊 solidity pure view 交易执行之后不会生成区块
Posted 软件工程小施同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以太坊 solidity pure view 交易执行之后不会生成区块相关的知识,希望对你有一定的参考价值。
函数可以被声明为pure、view,两者的作用可见下图。
函数类型 | 作用 |
pure | 承诺不读取或修改状态。 |
view | 保证不修改状态。 |
pure:不读取更不修改区块上的变量,使用本机的CPU资源计算我们的函数。所以不消耗任何的资源这是很容易的理解的。
view: 但是view既然要读取区块链上的值,为什么也不用消耗gas呢??
其实很简单,因为作为一个全节点来说,会同步保存所有的信息,保存在本地中。
那么我们要查看区块链上的资源,同样可以直接在一个全节点之上查询数据即可。
我不需要全世界的节点都知道。都去同时的处理这笔事务。我也不需要将调用这笔函数的信息记录在区块链上。
所以view仍然不消耗gas。
调用pure或者view修饰的solidity函数的交易,没有进入交易池,就被执行了,不上链。
所以:pure view 交易执行之后不会生成区块
https://blog.csdn.net/weishixianglian/article/details/84034794
以上是关于以太坊 solidity pure view 交易执行之后不会生成区块的主要内容,如果未能解决你的问题,请参考以下文章
以太坊 solidity 函数修饰符总结 publicprivateinternalexternalviewpure的区别