Author: StJohn Piano
This page is subject to change at any time. It is not signed by its author or by Edgecase Datafeed.
4 minute read (5 pages)
Summary
This is a list of the types of services and tools that you may need when creating new Bitcoin transactions.
These services should allow you to:
1) Send and receive bitcoin.
2) Look up the list of unspent outputs that are stored in a Bitcoin address.
3) Look up current Bitcoin network transaction fee rates in satoshi / byte.
4) Decode a signed transaction.
5) Broadcast a transaction to the Bitcoin network.
6) Check the status of a transaction.
Specific active services are listed on the Other services page.
Contents
- Summary
- Contents
- Notes
- Details
Notes
Choose a high fee rate if you want your transaction to be mined quickly. Choose a low fee rate if the bitcoin transfer is not urgent.
Use a transaction decoder service to decode the transaction, which will confirm that its format is valid.
Use a transaction broadcast service to broadcast the transaction to the Bitcoin network.
Wait for the transaction to receive 6 confirmations.
If the transaction is not mined, create a new version of the transaction that invalidates the previous version and has a higher fee.
Details
1) Send and receive bitcoin.
You will need a service for this when you are first learning how to store bitcoin yourself.
This will probably be an online exchange service.
Other possibilities: An online wallet service, someone you know who is willing to sell bitcoin to you, another Bitcoin storage system that you already own.
2) Look up the list of unspent outputs that are stored in a Bitcoin address.
You will need the following details for each unspent output:
- "txid": The txid of the original transaction that sent the unspent output to its current address. It is a 64-hex-character string.
- "previous_output_index": The index of the unspent output in the list of outputs in the original transaction. It is an integer.
- "satoshi_value": The value of the unspent output in satoshi. It is an integer. Alternatively, look up the Bitcoin value of the unspent output, which will be a decimal value with 8 decimal places.
Suggestion: Use this recipe:
Recipe for looking up the unspent outputs in a Bitcoin address #2
The linked recipe relies on a particular feature of a specific block explorer. If that feature is discontinued at some point in the future, you can use the previous version of that recipe, which requires more manual work, but can be used with any block explorer. Link:
Recipe for looking up the unspent outputs in a Bitcoin address
3) Look up current Bitcoin network transaction fee rates in satoshi / byte.
The Other services page should list an active fee estimation service.
4) Decode a signed transaction.
If a transaction can be successfully decoded, this shows that it is formatted correctly.
The Other services page should list an active transaction decoder service.
5) Broadcast a transaction to the Bitcoin network.
The Other services page should list an active transaction broadcast service.
You should wait until the transaction has been mined (included in a new block) and a further 5 blocks have been mined afterwards (so 6 confirmations in total). The end of the blockchain is somewhat mutable, but a block becomes increasingly immutable as it moves further back into the chain.
Any valid signed transaction can be stored and rebroadcast by any other party, so any new version must invalidate the old version of the transaction.
Please read the following article to learn how to safely manage making a new version of your transaction:
Recipe for managing the fee and broadcast of a Bitcoin transaction #2
6) Check the status of a transaction: Has it been mined? If so, how many confirmations has it received?
A block explorer will allow you to search for a txid (transaction ID) and see the transaction's current status and number of confirmations. The Other services page should list an active block explorer.