智能合约如果有部分语句在执行前要求先决条件,一般用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.
有实现的可能吗?