1 个不稳定版本
0.1.0 | 2020 年 2 月 18 日 |
---|
#6 in #expanded
14KB
160 行
实现 ConductorClient 结构体,该结构体实现了 RpcChannel,因此可以使用 parity jsonrpc-core-client 产生客户端实例,可以在任何传输上调用。
警告!- jsonrpc-core-client 中客户端宏的限制阻止了其正常工作。当前在 lib.rs 中扩展并修复的宏。一旦问题得到解决,这将成为 lib,宏扩展可以按预期工作。
它还导出 connect_ws 函数,这是一个构建 WebSocket 连接的辅助函数。
基本示例
use holochain_client_core::{
connect_ws, Future,
};
use url::Url;
fn main() {
let client_url = Url::parse("ws://127.0.0.1:1234").unwrap();
let client = connect_ws(&client_url).wait().unwrap(); // connect returns a future
let result = client.zome_call( // calling a function also returns a future
"instance_id".into(),
"zome".into(),
"fn_name".into(),
serde_json::Value::Null,
).wait().unwrap();
println!("{}", result)
}
使用不同传输(http)的示例
use holochain_client_core::{
connect_ws, Future, ConductorClient,
}
use jsonrpc_core_client::transports::http;
use url::Url;
fn main() {
let client_url = Url::parse("https://127.0.0.1:1234").unwrap();
let client = http::connect<ConductorClient>(&client_url).wait().unwrap(); // connect returns a future
let result = client.zome_call( // calling a function also returns a future
"instance_id".into(),
"zome".into(),
"fn_name".into(),
serde_json::Value::Null,
).wait().unwrap();
println!("{}", result)
}
依赖项
~11MB
~222K SLoC