-
-
Save matthieu/b07c5ba27bc99188a15f to your computer and use it in GitHub Desktop.
# In this example we're sending some test bitcoins from an address we control to a brand new test | |
# address. We'll be sending the coins using the following address, public and private keys (please | |
# don't abuse). | |
# address : mtWg6ccLiZWw2Et7E5UqmHsYgrAi5wqiov | |
# public : 03bb318b00de944086fad67ab78a832eb1bf26916053ecd3b14a3f48f9fbe0821f | |
# private : 1af97b1f428ac89b7d35323ea7a68aba8cad178a04eddbbf591f65671bae48a2 | |
# 1. generate a one-shot dummy address we're going to send money to | |
$ curl -X POST http://api.blockcypher.com/v1/btc/test3/addrs | |
{ | |
"private": "19fe93f06878926cc3a75d092621397e958ee82c362cdf61f4eb2d6a12917577", | |
"public": "03c3c99511cd377c8f24c23a1cfbc1145fbdbddc93de0d70792dfa13ef08e7dd4f", | |
"address": "mzqUStzz6VqByVVMndXNFkpnmc9y8XeJ7o" | |
} | |
# 2. build the transaction and save the full output to send.json | |
$ curl -d '{"inputs": [{"addresses": ["mtWg6ccLiZWw2Et7E5UqmHsYgrAi5wqiov"]}], "outputs": [{"addresses": ["mzqUStzz6VqByVVMndXNFkpnmc9y8XeJ7o"], "value": 25000}]}' http://api.blockcypher.com/v1/btc/test3/txs/new > send.json | |
# 3. we generate a signature using the above private key and the data provided in the "tosign" | |
# property of send.json. To do so we use the utility at https://github.com/blockcypher/btcutils/tree/master/signer | |
# (go build to get binary) | |
$ ./signer e6e59c20e6b7b720ac5e61e82e7eea66ce8b8aadc8beb422b2701869cfae42c2 1af97b1f428ac89b7d35323ea7a68aba8cad178a04eddbbf591f65671bae48a2 | |
3044022025812b93f58b3473124ae726c405cac51f39bb89c110e90f77b2f31a2e1fac67022015b8f1c3fa2ce6d0af44f682ed7e1d7933e51d06099c3eaae8725089b7a8a80e | |
# 4. we edit send.json and append the above public key and the newly created signature at the end | |
# of the file to end up with the following at the bottom of the file (the rest above it is unchanged): | |
$ tail -n 10 send.json | |
"tosign": [ | |
"e6e59c20e6b7b720ac5e61e82e7eea66ce8b8aadc8beb422b2701869cfae42c2" | |
], | |
"signatures": [ | |
"3044022025812b93f58b3473124ae726c405cac51f39bb89c110e90f77b2f31a2e1fac67022015b8f1c3fa2ce6d0af44f682ed7e1d7933e51d06099c3eaae8725089b7a8a80e" | |
], | |
"pubkeys": [ | |
"03bb318b00de944086fad67ab78a832eb1bf26916053ecd3b14a3f48f9fbe0821f" | |
] | |
} | |
# 5. finally, sending the resulting transaction with the signature and the public key | |
$ curl -d @send.json http://api.blockcypher.com/v1/btc/test3/txs/send | |
# This will output the final transaction, including its hash. |
"e6e59c20e6b7b720ac5e61e82e7eea66ce8b8aadc8beb422b2701869cfae42c2"
],
"signatures": [
"3044022025812b93f58b3473124ae726c405cac51f39bb89c110e90f77b2f31a2e1fac67022015b8f1c3fa2ce6d0af44f682ed7e1d7933e51d06099c3eaae8725089b7a8a80e"
],
"pubkeys": [
"03bb318b00de944086fad67ab78a832eb1bf26916053ecd3b14a3f48f9fbe0821f
Thanks for this. Works perfectly. Do you have a similar gist for sending with Multisig addresses?
hi. how to send btc from segwit address? thank you!
You saved my life man. Thanks
bro could you please contact me.
khatami929 @ gmail
Thanks for this. Works perfectly. Do you have a similar gist for sending with Multisig addresses?
Hello.
Dies it work ?
At the last step, when I send the JSON to the blockchain I get this error :
"Error validating generated transaction: Error running script for input 0 referencing e27019baee9853a54faa61cd7279a72d1f4576c628610ae106ac662ab9da3035 at 0: Script was NOT verified successfully."
Can someone help me please ?
Incredibly helpful! Thanks!
Ho to use it can any one can tell me
i need flash btc software
At the last step, when I send the JSON to the blockchain I get this error :
"Error validating generated transaction: Error running script for input 0 referencing e27019baee9853a54faa61cd7279a72d1f4576c628610ae106ac662ab9da3035 at 0: Script was NOT verified successfully."
Can someone help me please ?
I got the same issue. How did you solve it?
Anybody please help me too I must be retarded or something I can't figure this out
Pls would love to know how to do this. Thanks. Manually setting it in transaction req /tx/new not working