#shank #idl #render #macro #generate #derived #solana

shank_render

从 shank 宏派生出的实现进行渲染

10 个版本 (4 个破坏性更新)

0.4.2 2024年2月29日
0.4.1 2024年2月28日
0.3.1-alpha.52024年1月30日
0.3.0 2023年10月31日
0.0.1 2023年1月11日

#2 in #shank

Download history 8337/week @ 2024-05-06 9082/week @ 2024-05-13 6633/week @ 2024-05-20 7848/week @ 2024-05-27 9685/week @ 2024-06-03 9503/week @ 2024-06-10 9313/week @ 2024-06-17 10010/week @ 2024-06-24 7772/week @ 2024-07-01 8713/week @ 2024-07-08 8694/week @ 2024-07-15 9556/week @ 2024-07-22 9757/week @ 2024-07-29 9753/week @ 2024-08-05 8488/week @ 2024-08-12 7712/week @ 2024-08-19

36,144 每月下载量
65 个包中使用(通过 shank_macro

Apache-2.0

250KB
7K SLoC

Shank 构建+测试

用于注释 Rust 程序以提取 IDL 的 shank 包集合。此 IDL 由 solita 使用以生成程序 SDK。

shank-logo

安装

有关 使用安装,请参阅 shank-cli 说明书

  • shank 顶级包,需要安装并包含在您的库中以便添加宏注释
  • shank_cli 从指定的包中提取 IDL 到文件的 CLI 工具
  • shank-macro 提供 shank 使用的 derive
  • shank-macro-impl 实现并测试 derive
  • shank-idl 处理包中的文件,以发现 shank 宏注释并将注释的类型转换为与 solita 兼容的 IDL
  • shank-render 从特定的注释,如账户 seeds,生成 Rust impl 块。

开发

从仓库分叉并进行一些更改后,通过运行 cargo test 确保一切正常。然后提供拉取请求。

如果你是具有发布到 crates.io 访问权限的贡献者,请按照以下步骤发布新版本。注意,这只能在 master 分支上工作,并且应该在将 PR 合并到 master 之后执行。

cargo test && cargo release <major|minor|patch>

上述步骤将运行所有测试并执行发布过程的预演。你应该仔细验证它将要执行的操作,然后重新运行下面的发布命令。

cargo release <major|minor|patch> --execute

许可证

Apache-2.0

依赖项

~0.5–1MB
~24K SLoC