决策表
四种类型详解
Block Event
只追加、不修改。一行数据一旦写入就是最终值,不会被同一行的后续写入覆盖。典型例子:代币转账明细、NFT 铸造记录。
Block State
随高度变化的状态。写入新值会更新”当前值”,同时平台自动保留历史高度的快照——你可以查任意历史高度当时的状态。典型例子:账户余额、合约配置。
Time
按固定时间桶(分钟级)组织的时序数据,写入时间会自动向后取整到整分钟。典型例子:价格、TVL 快照。
Normal
不带区块语义的普通表。没有高度、没有共识的概念,就是一张随便读写的表。典型例子:地址标签映射、规则配置。
Block Event 和 Block State 需要选链
建表时如果选择 Block Event 或 Block State,还需要指定 Chain——表要跟哪条链的区块高度对齐。保存后表名会自动加上链的后缀,比如myspace.transfers.eth。
Normal 和 Time 类型不需要选链。
平台在背后帮你维护了什么
不管选哪种 Block 类型,平台都会自动为你的表维护几张辅助表,你平时不需要直接操作它们,但排查问题时会用到:_height:记录处理进度——已经覆盖到哪些高度区间。这是判断”数据到底有没有写完”的权威来源。_archive(仅 Block State):保留每个历史高度的快照,才能支持”查任意历史高度的状态”。_write:批量写入(回填)任务的执行状态,一次回填成功没有、写了多少行都在这里查。
查看数据完整性、找出缺失高度
怎么用
_height 判断数据有没有洞