#gas #near #unit #protocols #u64 #values #ergonomically

no-std unc-gas

一个小型 crate,用于以优雅和高效的方式处理 NEAR Gas 单位值(NEAR 协议)

2 个不稳定版本

0.10.0 2024 年 5 月 15 日
0.1.0 2024 年 3 月 6 日

#9 in #ergonomically

每月 43 次下载
用于 9 个 crate(6 直接)

MIT/Apache

34KB
660

unc-gas

Crates.io (downloads) Docs.rs Rust Version

unc-gas 是一个 crate,用于以优雅的方式在 Rust 项目中操作 NEAR 协议的 gas 单位。

此 crate 包含 UncGas 类型及其构造函数,用于将数据转换为 UncGas 和 u64 类型的值。

unc-gas 示例

use unc_gas::UncGas;

fn main() {
    let data = "12.657 tgas";

    let unc_gas: UncGas = data.parse().unwrap();

    // Convert the value to the most precise "gas" unit
    assert_eq!(unc_gas.as_gas(), 12657000000000);
    // Convert the value to "gigagas" unit
    assert_eq!(unc_gas.as_ggas(), 12657);
    
    // Display Gas. It will print: "Here is 12.7 Tgas"
    println!("Here is {}", unc_gas);

    // When `serde` feature is enabled, UncGas can be used in serde-serializable structs.
    // UncGas will be serialized to a gas-precision u64 value encoded as string.
    #[derive(serde::Serialize)]
    struct FunctionCallDetails {
        used_gas: UncGas,
    }

    let details = FunctionCallDetails { used_gas: unc_gas };

    assert_eq!(serde_json::to_string(&details).unwrap(), r#"{"used_gas":"12657000000000"}"#);
}

UncGas 信息

在您向网络发送的每一笔交易中,NEAR 都会向您收取费用(也称为 gas 费)。这笔费用用于间接支付维护网络基础设施的人员,以及激励智能合约的开发者。 更多信息

在 Near 协议中使用的 Gas

crate 功能

许可证

本项目采用 MIT 许可证Apache-2.0 许可证

依赖关系

~0–600KB
~12K SLoC