Title: Exemple d'utilisation d'une adresse multisig 2-2 Post by: kcud_dab on June 19, 2014, 11:01:19 PM Voici le résultat de petis tests réalisés avec une adresse multisig.
Le but était de créer et de signer des tx avec une adresse n-m (il faut n clées sur les m pour signer une transaction) avec n = m = 2. Thx à davout pour l'assistance sur le chan irc #bitcoin-fr, et à perl pour son exemple ici (https://bitcointalk.org/index.php?topic=482531.0) (sauf que je signe en une seule fois dans mon exemple). (les autres sources c'est le forum en anglais ou google, donc vu qu'ils ne nous liront pas pas besoin de les remercier :-) Bref : ############################################### Préparation des 2 privates keys ############################################### Création de 2 adresses avec vanity gen par ex : Code: $ ./vanitygen 1A Code: $ ./vanitygen 1B Nous avons donc : 1AUACQnPPxWk34f4ru91rQym1rHRNmfyWF et 1BkvkS4dvt5uEM7hH6muYWLKvm3rCgzpD1 Import des adresses dans Bitcoin Core/bitcoind Code: $ ./bitcoind importprivkey "5K7GrfvAczQYuAtJXmFByqf9GLJ74ydB1N7eqZGj8987KbmjLCT" 1A Code: $ ./bitcoind validateaddress 1AUACQnPPxWk34f4ru91rQym1rHRNmfyWF ############################################### Création de l'adresse multisig 2-2 ############################################### Création : Code: $ ./bitcoind addmultisigaddress 2 '["04e1ad0319283c15d3a4ba0a39478fafacdb723c9380d361133b96c760b5e450f7a7057e3c62f45d020c635f8c99e3978ed6690b98184275385171b6c7b9399d40","049fdcc896ac8ee36884cc6a35160ad5664b81d6ff0e56cc231ff9531358fadb6477159fc71253445104b366110b6e55799472e5024d213aa370207840ad4c4096"]' L'adresse 2-2 est donc : 3FFXxVEhBtwgvWvqxNKuDdk18y1pWVBuFK Vérification : Code: $ ./bitcoind validateaddress 3FFXxVEhBtwgvWvqxNKuDdk18y1pWVBuFK ############################################### On recharge le solde de l'adresse :-) ############################################### Envoi depuis blockchain.info, txid : 679235f8a3d47774967506e644110d8e9525d6ef8e8b06dc59c4f70f666705b1 https://blockchain.info/tx/679235f8a3d47774967506e644110d8e9525d6ef8e8b06dc59c4f70f666705b1 Le but était de renvoyer les BTC à l'adresse d'où ils viennet, donc : 16KT1voxZq7jZEYfuS4xtkxy1naE2nYE6w ############################################### Création de la transaction ############################################### On a besoin pour ça de connaitre les inputs disponibles (on prend comme input l'outpout de la transaction de recharge) : https://blockchain.info/rawtx/679235f8a3d47774967506e644110d8e9525d6ef8e8b06dc59c4f70f666705b1 On renvoie 0.0001 BTC à l'adresse d'origine, ce qui fait 0.0002 - 0.0001 de fees (input(s) - output(s)) Code: $ ./bitcoind createrawtransaction '[{"txid" : "679235f8a3d47774967506e644110d8e9525d6ef8e8b06dc59c4f70f666705b1", "vout" : 0}]' '{"16KT1voxZq7jZEYfuS4xtkxy1naE2nYE6w" : 0.0001}' ############################################### Signature de la transactions ############################################### Code: $ ./bitcoind signrawtransaction "0100000001b10567660ff7c459dc068b8eefd625958e0d1144e60675967477d4a3f83592670000000000ffffffff0110270000000000001976a9143a55d552897303926437049aa348c1623a84575d88ac00000000" '[{"txid" : "679235f8a3d47774967506e644110d8e9525d6ef8e8b06dc59c4f70f666705b1", "vout" : 0, "scriptPubKey" : "a91494c004454d13a0db37d981400a128f02321564b187", "redeemScript" : "524104e1ad0319283c15d3a4ba0a39478fafacdb723c9380d361133b96c760b5e450f7a7057e3c62f45d020c635f8c99e3978ed6690b98184275385171b6c7b9399d4041049fdcc896ac8ee36884cc6a35160ad5664b81d6ff0e56cc231ff9531358fadb6477159fc71253445104b366110b6e55799472e5024d213aa370207840ad4c409652ae"}]' '["5K7GrfvAczQYuAtJXmFByqf9GLJ74ydB1N7eqZGj8987KbmjLCT","5Je1z9roEnhCtfDV8d6sCsDuyqZ9FXV6JcMspsUVMYf1UFFUG2U"]' ############################################### On broadcast la transaction sur le réseau ############################################### Code: $ ./bitcoind sendrawtransaction "0100000001b10567660ff7c459dc068b8eefd625958e0d1144e60675967477d4a3f835926700000000fd1a0100473044022039bb29798ea03d3c64e16ac57676e6b51321fe08a0764f1812e50887a5ee058c0220344770ec5f8bb74d4923adba319a36c37895415df4e810b4e8e262d7daab88d80147304402207dd14a57595d9904878a43c8a49744c3e13d20ad696767b4ec5a06b6434a839e02204612149133d595c1b918a51906bb3d332ea458c58f5c65d02958ff24839a0b57014c87524104e1ad0319283c15d3a4ba0a39478fafacdb723c9380d361133b96c760b5e450f7a7057e3c62f45d020c635f8c99e3978ed6690b98184275385171b6c7b9399d4041049fdcc896ac8ee36884cc6a35160ad5664b81d6ff0e56cc231ff9531358fadb6477159fc71253445104b366110b6e55799472e5024d213aa370207840ad4c409652aeffffffff0110270000000000001976a9143a55d552897303926437049aa348c1623a84575d88ac00000000" Comme vous pouvez le voir la transaction a été rejetée par mon bitcoind mais c'est parce que ma blockchain n'était pas à jour..., les mêmes commandes faites hier par davout avec les mêmes adresses fonctionnaient : https://blockchain.info/tx/66b80651a37f9c58155ee72cab01c9cccbc276a2cb0e9a1ca420cbf962bd239a J'ai refait un test avec la blockchain à jour sur une autre adresse 2-2 depuis, c'est passé comme une lettre à la poste (transaction en attente de confiramtion :-) Title: Re: Exemple d'utilisation d'une adresse multisig 2-2 Post by: mangodream on June 20, 2014, 12:14:06 AM Super intéressant, merci pour l'exemple ;)
Title: Re: Exemple d'utilisation d'une adresse multisig 2-2 Post by: yohannc on June 20, 2014, 09:18:54 PM Donc si je comprends tu as fait une transaction en faisant une multi-signature.
C'est ça ? Title: Re: Exemple d'utilisation d'une adresse multisig 2-2 Post by: kcud_dab on June 21, 2014, 07:42:28 AM Donc si je comprends tu as fait une transaction en faisant une multi-signature. C'est exactement ça.C'est ça ? 2 clés qui permettent de signer des TX, 1 clé seule ne sert a rien |