#transaction #bitcoin #sign

create-bitcoin-transaction

创建并签名比特币交易

4 个版本

0.1.3 2022 年 9 月 30 日
0.1.2 2022 年 9 月 27 日
0.1.1 2022 年 9 月 27 日
0.1.0 2022 年 9 月 27 日

#35 in #transactions

MIT 许可协议

74KB
1.5K SLoC

创建比特币交易

满足我对引擎工作原理的理解,而不仅仅是它能够工作。

个人测试场,用于学习和实验如何创建各种比特币交易。


⚠️ 这只是一个实验性项目。请在自己的风险下使用。⚠️


安装

将包添加到 Cargo.toml 文件中

[dependencies]
create_bitcoin_transaction = "0.1.3"

用法

use create_bitcoin_transaction::{
    get_signed_transaction_hex, get_unsigned_transaction_hex, PayFrom, PayTo, Wifs,
};

fn main() {
    let pay_froms = vec![PayFrom {
        transaction: "2d0821b1a1ee6d04c5f91b0b400ec38cf7613bdb06a5d43ce658e672ea66d081".to_string(),
        vout_index: 1,
        script_pub_key_hex_of_vout: "001443400caddfaffbb17b130304349384c8ef7e6fa4".to_string(), 
        address: "tb1qgdqqetwl4lamz7cnqvzrfyuyerhhumayhhprt2".to_string(), 
        vout_amount_in_sats: 30000, // 
    }];
    let pay_tos = vec![PayTo {
        address: "tb1psmsr8rc6jwl47xsv4zahnt39m2peexxhxrfvprqpw86yf55rkzgq70ycww".to_string(),
        amount_in_sats: 29878,
    }];
    let mut wifs: Wifs = Wifs::new();
    wifs.insert(
        0,
        "cSPybNQG6n1LpmxGNiWUHSSseaVfNszVjoPwo7qi4dvRE2Se825q".to_string(),
    );

    let unsigned_transaction_hex = get_unsigned_transaction_hex(&pay_froms, &pay_tos);
    println!("Unsigned transaction: {}", unsigned_transaction_hex);

    let signed_transaction_hex = get_signed_transaction_hex(&pay_froms, &pay_tos, &wifs);
    println!("Signed transaction: {}", signed_transaction_hex);
}

资源

要阅读用于学习如何创建和签名交易的资源,请参阅 RESOURCES.md

依赖项

~16MB
~333K SLoC