2

I'm developing an application that writes data block inside the Tangle on the IOTA Mainnet. I need that the data blocks persist in time, without loosing them. I recently discovered (thanks to a Iota tech team member) that there is a sort of message pruning that can remove data blocks, and this is a crucial problem for my requirements. In example, I write this data block without using addresses/wallet and without having a node running: https://explorer.iota.org/mainnet/message/1e21dccabed7e3d86327d30d5cabaca10189f964b521d950394f431481c3396d

If I undestand well, this message will be deleted after -I don't know- certain amount of time, is it correct? How can be possible if blocks validates other blocks?

My question is: how can I write data inside the Tangle and persist it "forever"?

Since only the UTXO are persistent inside the Tangle, if I write a transaction that sends a certain amount of IOTA to the same address, with a data payload, will this message (and its data) persist in the Tangle without the risk of data pruning? Some people suggested me to use Shimmer to reach this type of persistence, but Shimmer is a staging environment, and I also need to start up some nodes and guarantee the data availability in order to get my data block persistent in time.

Thanks a lot.

1 Answer 1

1

Too many questions in one.

If I undestand well, this message will be deleted after -I don't know- certain amount of time, is it correct? How can be possible if blocks validates other blocks?

Yes, this is correct. But blocks do not validate other blocks, I will say they are linked. The blocks are only gossiped among the nodes to achieve consensus to change their internal UTXO state. Once consensus is achieved no need for the blocks any more.

My question is: how can I write data inside the Tangle and persist it "forever"?

You need to create outputs on the tangle. In the iota Mainnet it is not possible to store specific data on the outputs. Shimmer network allows it. A more detailed answer on this here.

On the structure of a block to store metadata on the outputs follow this but instead of using the "sender" feature use the "metadata" feature of the output. The specifications here.

Since only the UTXO are persistent inside the Tangle, if I write a transaction that sends a certain amount of IOTA to the same address, with a data payload, will this message (and its data) persist in the Tangle without the risk of data pruning?

No.

Some people suggested me to use Shimmer to reach this type of persistence, but Shimmer is a staging environment, and I also need to start up some nodes and guarantee the data availability in order to get my data block persistent in time.

You can setup shimmer nodes by following this.

Take into account that outputs on the testnet will be erased because you can create those for free(by using the faucet) and this will explode the database of the nodes.

2
  • Thanks a lot Eddy, you gave me all the answer I needed. I think I will use shimmer mainnet instead of Iota mainnet, waiting for Iota 2.0. Another little question: shimmer allows metadata inside outputs. So how can shimmer avoid the dust? I can send infinite transaction of 1.000.000 iota (for avoid dust protection) with metadata to myself, again and again. I think I'm missing something.
    – keuzzolo
    Dec 13, 2022 at 14:21
  • Why my data inserted one month ago is still there? explorer.iota.org/mainnet/message/… Iota, every time I learn something, I miss something. What a mess I am :-(
    – keuzzolo
    Dec 22, 2022 at 12:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.