I'm running a pool and currently, balance withdraw requests come through arbitrary messages. While it works, it is unnecessary to store the AM on the blockchain forever. Instead I'd rather use something that has a limited life so as not to bloat the blockchain over time. I would also like to add other functionality that uses messaging but again, it doesn't need to stay on the blockchain forever.
So.... transient messages or prunable messages. What opinions do other developers have?
From what I read on the NXT API wiki, transient messages are basically one half of an escrow transaction. A warning given on the wiki indicates that forks and blockchain reorganization have the possibility of not being included or transmitted to the unconfirmed transaction pool. How likely is this? It would be nice to provide the services using the free messaging, but I would want to guarantee that the messages are sent and received.
Prunable messages seem like the best option as they are true AM messages (that have 0.1 fee) but they are accepted and broadcast through network. Once they expire (2 weeks), the message data is not further propagated across network. While I can program this against the API, I don't see an option in the Lompsa wallet to send a message with prunable data. While this is not a show stopper, it would seem that having a message defaulted to prunable would be a better long term option. The user could then decide if the message should live forever on the block chain.