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

Ano*_*shk 3 solana solana-web3js anchor-solana

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

这个怎么做?

更新: 我的错是我没有花时间正确研究这个问题,您可以使用这行代码const idl = await fetchIdl(programId); 来获取 idl 作为答案

Jon*_*n C 5

@project-serum/anchor包中有一个专门为此创建的函数fetchIdl,即:

const idl = await fetchIdl(programId);
Run Code Online (Sandbox Code Playgroud)

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