JB BTC WALLET

BTC Transaction Generator

UTXO to spend:

Raw Previous Tx Data (HEX) -------------->
TXID (HEX - 32 bytes normal order) ------> Check out tx on blockchain explorer
VOUT (DEC) ------------------------------>
- output[vout].amount (DEC) -------------> 0 sats = 00000000 (little-endian)
- output[vout].scriptPubKey (HEX) -------> 0 bytes (0x00)

Script -------> OP_0 + OP_PUSHBYTES_20 + aa966f56de599b4094b61aa68a2b3df9e97e9c48

Script Type --> P2PKH (Pay to Public Key Hash) - Legacy

PubKeyHash ---> 38c0f3b9233b5da6798290244ae59b2a2489507e

BTC Address --> 16B5zHZY88D6v4QqzUMWRXGAKFXxYdoEoD

Redeem Script for P2SH (HEX) ------------>
Private Key (HEX - 32 bytes) ------------> ✔ (valid)
New Transaction: BTC Address (destination) --------------->
Amount to transfer (DEC) ----------------> = 00000000 (little-endian)
Fee (utxo - amount) ---------------------> 0 (sats)
Optional embedded message ---------------> *Adds an extra output with a message after OP_RETURN

Raw Transaction Data (HEX):

Send it to the network with: $ bitcoin-cli sendrawtransaction [rawTxData] or publish it here: https://btc.com/tools/tx/publish

BTC Single Sig Wallet


Private Key (HEX - 32 bytes) ------------>
Private Key (WIF - 51 chars uncomp) ----->
Private Key (WIF - 52 chars compress) --->
Private Key (DEC) ----------------------->
Private Key (BIN - 256 bits) ------------>
Public Key Compressed (HEX - 33 bytes) ---------->
Public Key Uncompressed (HEX - 64 bytes) -------->
Public Key ECDSA Coordinates (HEX - 32 bytes) --->

Public Key Hash (20 bytes) ------->
BTC P2PKH Address (34 chars) ----->
BTC P2WPKH Address (42 chars) ---->

BTC Hierarchical Deterministic Wallet

Seed Phrase Size:
Seed Phrase (HEX - 16 bytes) ---->
Seed Phrase Mnemonic ------------>
Seed Phrase Mnemonic Ascii HEX --> ffffffffff

01. piano = 2047 = 0101000101 02. piano = 2047 = 0101000101 03. piano = 2047 = 0101000101
04. piano = 2047 = 0101000101 05. piano = 2047 = 0101000101 06. piano = 2047 = 0101000101
07. piano = 2047 = 0101000101 08. piano = 2047 = 0101000101 09. piano = 2047 = 0101000101
10. piano = 2047 = 0101000101 11. piano = 2047 = 0101000101 12. piano = 2047 = 0101000101
13. piano = 2047 = 0101000101 14. piano = 2047 = 0101000101 15. piano = 2047 = 0101000101
16. piano = 2047 = 0101000101 17. piano = 2047 = 0101000101 18. piano = 2047 = 0101000101
19. piano = 2047 = 0101000101 20. piano = 2047 = 0101000101 21. piano = 2047 = 0101000101
22. piano = 2047 = 0101000101 23. piano = 2047 = 0101000101 24. piano = 2047 = 0101000101

Seed Passphrase ------> mnemonic +
Master Seed (64 bytes HEX) -----> ffffffffff
Master Key:
- Private Key (32 bytes HEX) ------> ffffffffff
- Public Key (32 bytes HEX) -------> ffffffffff
- Public Key Hash (20 bytes HEX) --> ffffffffff
- Chain Code (32 bytes HEX) -------> ffffffffff
- xPrv (78 byte) ------------------> ffffffffff
- xPub (78 byte) ------------------> ffffffffff


Derived Child Keys:
Level 0 (purpose) --- Index: Hardened: (2147483648 + index)
Level 1 (coinType) -- Index: Hardened: (2147483648 + index)
Level 2 (account) --- Index: Hardened: (2147483648 + index)
Level 3 (receiving) - Index: Hardened: (2147483648 + index)
Level 4 (wallet) ---- Index: Hardened: (2147483648 + index)
- Child Index ---------------------->
- Derivation Path ------------------>
- Private Key (32 bytes HEX) ------->
- Public Key (32 bytes HEX) -------->
- Public Key Hash (20 bytes HEX) --->
- Chain Code (32 bytes HEX) -------->
- xPrv (78 byte) ------------------->
- xPub (78 byte) ------------------->
- p2pkh Address (34 chars) --------->
- p2wpkh Address (42 chars) -------->