6

Coinbase transactions have some special rules not shared by other transactions: only one per block must be the first transaction in the block must have OP_RETURN output with witness commitment if block includes segwit transactions must have only one input the input must have the "coinbase" field instead of a scriptSig The "coinbase" field is where miners ...


4

The method described in the post has nothing to to with OP_RETURN, but is concerned with the SIGOP limits in a block. Each block has a limit on the number of SIGOPs that can be present in transactions in that block. Signature validation is a CPU intensive operation, and the limit exists to ensure that no block gets too big to validate on regular hardware. ...


2

The starting bytes 4c 50 has nothing to do with ASCII encoding. 0x4c represents opcode OP_PUSHDATA1 which indicates that the next opcode bytes is data to be pushed onto the stack. So in the examples that you have given, 4c 50 will indicate pushing the next 0x50 bytes onto the stack which is 80 bytes in decimal. The question you should have been asking is why ...


2

Bitcoin Core allows you to create transactions with up to 80 bytes of arbitrary data in an OP_RETURN output. You do this by using the raw transaction process (using createrawtransaction or fundrawtransaction) or the psbt process (using walletcreatefundedpsbt). For all of those commands, when you specify the outputs, you can specify one that is like: {"data":"...


1

Thanks to @Anonymous who pointed out bitcoin-iterate, I think I have found a solution that will work for me. This tool makes it very easy to extract all data you need in a custom format. All the tools that I listed in my original question had some pre-defined structure. I decided on a preliminary data structure that I defined in JSON. I will probably ...


1

There are roughly two approaches as you've noticed: process the block .dat files from running bitcoind rpc to a node, pull blocks or headers, and batch process them in parallel For speed, probably doing #1 is best, as BitcoinDataBaseGenerator does. Unfortunately, as you've noted, it stopped being maintained in early 2017 and so does not support Segwit. I ...


1

You will not be able to send a transaction with an OP_RETURN larger than 80 bytes unless you mine a block that includes the transaction. An OP_RETURN larger than 80 bytes is considered non-standard, but still valid, meaning nodes will not relay your transaction (on default settings) but will accept the transaction if it is included in a block. An ...


1

I work with obviously unspendable addresses. Send any one single line from a thin client, phone. Use a core node to bundle long messages with sendmany. https://live.blockcypher.com/doge/tx/63de9f4da10693813c977e895dafff0ae725ff9011c76d90f483c6243890ebb6/ This message goes on for 83 addresses and includes a real address, which causes the wallet on my ...


Only top voted, non community-wiki answers of a minimum length are eligible