6 个版本 (3 个重大更新)

0.4.2 2022年10月6日
0.4.1 2022年9月21日
0.3.0 2021年8月1日
0.2.0 2021年4月23日
0.1.0 2021年3月26日

#1915 in 神奇豆子

Download history 25/week @ 2024-03-14 16/week @ 2024-03-21 35/week @ 2024-03-28 26/week @ 2024-04-04 7/week @ 2024-04-11 12/week @ 2024-04-18 12/week @ 2024-04-25 5/week @ 2024-05-02 5/week @ 2024-05-09 5/week @ 2024-05-16 11/week @ 2024-05-23 9/week @ 2024-05-30 14/week @ 2024-06-06 12/week @ 2024-06-13 13/week @ 2024-06-20 30/week @ 2024-06-27

每月下载量 70 次
用于 algonaut_sandbox

MIT 许可证

565KB
13K SLoC

Rust algonaut

Crate Docs GitHub license Continuous integration

Rust algonaut 是一个用于 Algorand 的 Rust SDK。请注意,这个软件包仍在开发中。

use algonaut::algod::v2::Algod;
use algonaut_core::MicroAlgos;
use algonaut_transaction::Pay;
use algonaut_transaction::{account::Account, TxnBuilder};
use std::error::Error;

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    let algod = Algod::new(
        "https://127.0.0.1:4001",
        "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
    )?;

    // an account with some funds
    let from_account = Account::from_mnemonic("fire enlist diesel stamp nuclear chunk student stumble call snow flock brush example slab guide choice option recall south kangaroo hundred matrix school above zero")?;

    let to_address = "2FMLYJHYQWRHMFKRHKTKX5UNB5DGO65U57O3YVLWUJWKRE4YYJYC2CWWBY".parse()?;

    // algod has a convenient method that retrieves basic information for a transaction
    let params = algod.suggested_transaction_params().await?;

    // we are ready to build the transaction
    let t = TxnBuilder::with(
        &params,
        Pay::new(from_account.address(), to_address, MicroAlgos(123_456)).build(),
    )
    .build()?;

    // we need to sign the transaction to prove that we own the sender address
    let signed_t = from_account.sign_transaction(t)?;

    // broadcast the transaction to the network
    let send_response = algod.broadcast_signed_transaction(&signed_t).await?;

    println!("Transaction ID: {}", send_response.tx_id);

    Ok(())
}

软件包

  • algonaut_client 包含了 algodkmdindexer RPC API 的客户端。
  • algonaut_core 定义了 Algorand 的核心结构,如:AddressRoundMicroAlgos 等。
  • algonaut_crypto 包含了加密工具,如:ed25519mnemonics
  • algonaut_encoding 实现了编码实用函数,如 serde 访问者。
  • algonaut_transaction 支持开发者构建各种类型的 Algorand 交易。
  • algonaut_abi 应用二进制接口 (ABI),通过标准化接口调用智能合约方法。

外部工具

集成示例

变更日志

阅读变更日志获取更多详细信息。

贡献

你想帮助开发吗?请通过阅读我们的贡献指南来了解如何操作。

致谢

此包基于 @mraof 的工作。

许可证

Ferris Algonaut

根据MIT许可证授权。除非你明确声明,否则你故意提交以包含在此包中的任何贡献,都应按上述方式许可,不附加任何额外条款或条件。

Ferris Algonaut 根据Creative Commons Attribution 4.0国际许可证授权。
Rust algonaut 的标志 基于 Font Awesome 的图标,并根据Creative Commons Attribution 4.0国际许可证授权。

依赖项

~14–28MB
~545K SLoC