在用户与成百上千个 Dapps ,通证和链进行交互的未来,有一个清晰的历史记录,记录用户的每个交互过程是非常重要的。钱包存储了所有交易的历史记录,但这是一个开始,它一次只能用于一个账户,因此可能很难弄清楚您是否与其中几个帐户进行了交互。
此外,除非建立额外的功能,否则钱包仍然很难拓展用途,例如只过滤特定Dapp。
Dapp肯定是用户友好的,可以帮助用户记住使用它进行的每次互动,就像用户可以在任何普通应用中回到“购买历史记录”一样。
分布式交易所和 Dapps 会为每个用户生成数百或数千个事务,因此这一点尤为重要。
🔑🔑原则🔑🔑
Dapp前端应该:
➤提供给定地址的所有交易历史记录
允许用户检查所有与智能合约(可能主要是类型2)进行的交互,即写入区块链并修改状态的交互记录。
➤阐明存储历史的位置
提供给定用户的历史记录意味着在数据库上记录该特定用户的交易哈希,在远程服务器上或在用户的本地索引数据库(indexDB)中。 这当然是潜在的隐私风险,因此请注意隐私原则(∞link2.Transparency of Transactions)和代码透明度原则(∞link5.Transparency of Code),以向用户说明存储此数据的位置。
➤提供用于导航,搜索,导出和删除历史记录缓存的工具
具体示例
- 类似于事件通知中心,设置一个用户历史选项卡或专用页面, 在 Chain-View 侧面板内允许过滤不同类型的事务(以太币,代币,函数调用,合同生成)
- 允许按日期,从开头或日期之间进行过滤
- 可选的用户友好型设置
- 允许用户在事务中添加非链接注释字段,例如,如果用户想要简单地具有人类可读和可搜索的明文,则需要简单的提醒
- 可选:建立搜索字段,以防交互数目过多
- 去中心化交易所可能希望添加此类功能,以允许用户搜索仅与特定令牌相关的交易
- 导出:
- 允许用户选择性地导出 csv 中的数据并进行其他操作,尤其适用于大型数据集
- 删除:
- 允许用户从本地缓存中删除历史记录,但交易的真实历史记录既不是从钱包删除,也不是从区块链中删除
- 导入:
- 仅当Dapp允许用户为每个事务添加自定义注释时,添加导入选项才是有意义的,否则可以从区块链中简单地重建信息