7 个版本
0.1.9 | 2023 年 8 月 2 日 |
---|---|
0.1.8 | 2023 年 8 月 2 日 |
0.1.7 | 2023 年 6 月 30 日 |
#2786 in 神奇豆子
101 每月下载量
135KB
3K SLoC
宇宙客户端
宇宙客户端是一个 Cosmos SDK 的 Rust RPC 和签名客户端,灵感来源于 JavaScript 中的 cosmjs。它建立在 cosmrs 之上,旨在为与 Cosmos SDK 区块链交互提供简化和用户友好的界面。
特性
- 简化 API:宇宙客户端致力于提供直观且易于使用的 API,使与 Cosmos SDK 的交互变得简单。
- RPC 功能:通过 RPC 调用来与区块链交互,查询区块链数据,如账户余额、交易信息等。
- 交易签名:使用私钥在本地签名交易,为向区块链发送交易提供安全的方式。
- 无缝集成:宇宙客户端旨在无缝集成到 Cosmos SDK 生态系统,使开发者能够轻松构建 Rust 应用程序。
安装
要在 Rust 项目中使用宇宙客户端,请在您的 Cargo.toml 文件中添加以下行
[dependencies]
tokio = { version = "1", features = ["full"] }
cosmos_client = "0.1"
入门指南
以下是一个快速示例,帮助您开始使用宇宙客户端
use cosmos_client::client::Rpc;
use cosmos_client::cosmos_sdk::cosmos::base::v1beta1::Coin;
use cosmos_client::error::CosmosClient;
use cosmos_client::signer::Signer;
#[tokio::main]
async fn main() -> Result<(), CosmosClient> {
let mut client = Rpc::new("https://rpc-cosmoshub-ia.cosmosia.notional.ventures/").await?;
let signer = Signer::from_mnemonic("PUT your 24 words Here", "cosmos", "uatom", None, 30, 25_000)?;
let address = signer.public_address.to_string();
client.attach_signer(signer).await?;
println!("signer loaded for {address}");
let response = client
.send(
address.as_str(),
vec![Coin {
denom: "uatom".to_string().parse()?,
amount: 1_000_000.to_string(),
}],
None,
)
.await?;
println!("response {response:#?}");
Ok(())
}
请注意,这是一个简化的示例,可能不会涵盖所有可用功能。请参阅文档和示例以获取更高级的使用和功能。
示例
宇宙客户端项目包括一个示例目录,其中包含各种示例,展示库的使用方式。这些示例旨在帮助开发者快速了解和利用宇宙客户端提供的不同功能和特性。
要运行示例,导航到示例目录,并使用 Rust 软件包管理器 Cargo 执行所需的示例。例如
cd examples
cargo run --example auto_compound
请随意修改和实验示例以满足您的特定需求。它们是构建基于宇宙客户端的应用程序的好起点。
有关可用示例及其使用的更多信息,请参阅文档或直接在 examples
目录中探索源代码。
文档
有关详细使用说明、API参考和示例,请参阅CosmosClient文档。
贡献
CosmosClient欢迎贡献!如果您想做出贡献,请按照以下步骤操作:
- 将存储库分叉并克隆到您的本地计算机。
- 为您的功能或错误修复创建一个新分支。
- 实现您的更改并确保代码通过所有测试。
- 编写清晰简洁的提交信息。
- 将您的分支推送到您分叉的存储库。
- 提交一个带有更改描述的拉取请求。
许可证
CosmosClient在MIT许可证下分发。有关更多信息,请参阅LICENSE文件。
致谢
CosmosClient建立在cosmrs库之上,我们想对cosmrs的作者和贡献者表示感激,感谢他们为Rust Cosmos SDK生态系统所做的工作和贡献。
联系
如果您有任何问题、建议或反馈,请随时与我们联系
与CosmosClient愉快编码!
依赖项
~28–41MB
~777K SLoC