- 在中心化数据库中记录所有用户的交易历史——这是一项便于降低未来查询成本的任务。
- 每月在高性能的中心化数据库中执行一次直接查询,根据历史数据确定每个用户的交易量和费用等级。
- 由于区块链的存储成本过高,在智能合约中直接存储每个用户的交易历史并不可行。实施这种逻辑意味着用户每笔交易的手续费要高出 4 倍。
- 即使我们进行了交易记录的数据存储,但对这些数据进行统计查询和计算的成本更高。例如,计算单个用户 10K 笔交易的交易量数据将花费 156M Gas(对!我们计算过)。
- 历史上任何给定时间内整个区块链的状态(例如,谁是 Cryptopunk 的第一个所有者)。
- 历史上任何给定时间内的交易和因交易而产生的事件(例如,Charlie 将 $1,000 兑换成 0.5 ETH)。
- 虚拟机状态中存储的数据(不包括交易或事件数据)。
- 最新区块中的数据(历史数据访问是受限的)。
- 通过 "查看 "功能公开的其他智能合约的数据(不包括私有或内部合约数据)。