This Reddit thread here gave me an idea for a project: an automated channel manager to make batching/submitting of transactions easier to handle.
- You'd set up a list of channel accounts (unclear if this would be user supplied or supplied by the service)
- User should be able to submit an unsigned transaction to the service, and receive as output a new transaction with the transaction source replaced by one of the channel accounts, and all operations that do not have an explicit source set to the previous transaction source.
- The service would sign the transaction and send it back.
- The user could use this service to set up a group of transactions that can be submitted in any order.
The hard bits:
- Who manages the channel accounts (do you just provide them all yourself), or make the client do it?
- How do you handle recycling channel accounts? You'd need to see if that transaction was ever submitted so you could re-use the channel -- otherwise whoever got a shared channel account could have a sequence error if someone else submitted it. Might need some time-based expiration.
- Must have some validation to make sure users can't do operations that affect the channel account itself.
Obligatory Friends Video: https://youtu.be/TlrzjVLrEhc?t=35