1/
我们为什么需要这个?
作为 Solana 开发人员,有时您会发现创建者/项目未使用 Anchor 发布其 IDL 的帐户或程序。
IDL:接口定义语言
它基本上是读取链上账户数据所需的信息。所有浏览器都使用它来帮助您读取这些数据。
但是,仍然有许多程序没有发布 IDL,您可能最终需要手动挖掘数据,这是一场噩梦。
1之二/
因此,如果您碰巧手头有其中一个 IDL 文件,但想要在资源管理器中使用该文件(快速查看交易/帐户而无需手动反序列化数据),那么 “本地 IDL”功能就可以发挥作用了!
2/
现在您已经有了 IDL 文件,
1. 访问solana.fm
2. 切换“开发者模式”按钮 3. 你会看到这个新的“本地 IDL”按钮出现,点击它
3/
您现在应该看到“设置”窗口聚焦于“本地 IDL”部分。
1. 点击“创建”
4/
现在您位于“上传 IDL”窗口
点击“上传类型”并选择“文件”(您也可以手动输入每个字段)
单击“选择文件”并在本地机器上选择文件
5/
选择文件后,您将看到显示的其他字段
1. 在“程序哈希”中填写主程序的地址 2. 选择网络(主网、测试网、开发网) 3. 如果程序已部署在两个特定插槽之间,您还可以指定特定插槽。 4. 单击“上传”,然后“Voilà!”
6/
现在我已经将我的 IDL 上传到本地,我可以通过查看该程序的事务来检查它是否有效,以下是我的示例所显示的内容。
每当使用本地 IDL时,您都会看到“本地 IDL 已解析”标签。每笔交易都将填充反序列化数据,以便轻松了解正在发生的事情!PS:有时您可能需要硬刷新才能应用本地 IDL。

7/
唯一缺少的功能是当直接查看程序拥有的帐户时,SolanaFM尚未选择本地 IDL 来反序列化这些帐户,但在我提出建议后,他们的团队已经在着手处理此事了!恭喜 SolanaFM 为帮助像我这样的开发人员做得非常出色,这肯定会为我节省大量时间和精力!