#cosmos #signing #transaction #broadcasting #blockchain #facilitating #sdk-based

txf

一个帮助在基于Cosmos SDK的区块链上签名和广播交易的库

1 个不稳定版本

0.1.0 2023年6月27日

#5 in #facilitating

Apache-2.0 OR MIT

16KB
335

txf

交易工厂 - 一个帮助在基于Cosmos SDK的区块链上签名和广播交易(txs)的库。

使用方法

使用在线签名模式和同步广播模式的示例

use cosmos_sdk_proto::cosmos::{
    bank,
    base::v1beta1::{Coin, DecCoin},
    staking,
    tx::v1beta1::BroadcastMode,
};
use txf::{OnlineParams, TxBuilder};

let res = TxBuilder::new()
    .add_message(bank::v1beta1::MsgSend {
        from_address: "osmo1...",
        to_address:   "osmo1...",
        amount: vec![
            Coin {
                denom:  "...",
                amount: "...",
            },
        ],
    })?
    .add_message(staking::v1beta1::MsgDelegate {
        delegator_address: "cosmos1...",
        validator_address: "cosmos1...",
        amount: Coin {
            denom:  "...",
            amount: "...",
        },
    })?
    .set_gas_price(DecCoin {
        denom:  "uosmo".into()
        amount: "0.0025".into(),
    })
    .sign_online(OnlineParams {
        privkey:        &privkey,
        grpc_url:       grpc_url.clone(),
        bech_prefix:    "cosmos".into(),
        gas_adjustment: 1.4,
    })
    .await?
    .broadcast(grpc_url, BroadcastMode::Sync)
    .await?;

许可证

选择Apache-2.0MIT许可证。

依赖关系

~11–19MB
~251K SLoC