Consider I am a token creator and have distributed the token to millions of accounts or users. As part of my token concept, token holders need to send data to other token holders or the creator. One way to accomplish this is to send transaction with minimum token value, pay the fee in XLM and attach the hash of the data in memo field. 1. The data is present in some server but the hash is stored in memo of a transaction. Hence memo can be treated as immutable since it's stored in ledger. Is this correct ? 2. Will the validators or others consider this as spamming? ( Since we are using memo field in a transaction )
1 Answer
With your idea you are going to use transactions on the stellar network as a message system to pass the hash to the recipient(s). That should technically work fine as the field is there and it won't be modified. But on the other hand you pointed out already that it won't help the main purpose of storing and transferring assets for everybody when you address millions of accounts.
I would consider a different solution where you own the message system and the memo field length won't be a limiting factor as well as horizon rate limits for sending/ receiving.
Just to mention it: it is also possible to store data within the accounts.
-
Actually I am thinking of voting related app. Votes can be registered in memo field. Need transaction to record the votes in ledger. Need token so that user do not send actual XLM (except for the fee) with the assumption that token value will be 0. Any other idea to implement the same ?– jagstockFeb 27, 2018 at 6:31
-
I would like the reiterate what alpe said. This can probably best be done off-chain. You can still store the results on-chain in some sort of hash (or a hashed/merkelized data structure), but stellar is more of a payment network than a distributed database like IPFS, Filecoin, or Storj.– RobMar 16, 2018 at 18:22