In many blockchain networks, such as Ethereum, there are limitations оn the maximum size of a single transaction. This directly limits the amount of stored data, which makes storing a large file difficult.
Storing larger pieces of data on Ethereum BlockChain is possible with the help of special software. To overcome data size limits, BlockChi first converts data to a JSON object and then splits the object into multiple hexadecimal chunks of data, that can be stored in multiple transactions within their data limit. BlockChi can then read all transactions, combine the data and decode it from hexadecimal to JSON which results in the original JSON object.
Here is the procedure to store your data on Ethereum blockchain:
- Prepare the data to be stored as a JSON object. Use the default web-based BlockChi editor for this purpose https://boyanborislavovyankov.github.io/BlockChi-Ethereum-Blockchain-Payload-Tools/demo-editor.html. Select the feature to split data into 32kb parts to overcome the transaction limit. The resulting JSON objects will contain all data, including any files.
- Take the hexadecimal format as prepared by the BlockChi editor on the previous step. There will be multiple HEX parts if your data is bigger.
- Send the transactions with the data in HEX format as payload. MyCrypto wallet has been tested to work well for this purpose. In the data/payload field use the prepared transaction payload – in hexadecimal format. For testing purposes, a testing network can be used, for example, the Ropsten testnet network.
Now you are ready to read your published data. Try doing this in the official reader demo: Put the transaction hash and read the data: https://boyanborislavovyankov.github.io/BlockChi-Ethereum-Blockchain-Payload-Tools/demo-read.html For data which spans on multiple transactions, put a comma separated list of transaction hashes – ordered from the first to the last.
ction hashes – ordered from the first to the last.
Here is a demo of a long article loaded from multiple blockchain transactions: https://satoshijournal.com/the-gold-bug-read-on-blockchain/. Here is the list of transaction hashes used in the demo: 0xc0db25e277df7711bda3266e143a0bc24edc0bf3dbde2d295b7c9f70983d1177,0x35e46a6ad829473000a00511cd17c1f599176688afc3cd83d9fad8d050140046,0x52125be5a250a3a6caa6622438e274cce61998bd38ba23b348354e5dfd9cecba,0xcb4097f6a4e76daf6b75c9351d14747cbc9b2f251ee373775e290a6aaa04983d,0x62eb9f0ff17e69748da0e71185666e9e812ada0cc0905f048ab6b1003b2da546