Created
October 19, 2021 10:55
-
-
Save RCasatta/86874189144f7c391d6fc27b7ed60a82 to your computer and use it in GitHub Desktop.
taproot tests, trying to derive same taproot address from core and from rust
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#[test] | |
fn taproot_tests() { | |
let secp = Secp256k1::new(); | |
let secret = Vec::from_hex("6c068c2094c3f0986741cddbaff96399e338b4120671c6640216d3e474487a19").unwrap(); | |
let pair = KeyPair::from_seckey_slice(&secp, &secret).unwrap(); | |
let public = schnorr::PublicKey::from_keypair(&secp, &pair); | |
assert_eq!(public.to_hex(),"72ad3fb702bf1a2111b09c2bf1e72f4f52d4ceb2acdcfcd0c63abf70a59c36d6"); | |
let second_secret = Vec::from_hex("1cbb4d11a771697c1d86d0bbbcf0344b1e8b70d0cc794c3d9d6eff613390ba5e").unwrap(); | |
let second_pair = KeyPair::from_seckey_slice(&secp, &second_secret).unwrap(); | |
let second_public = schnorr::PublicKey::from_keypair(&secp, &second_pair); | |
assert_eq!(second_public.to_hex(),"244325643930d620858e8628311936ee3cee1e7e9fb2267a488de2eca05b802e"); | |
let merkle_script = Script::new_witness_program(WitnessVersion::V1, &second_public.serialize()); | |
let script_odds = vec![ | |
(1, merkle_script), | |
]; | |
let tree_info = TaprootSpendInfo::new_huffman_tree(&secp, public, script_odds.clone()).unwrap(); | |
let script = Script::new_witness_program(WitnessVersion::V1, &tree_info.output_key().serialize()); | |
let address = Address::from_script(&script, Network::Signet).unwrap(); | |
assert_eq!(address.to_string(),"tb1pdjcygdnme64g2jrxvsq2tskm8wg5p63xam9y9twy46v3zsucc9uqjzfu7r"); | |
let address = Address::from_script(&script, Network::Bitcoin).unwrap(); | |
assert_eq!(address.to_string(),"bc1pdjcygdnme64g2jrxvsq2tskm8wg5p63xam9y9twy46v3zsucc9uq92lnyv"); | |
/* | |
$ bitcoin-cli -signet deriveaddresses "tr(72ad3fb702bf1a2111b09c2bf1e72f4f52d4ceb2acdcfcd0c63abf70a59c36d6,pk(244325643930d620858e8628311936ee3cee1e7e9fb2267a488de2eca05b802e))#7n0yvjke" | |
[ | |
"tb1prv2fch7n3jg27wnxpgnk9m4vgzzvlerykfz7njhqa9hm44g4prrq8kdvjn" | |
] | |
*/ | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment