2个版本
0.1.1 | 2024年3月6日 |
---|---|
0.1.0 | 2024年3月6日 |
#5 在 #pubkey
每月63次下载
9KB
94 行
const_str_to_pubkey
一个 Rust 库,帮助开发者使用常量字符串推导出 常量 Solana Pubkey
。(Base58 解码算法与 bs58-rs 相同)
我们有时需要声明一个常量 Pubkey
(例如,存储管理员公钥)。我们可以使用 Solana 官方库提供的 pubkey!
宏。然而,这个宏仅适用于字符串字面量。如果我们有一个常量 &'static str
(例如,来自 env!
宏),我们不能使用 pubkey!
宏推导出常量 Pubkey
。
这个库解决了这个问题。
使用方法
use const_str_to_pubkey::str_to_pubkey;
const ADMIN_PUBKEY: Pubkey = str_to_pubkey(env!("ADMIN_PUBKEY"));
要编译,运行
ADMIN_PUBKEY=AdminPubkey11111111111111111111111111111111 cargo build-sbf
# or
ADMIN_PUBKEY=AdminPubkey11111111111111111111111111111111 anchor build
# or exports the environment variable
或者创建一个 cargo 配置文件并将管理员公钥存储在那里(参见下一节)。
Cargo 检查错误
当运行 cargo check
(有时 rust-analyzer 会为我们运行),我们可能会得到一个错误,表示环境变量未设置。这是因为 cargo 识别不到我们设置的环境变量。
要解决这个问题,我们可以在项目/工作区根目录中添加一个 cargo 配置文件 .cargo/config.toml
(有关详细信息,请参阅 The Cargo Book),内容如下
[env]
ADMIN_PUBKEY = "AdminPubkey11111111111111111111111111111111"
依赖项
~16–25MB
~418K SLoC