Hey!, Today Luca asks: Can I write on a Bitcoin Blockchain? Can I drop down a message? Yes, Luca of course you can! You can leave a message on a Bitcoin blockchain using a particular op code, called . OP_RETURN Through this operation code, your UTXO became ! You can use at most 80 bytes for your message (160 hexadecimal characters)! unspendable This operation is known as “timestamping of write information” because the message will become part of a block with a timestamp as well. In Action Can I write on Bitcoin Blockchain? — Italian Language 🇮🇹 First of all, I get a SegWit address from my testnet node. $ bitcoin-cli getnewaddress tb1qrggdlvezgd4uy9mntz50mpmwd6l4vk9rm4ft3d "" "bech32" I need bitcoins! I need to use a faucet service such as: https://bitcoinfaucet.uo1.net/send.php After that, I can check my mempool and find my TX ID. $ bitcoin-cli getrawmempool | grep c5ce66d638f1b8ca702dfb8f7d1da7a6707d9c6497212dc66829c99f69b28b9a the is the faucet’s transaction. c5ce66d638f1b8ca702dfb8f7d1da7a6707d9c6497212dc66829c99f69b28b9a When can I use my UTXO? I can use it after the mining process. Please recover my UTXO with command. listunspent $ bitcoin-cli listunspent | jq [ { : , : , : , : , : , : , : , : , : , : , : } ] 1 101 '["tb1qrggdlvezgd4uy9mntz50mpmwd6l4vk9rm4ft3d"]' "txid" "c5ce66d638f1b8ca702dfb8f7d1da7a6707d9c6497212dc66829c99f69b28b9a" "vout" 1 "address" "tb1qrggdlvezgd4uy9mntz50mpmwd6l4vk9rm4ft3d" "label" "" "scriptPubKey" "00141a10dfb322436bc2177358a8fd876e6ebf5658a3" "amount" 0.00100000 "confirmations" 6 "spendable" true "solvable" true "desc" "wpkh([3a46ecca/0'/0'/4']020d12775323bbdaf0cb6e9a2b44ae7a591ef5872364e80e363a93d283c10b9e4f)#kxjva7dw" "safe" true Nice! I need to retrieve the private key, as we know it’s mandatory to sign my transaction. $ bitcoin-cli dumpprivkey tb1qrggdlvezgd4uy9mntz50mpmwd6l4vk9rm4ft3d cPHTHs7ERe6jDYiitj9eLVswsX3RpeKMB19eXYjpLb4CkEHd7drq Now, we are able to create an amazing message, for instance: corsocompleto.bitcoininaction.com. Yep, we need to use hexadecimal! $ printf | xxd -ps f72736f636f6d706c65746f2e626974636f696e696e616374696f6e2e636f6d "corsocompleto.bitcoininaction.com" 636 I have the necessary to create the transaction! Using I can retrieve a lot of information about this method. I want to use it on . help createrawtransaction $ bitcoin-cli help createrawtransaction The receiver is the faucet’s address, I give back bitcoins :). The address is: NGZrVvZG92qGYqzTLjCAewvPZ7JE8S8VxE 2 Finally, I can build my transaction, in the data field I can put my message. Remember that it will create an operation code as we discussed above. hexadecimal OP_RETURN $ bitcoin-cli createrawtransaction a8bb2699fc92968c62d2197649c7d70a6a71d7d8ffb2d70cab8f138d666cec50100000000ffffffff02b88201000000000017a914ffd0dbb44402d5f8f12d9ba5b484a2c1bb47da42870000000000000000236a21636f72736f636f6d706c65746f2e626974636f696e696e616374696f6e2e636f6d00000000 '[{"txid":"c5ce66d638f1b8ca702dfb8f7d1da7a6707d9c6497212dc66829c99f69b28b9a","vout":1}]' '[{"2NGZrVvZG92qGYqzTLjCAewvPZ7JE8S8VxE":0.00099000},{"data":"636f72736f636f6d706c65746f2e626974636f696e696e616374696f6e2e636f6d"}]' 02000000019 As you can see I have just one input, for that reason I don’t need of change address because I don’t have any change! n.b. Furthermore, I don’t spend my entire output because I need to pay fees (input-output = fees). Nice, we created the transaction data! Yeah! The next step is to sign it and send it! We need to use the method. signrawtransactionwithkey $ bitcoin-cli signrawtransactionwithkey a8bb2699fc92968c62d2197649c7d70a6a71d7d8ffb2d70cab8f138d666cec50100000000ffffffff02b88201000000000017a914ffd0dbb44402d5f8f12d9ba5b484a2c1bb47da42870000000000000000236a21636f72736f636f6d706c65746f2e626974636f696e696e616374696f6e2e636f6d00000000 { : , : } 02000000019 '["cPHTHs7ERe6jDYiitj9eLVswsX3RpeKMB19eXYjpLb4CkEHd7drq"]' '[{"txid":"c5ce66d638f1b8ca702dfb8f7d1da7a6707d9c6497212dc66829c99f69b28b9a","vout":1,"scriptPubKey":"00141a10dfb322436bc2177358a8fd876e6ebf5658a3","amount":0.00100000}]' "hex" "020000000001019a8bb2699fc92968c62d2197649c7d70a6a71d7d8ffb2d70cab8f138d666cec50100000000ffffffff02b88201000000000017a914ffd0dbb44402d5f8f12d9ba5b484a2c1bb47da42870000000000000000236a21636f72736f636f6d706c65746f2e626974636f696e696e616374696f6e2e636f6d0247304402205688399cb5a230f050330e2bc6d04d9864d459f85fec48a0118ca31be9239d530220228d7c04fe9e6eea3690033c01ed222284efaa01b28a9a7cae809bdb32d7ce7a0121020d12775323bbdaf0cb6e9a2b44ae7a591ef5872364e80e363a93d283c10b9e4f00000000" "complete" true Nice, the signature is valid, now we gonna send the transaction with method. sendrawtransaction $ bitcoin-cli sendrawtransaction a8bb2699fc92968c62d2197649c7d70a6a71d7d8ffb2d70cab8f138d666cec50100000000ffffffff02b88201000000000017a914ffd0dbb44402d5f8f12d9ba5b484a2c1bb47da42870000000000000000236a21636f72736f636f6d706c65746f2e626974636f696e696e616374696f6e2e636f6d0247304402205688399cb5a230f050330e2bc6d04d9864d459f85fec48a0118ca31be9239d530220228d7c04fe9e6eea3690033c01ed222284efaa01b28a9a7cae809bdb32d7ce7a0121020d12775323bbdaf0cb6e9a2b44ae7a591ef5872364e80e363a93d283c10b9e4f00000000 edee419f93521f43259b763ffb42e4b882504534494381b7e18057015a27c548 020000000001019 We obtained the transaction id. We can use a block explorer ( ) with the in order to find out the transaction and check its structure. https://tbtc.bitaps.com/ transaction id Our message! Amazing Bitcoin course 🚀 — corsocompleto.bitcoininaction.com The transaction has been sent properly and now it’s waiting for mining. It contains two outputs. One of them is for faucet’s address, the other one is an unspendable UTXO, because it contains our message with operation code: . OP_RETURN Through this example, we can now understand which operation code is used to “write” on the Bitcoin Blockchain. You can find the code in our GitHub! Do you want more? You rock 🎸! , they are available at Amazon and corsobitcoin.com (accept bitcoin) Check our books See you next time! 🤟🏻 — — 🎥 Bitcoin in Action — 🐙 GitHub: https://bit.ly/2Lj3yeY — 📖 Libro Bitcoin dalla teoria alla pratica (Amazon) 📖 Libro Bitcoin dalla teoria alla pratica (pagamento in bitcoin) 📖 Libro Bitcoin dalla teoria alla pratica (Amazon) 📖 Book Bitcoin from theory to practice — 📖 Tascabile Bitcoin 199 domande (Amazon) 📖 Tascabile Bitcoin 199 domande (pagamento in bitcoin) 📖 Pocket Book Bitcoin 199 questions (Amazon) 📖 Pocket Book Bitcoin 199 questions (accept bitcoin) — 🎥 Video Corso Bitcoin dalla teoria alla pratica — ► , , , , , Twitter Facebook Medium Instagram Youtube GitHub Television isn’t a good idea (Radio Stations) Email isn’t a good idea (Post offices) Amazon isn’t a good idea (Retail stores) Bitcoin isn’t a good idea (Central banks) In we trust crypto