12 个版本
新 0.2.0 | 2024 年 8 月 14 日 |
---|---|
0.1.9 | 2024 年 8 月 10 日 |
0.1.7 | 2024 年 7 月 7 日 |
0.1.6 | 2024 年 6 月 12 日 |
0.1.5 | 2024 年 5 月 28 日 |
#761 in 魔法豆
401 次每月下载
71KB
1.5K SLoC
Zephyr Rust SDK
Zephyr SDK 的 Rust 实现。Zephyr SDK 允许您为 Mercury 云执行环境 构建程序。
示例可以在 zephyr-examples 存储库中找到。
对于任何错误或功能请求,请在本存储库中打开一个问题。
lib.rs
:
Zephyr Rust SDK
zephyr rust sdk 帮助开发者编写 Zephyr 虚拟机的程序。
Hello Ledger 示例
use zephyr_sdk::{prelude::*, soroban_sdk::xdr::{ScString, ScVal}, EnvClient, DatabaseDerive};
#[derive(DatabaseDerive, Clone)]
#[with_name("test")]
struct TestTable {
hello: ScVal,
}
#[no_mangle]
pub extern "C" fn on_close() {
let env = EnvClient::new();
let sequence = env.reader().ledger_sequence();
env.log().debug(format!("Got sequence {}", sequence), None);
let message = {
let message = format!("World at ledegr sequence {}", sequence);
ScVal::String(ScString(message.try_into().unwrap()))
};
let table = TestTable {
hello: message.clone(),
};
env.log().debug(
"Writing to the database",
Some(bincode::serialize(&message).unwrap()),
);
table.put(&env);
env.log().debug("Successfully wrote to the database", None);
}
依赖项
~15–28MB
~451K SLoC