背景
Blockscout目前仅支持EOA账户和合约账户两种地址的展示,例如一个合约账户的展示页面如下:

因为Artela上的某个地址可能会是一个Aspect,所以当一个地址为Aspect时,我们希望对Aspect的信息进行展示。
需求
- Indexer需要监听Aspect部署交易,将部署交易对应的地址标记为Aspect
- Indexer同时需要监听Aspect升级相关交易,记录当前Aspect最新的版本号
- Aspect部署/升级时,Indexer需要从系统合约获取对应Aspect Properties、Join Points并进行存储,后续需要在前端页面进行展示
- 某笔交易如果经过对应Aspect的处理,或者Aspect通过Operation接口被调用时,这笔交易需要在Aspect详情页面的Processed Transactions中进行展示
- 当Aspect被合约/EoA绑定时,绑定信息需要可以展示在页面上
- 当Aspect被解绑时,绑定信息需要被移除
原型图
.png)
Tasks
后端
- 构建Aspect Deploy交易Indexer
- 构建Aspect Upgrade交易Indexer
- 构建Aspect Binding交易Indexer
- 构建Aspect Unbinding交易Indexer
- 修改Contract Call Indexer,索引Aspect相关信息