2 个不稳定版本
0.1.0 | 2024年5月2日 |
---|---|
0.0.0 | 2024年4月29日 |
#5 in #entrypoint
40KB
455 行
nitrate
为 Solana 程序定制的轻量级入口点。
入门
在你的项目文件夹中
cargo add nitrate
在你的入口点定义上
use nitrate::{entrypoint, program::AccountInfo};
use solana_program::{
entrypoint::ProgramResult,
msg,
pubkey::Pubkey,
};
// custom entrypoint definition:
//
// 1. name of the process instruction function
// 2. expected number of accounts
entrypoint!(process_instruction, 10);
pub fn process_instruction(
program_id: &Pubkey,
accounts: &[AccountInfo],
instruction_data: &[u8],
) -> ProgramResult {
msg!("Hello from my program!");
Ok(())
}
与标准 entrypoint!
宏的主要区别在于 nitrate
代表一个在读取输入缓冲区时不执行分配或复制的入口点,因此使用更少的计算单元来解析输入账户。
入口点包含一个配套的 macro
和 program
类型包。
[!重要] 程序可以接收比指定最大数量更多的账户,但任何超出最大数量的账户将被忽略。在理想情况下,这个数字应该等于你的程序中最大指令所需的账户数量。
许可证
版权所有 (c) 2024 nifty-oss 维护者
根据 Apache 许可证 2.0 版本(“许可证”);除非遵守许可证规定,否则不得使用此文件。您可以在以下位置获得许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”提供,不提供任何明示或暗示的保证或条件。有关许可证的具体语言规定、权限和限制,请参阅许可证。
依赖项
~17–26MB
~444K SLoC