6 个版本 (3 个破坏性更新)
0.7.0 | 2022年7月6日 |
---|---|
0.6.0 | 2021年12月20日 |
0.3.0 | 2021年7月6日 |
0.2.3 | 2021年6月20日 |
0.2.2 | 2021年4月4日 |
#27 in #握手
125KB
2.5K SLoC
握手
此包提供了与 握手 网络交互的接口。支持完整契约构建、序列化和反序列化交易。可以与 coins-bip32 包一起使用以签名交易。
此包正在积极开发中,API 可能会更改。
用法
通常,您希望将网络作为入口点使用。这将确保使用正确的网络特定常量。`tx_builder` 对于创建和序列化交易非常有用。
use coins_core::{builder::TxBuilder, nets::Network, ByteFormat};
use std::convert::TryFrom;
use handshakes::{
types::{Covenant, CovenantData, CovenantType, HandshakeTx, Outpoint},
HandshakeMainnet,
};
// Create a covenant
let covenant = Covenant {
covenant_type: CovenantType::try_from("NONE").unwrap(),
covenant_data: CovenantData::null(),
};
// Create an address
let address = HandshakeMainnet::string_to_address("hs1qcu0cff5ma6uxgy0ffkmgsj28ucqwtqt9eqnp06").unwrap();
// Build a transaction
let tx = HandshakeMainnet::tx_builder()
.spend(Outpoint::default(), 0x00000000)
.pay_covenant(0x8000_0000, &address, covenant)
.build()
.unwrap();
let hex = tx.serialize_hex();
let serialized = HandshakeTx::deserialize_hex(&hex).unwrap();
assert_eq!(tx, serialized);
有关更多详细信息,请参阅文档。
构建和运行测试
cargo构建
cargo测试
- 构建文档:
$ cargo rustdoc
依赖项
~6MB
~109K SLoC