以太坊 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的区别

基于以太坊的智能合约开发教程Solidity 继承与权限

以太坊/Solidity 新手:方便地发送多笔交易

基于以太坊的智能合约solidity学习日记

第119篇 笔记-solidity中的ABI

以太坊交易在 750 秒内未被挖掘