3 个版本
使用旧的 Rust 2015
0.8.4 | 2019年2月5日 |
---|---|
0.8.3 | 2019年2月5日 |
0.8.2 | 2019年2月5日 |
#13 在 #bech32
22KB
333 行
Syscoin Bech32
在 BIP-0173 中描述的 Bech32 格式下编码和解码 Syscoin 分离见证地址。
示例
use syscoin_bech32::{WitnessProgram, u5};
use syscoin_bech32::constants::Network;
let witness_program = WitnessProgram::new(
u5::try_from_u8(0).unwrap(),
vec![
0x00, 0x00, 0x00, 0xc4, 0xa5, 0xca, 0xd4, 0x62,
0x21, 0xb2, 0xa1, 0x87, 0x90, 0x5e, 0x52, 0x66,
0x36, 0x2b, 0x99, 0xd5, 0xe9, 0x1c, 0x6c, 0xe2,
0x4d, 0x16, 0x5d, 0xab, 0x93, 0xe8, 0x64, 0x33],
Network::Testnet,
).unwrap();
let address = witness_program.to_address();
assert_eq!(address,
"ts1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesrxh6hy".to_string());
let decoded = WitnessProgram::from_address(&address).unwrap();
assert_eq!(decoded, witness_program);
lib.rs
:
编码和解码 Bech32 Bitcoin Segwit 地址
对 Bitcoin 分离见证地址进行编码和解码。Bech32 是 BIP-0173 中描述的编码方案,由 Bech32 编码的分离见证地址简单地将特定币种的可读部分与见证程序的数据组合为 Bech32 数据负载。
示例
use syscoin_bech32::{WitnessProgram, u5};
use syscoin_bech32::constants::Network;
let witness_program = WitnessProgram::new(
u5::try_from_u8(0).unwrap(),
vec![
0x00, 0x00, 0x00, 0xc4, 0xa5, 0xca, 0xd4, 0x62,
0x21, 0xb2, 0xa1, 0x87, 0x90, 0x5e, 0x52, 0x66,
0x36, 0x2b, 0x99, 0xd5, 0xe9, 0x1c, 0x6c, 0xe2,
0x4d, 0x16, 0x5d, 0xab, 0x93, 0xe8, 0x64, 0x33],
Network::Testnet
).unwrap();
let address = witness_program.to_address();
assert_eq!(address,
"tb1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesrxh6hy".to_string());
let decoded = WitnessProgram::from_address(&address).unwrap();
assert_eq!(decoded, witness_program);
依赖项
~180KB