5个版本 (3个破坏性更新)
0.4.0 | 2023年9月15日 |
---|---|
0.3.2 | 2022年12月13日 |
0.2.0 | 2022年8月1日 |
0.1.0 | 2022年6月29日 |
#2742 in 魔法豆
每月下载量103
用于 4 crate
79KB
2K SLoC
Monero守护进程 & 钱包RPC
使用异步Rust 🦀编写的Monero守护进程和钱包RPC。
示例:使用 tokio::test
创建RPC客户端并将其转换为守护进程RPC以调用 /get_transactions
方法并打印结果。
use monero_rpc::{RpcClientBuilder, JsonTransaction};
#[tokio::test]
async fn monero_daemon_transactions_test() {
let tx_id = "7c50844eced8ab78a8f26a126fbc1f731134e0ae3e6f9ba0f205f98c1426ff60".to_string();
let rpc_client = monero_rpc::RpcClientBuilder::new()
.build("http://node.monerooutreach.org:18081")
.unwrap();
let daemon_rpc_client = rpc_client.daemon_rpc();
let mut fixed_hash: [u8; 32] = [0; 32];
hex::decode_to_slice(tx_id, &mut fixed_hash).unwrap();
let tx = daemon_rpc_client
.get_transactions(vec![fixed_hash.into()], Some(true), Some(true))
.await;
println!("tx {:?}", tx);
println!(
"unlock time: {:?}",
serde_json::from_str::<JsonTransaction>(&tx.unwrap().txs_as_json.unwrap()[0])
);
}
测试
首先,您需要 docker
和 docker compose
来运行位于 tests/
的RPC集成测试,如果您不想在自己的机器上运行 monerod
和 monero-wallet-rpc
。
如果您已安装docker stack,请转到 tests
文件夹并运行 docker compose up
。请注意,守护进程将在端口 18081
上运行,而 monero-wallet-rpc
将在端口 18083
上运行。
之后,只需像平常一样运行 cargo test
。
此外,您还可以运行 docker compose down
来停止并删除由 docker compose up
启动的两个容器。
重要:在运行 main_functional_test
测试于 tests/rpc.rs
时,区块链必须是空的,也就是说,它只能包含创世区块。在 regtest
中,当 monerod
重新启动时,区块链会重启(顺便提一下,如果您想在 regtest
中在重启之间保持区块链,请在启动 monerod
时传递 --keep-fakechain
标志)。
版本和变更日志
请参阅 CHANGELOG.md 和 RELEASING.md。
许可协议
本项目中使用的代码根据 Apache-2.0 许可协议授权。
依赖项
~8–20MB
~319K SLoC