#anchor #solana #nta #anchor-client

app native-to-anchor

从原生 Solana 程序生成 Anchor IDLs 和客户端

2 个版本

0.1.0 2022年8月20日

#81 in #anchor

MIT 许可证

165KB
4K SLoC

原生到 Anchor

Native To Anchor(nta) 是一个 CLI 工具,可以帮助您从原生 Solana 程序生成 Anchor IDLs 和客户端。

安装

  • 使用 cargo 安装
cargo install native-to-anchor

或者

  • 从源代码构建
git clone https://github.com/acheroncrypto/native-to-anchor.git
cd native-to-anchor/generator
cargo build --release

使用以下命令查看可用的命令

native-to-anchor

注意:您可以通过以下命令查看任何命令的可选参数

native-to-anchor <COMMAND_NAME> --help

示例将假设您已使用 cargo 安装。如果您已从源代码构建,可以通过运行二进制文件或相应地添加别名来执行示例。

生成

example 目录中有一个示例教程。您还可以查看 client 目录以查看生成的包及其测试。

生成 IDL

您可以使用以下命令轻松从 Solana 程序创建 Anchor IDL

native-to-anchor idl <PATH_TO_SOLANA_PROGRAM>

生成包

拥有 IDL 很好,但仅凭 IDL 无法进行程序交互。幸运的是,此工具将创建一个您可以将它导入到项目中并与原生 Solana 程序交互的包。

native-to-anchor package <PATH_TO_SOLANA_PROGRAM>

注意:在以下情况下,生成的代码可能不正确:不支持或未知类型(例如,类型在程序包外部定义)、序列化/反序列化差异或自定义账户特性行实现。一些 SPL 程序存在这些问题,您可以通过查看 client/packages 来了解如何处理。在此过程中可能会出现很多问题,尝试列出所有问题是不明智的。

支持的序列化/反序列化工具

许可证

MIT 许可下。

依赖项

~5–15MB
~154K SLoC