有没有一种方法,可以把链下储存的信息,作为链上智能合约执行的先决条件呢?

智能合约如果有部分语句在执行前要求先决条件,一般用require先进行判断;

如果某些过于复杂的判断标准,不便存储在链上,只能链下存储,有没有办法把它作为执行条件,进行强判断呢?

举个简单例子:

假设两个全局变量a和b,以及一个方法:当a>10时,b++

uint8 public a = 20; uint public b;

function fn() public { require(a>10); b++; }

a = 20 当然是一个容易储存在链上的信息,这里只是为了举例方便,我们假设它很复杂,必须被迫存储在链下。

这样链上就没有uint8 public a = 20了,但我们希望b++执行条件,仍然是链下存储的a大于10.

有实现的可能吗?

请先 登录 后评论

3 个回答

czl
请先 登录 后评论
zoie.zhang
请先 登录 后评论
子衿 - 区块链研发工程师
请先 登录 后评论
  • 4 关注
  • 1 收藏,280 浏览
  • jimmy 提出于 2021-07-30 10:53