5个不稳定版本
0.3.0+0.18.0 | 2019年7月20日 |
---|---|
0.2.2 | 2017年5月31日 |
0.2.1 | 2017年5月23日 |
0.2.0 | 2017年5月23日 |
0.1.1 | 2017年5月21日 |
#148 in #verification
每月21次下载
9KB
124 行
bitcoin-consensus
Rust对libbitcoinconsensus的绑定
本项目允许使用与Bitcoin Core相同的脚本验证库,以Rust语言编写Bitcoin软件。
cargo build
将自动检出Bitcoin Core GitHub仓库,配置并构建它,并构建静态链接到libbitcoinconsensus和libsecp256k1的绑定。
当前正在构建与Bitcoin Core v0.18.0的consensus库。
lib.rs
:
Rust对libbitcoinconsensus的绑定
use hex::FromHex;
use bitcoin_consensus::{verify_script, ScriptVerificationFlags};
fn main() {
let pubkey: Vec<u8> = Vec::from_hex("76a9144621d47f08fcb1e6be0b91144202de7a186deade88ac").unwrap();
let tx: Vec<u8> = Vec::from_hex("01000000015884e5db9de218238671572340b207ee85b628074e7e467096c267266baf77a4000000006a4730440220340f35055aceb14250e4954b23743332f671eb803263f363d1d7272f1d487209022037a0eaf7cb73897ba9069fc538e7275c5ae188e934ae47ca4a70453b64fc836401210234257444bd3aead2b851bda4288d60abe34095a2a8d49aff1d4d19773d22b32cffffffff01a0860100000000001976a9147821c0a3768aa9d1a37e16cf76002aef5373f1a888ac00000000").unwrap();
match verify_script(&pubkey, &tx, 0, ScriptVerificationFlags::empty()) {
Ok(_) => println!("transaction verified"),
Err(e) => panic!("transaction did not verify: {:?}", e)
}
}
依赖项
~110KB