我如何通过程序地址获取部署在 solana 主网上的任何程序的 idl?

How do i fetch the idl of any program deployed on solana mainnet by its program address?

我想通过它在客户端的程序地址获取通常为任何部署的 solana 程序生成的 IDL

如何操作?

更新: 糟糕的是我没有花时间好好研究这个,你可以使用这行代码 const idl = await fetchIdl(programId); 获取 idl 作为答案状态

在名为 fetchIdl@project-serum/anchor 包中有一个专门为此制作的函数,即:

const idl = await fetchIdl(programId);

如果您愿意,请查看其实现: https://github.com/project-serum/anchor/blob/8ffb22d936f0f6468d8f00a1e8a3c24b07e5490e/ts/src/program/index.ts#L324-L349