Author

Topic: [Beginner Guide] How to Create message on blockchain. (Read 241 times)

legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
why it is start with j before your message?
Try parsing it with ASCII and you should be able to see the message decodes correctly.

While ASCII do the job (in this case), most application uses UTF-8 nowadays.

Try parsing it with ASCII and you should be able to see the message decodes correctly.
What is the maximum length of message?
80 bytes, but I think there is a few bytes of overhead.

It's 3 bytes overhead (1 byte for OP_RETURN itself and 2 bytes for size of the message/data). See this thread if anyone have technical question on OP_RETURN, https://bitcointalksearch.org/topic/some-question-about-opreturn-5310671.

I thought that the only way was to send to an address containing the message, but the private key could not be obtained from it, such as 1thisismybtcaddresssendittome
No. That isn't a very smart way of encoding messages, though it has been done using a similar method but not with an address that would be obvious to the eye. It'll be inefficient and creates unnecessary UTXOs though.

Reference for storing message/data on Bitcoin before OP_RETURN exist, http://www.righto.com/2014/02/ascii-bernanke-wikileaks-photographs.html.
legendary
Activity: 3444
Merit: 10558
Quote
80 bytes, but I think there is a few bytes of overhead.
80 bytes is the limit for message size, the extra bytes are the script related bytes including the OP_Return itself and 2 bytes for the data push and if it is otherwise the script would be considered non-standard (meaning if it is OP_Return instead of OP_Return OP_PushSize )

For ref: https://github.com/bitcoin/bitcoin/blob/1c7be9ab90af14d24f4668b02d9f07cec6f88a78/src/script/standard.h#L95-L99
https://github.com/bitcoin/bitcoin/blob/1c7be9ab90af14d24f4668b02d9f07cec6f88a78/src/script/standard.cpp#L151-L153
IsPushOnly could fail if the data is not correctly pushed to the stack.

[BTW quote does't work on your comment for some weird reason, it works on other comments though!]
legendary
Activity: 1484
Merit: 1024
#SWGT CERTIK Audited
I thought that the only way was to send to an address containing the message, but the private key could not be obtained from it, such as 1thisismybtcaddresssendittome

Possible will get an error message as invalid address or script.



However, we can find on the explorer the custom address signed as a valid, for example; 1CounterpartyXXXXXXXXXXXXXXXUWLpVr, possible nobody owned such the private key and that address created for burning purposes.
legendary
Activity: 2954
Merit: 4158
why it is start with j before your message?
Try parsing it with ASCII and you should be able to see the message decodes correctly.
What is the maximum length of message?
80 bytes, but I think there is a few bytes of overhead.
I thought that the only way was to send to an address containing the message, but the private key could not be obtained from it, such as 1thisismybtcaddresssendittome
No. That isn't a very smart way of encoding messages, though it has been done using a similar method but not with an address that would be obvious to the eye. It'll be inefficient and creates unnecessary UTXOs though.
legendary
Activity: 1582
Merit: 1284
why ouput is different from your input?
Code:

input is: blue Snow bitcointalk
Hex: 626c756520536e6f7720626974636f696e74616c6b
OP_RETURN: 6a15626c756520536e6f7720626974636f696e74616c6b
Text: jblue Snow bitcointalk
why it is start with j before your message? What is the maximum length of message?
I thought that the only way was to send to an address containing the message, but the private key could not be obtained from it, such as 1thisismybtcaddresssendittome
legendary
Activity: 2954
Merit: 4158
How can I found the IP address in explorer?, Is there any script to do that?
No. I was talking about the Electrum servers.

Your client sends the list of addresses in your wallet to the server that you're connected to and thus links that group of addresses to each other as well as to a specific IP address. Regardless, it doesn't have to be done in Electrum as well, Bitcoin Core would be fine too.
legendary
Activity: 1484
Merit: 1024
#SWGT CERTIK Audited
Tor will prevent people from linking the group of addresses to your IP but it will not disassociate the addresses from each other. Tor is not a solution for privacy with Electrum. If you want privacy, don't use Electrum.
How can I found the IP address in explorer?, Is there any script to do that?

OP_Return on mainnet has a restriction of 80 bytes but the standardness rules on Testnet are disabled so your transaction will still be standard if it exceeds that limit. Reduce the message size if you want to send it on mainnet. I second the sentiment, OP_return encourages blockchain spam and is expensive as well.
thanks for that information. I received an error cause I try to create a transaction of about 439 bytes, which is over-limited, I guess.

If you have someone to send some message that you don't want others to see, this could be useful.
I want everyone to see my name on the blockchain, everything is clear, isn't covered.

I was create a signed message on blockchain either here: https://www.blockchain.com/btc-testnet/tx/e17d2c21edcdfefc1f5887241a857d40abce914946ddb416d91cbddde22485c7

see that output:

Code:
2d2d2d2d2d424547494e20424954434f494e205349474e4544204d4553534147452d2d2d2d2d0a4920616d20626c756520536e6f772066726f6d20626974636f696e74616c6b20666f72756d2c20746f64617920303920417072696c20323032312e200a49206861766520636f6e6669726d6564206d792032206164647265737320626331717865793738636771727667777a30613467727a666e79306d72766c677877773577707533376e20616e6420626331717167666a746d3473353935326463746e7a6b66676b6639616d37687632383636703572767473206973206d696e650a2d2d2d2d2d424547494e205349474e41545552452d2d2d2d2d0a3333333538414c386872736244753366667862526b78644e545637455548416555530a48306856484155493679506950394c4a6462746266646c4a584347307252786d796b4f54424b2f384a54784a4b496f6946706661527069456a31376f34587454797576397138616c7964462f5559636352614342634b413d0a2d2d2d2d2d454e4420424954434f494e205349474e4544204d4553534147452d2d2d2d2d

People should convert it to HEX to TEKS tool to know what I wrote - https://www.duplichecker.com/hex-to-text.php

So we can prove anything on blockchain and that's forever.

don't use the mainet chain. use testnet for that.
legendary
Activity: 2954
Merit: 4158
If you have someone to send some message that you don't want others to see, this could be useful. especially today where social media are able to see your personal information if you press allow when they asked you. This can be used for sure especially if the one who will gonna receive the message already knows how to use electrum.
Opposite of what you are saying. If you're using this, then everyone will be able to see whatever you've included as a message in the transaction.
hero member
Activity: 2184
Merit: 585
You own the pen
I never thought this is possible with the use of Electrum wallet. If you have someone to send some message that you don't want others to see, this could be useful. especially today where social media are able to see your personal information if you press allow when they asked you. This can be used for sure especially if the one who will gonna receive the message already knows how to use electrum.
legendary
Activity: 2954
Merit: 4158
haven't installed Tor on my PC it might not to connect?
Tor will prevent people from linking the group of addresses to your IP but it will not disassociate the addresses from each other. Tor is not a solution for privacy with Electrum. If you want privacy, don't use Electrum.

pardon me to waste the space of blockchain. I was just curious to try it on the real blockchain. cause I had tried on testnet before.
https://www.blockchain.com/btc-testnet/tx/e17d2c21edcdfefc1f5887241a857d40abce914946ddb416d91cbddde22485c7
idk I always receive an error message when tried broadcasting that op_return in a real blockchain.
OP_Return on mainnet has a restriction of 80 bytes but the standardness rules on Testnet are disabled so your transaction will still be standard if it exceeds that limit. Reduce the message size if you want to send it on mainnet. I second the sentiment, OP_return encourages blockchain spam and is expensive as well.
legendary
Activity: 1484
Merit: 1024
#SWGT CERTIK Audited
Electrum is not good to protect your privacy and when you leak your IP address by checking your transactions on block explorers without Tor connection, your identities can be leaked.
haven't installed Tor on my PC it might not to connect?

I should also add that bitcoin blockchain is not a message wallet for people to insert arbitrary messages into. It is a waste of space and money to do this. For example from now until the end of time every single bitcoin full node has to download, verify and store this 223 byte transaction.
pardon me to waste the space of blockchain. I was just curious to try it on the real blockchain. cause I had tried on testnet before.
https://www.blockchain.com/btc-testnet/tx/e17d2c21edcdfefc1f5887241a857d40abce914946ddb416d91cbddde22485c7
idk I always receive an error message when tried broadcasting that op_return in a real blockchain.
legendary
Activity: 3444
Merit: 10558
You should have done this on testnet not mainnet to have to also pay 6 sat/vbyte fee. Electrum does support testnet too, all you have to do is to run it with "--testnet" command line argument then create a wallet and claim some free value-less testnet coins from a faucet and make the transaction.

I should also add that bitcoin blockchain is not a message wallet for people to insert arbitrary messages into. It is a waste of space and money to do this. For example from now until the end of time every single bitcoin full node has to download, verify and store this 223 byte transaction.
legendary
Activity: 2170
Merit: 3858
Farewell o_e_l_e_o
Thank you for this guide.

Electrum is not good to protect your privacy and when you leak your IP address by checking your transactions on block explorers without Tor connection, your identities can be leaked.

legendary
Activity: 1484
Merit: 1024
#SWGT CERTIK Audited
People can't hide anything on the blockchain, bitcoin made this for transparent transactions, everyone without exception can see any transaction on the blockchain. but how can create a message if not for a purpose?, it could be an Invalid transaction of course. that called OP_RETURN.

I won't talk too much. I create an example of how this works using electrum wallet.

the result message on blockchain - https://blockchair.com/bitcoin/transaction/cc0ff08e8f14039717fac24e1e80b1a911c03025d42cba3294c68a2cbbf0b95c

look at the output you can find

Code:
OP_RETURN
626c756520536e6f7720626974636f696e74616c6b



Code:
blue Snow bitcointalk

my name on the bitcoin blockchain.  Grin




how could this happen?

go to electrum wallet and write pay to be OP_RETURN and message must be HEX Format and amount put it 0



Use tool teks to hex format to create a hexadecimal message (vice versa) after.

be careful write fee, use fee as suggested. I use 6 sat/byte, when write 1 sat received an error message can't handle it on mempool.

the result;



1. https://en.bitcoin.it/wiki/OP_RETURN
2. https://opreturn.org/

DWYOR
Jump to: