We use raw transactions extensively in our platform and a consequence of this is we issue tokens to addresses that write to streams or issue assets that are used as the inputs for these non-transfer based transactions. We typically send the tokens back to the address performing the stream write or asset issuance so that it always has a supply of tokens with which to build these type of transactions.
We have been experimenting with the number of tokens we allocate to addresses building these transactions for both scale and concurrency under load (the assumption being the more tokens that are available the more transactions we can create under load)
What we found is that we hit a point where Multichain autocombines the tokens from multiple unspent outputs that have a quantity of 1 to a single unspent output equating to the sum of all the single tokens. This breaks the platform under load as it can only handle a single transaction at a time with it's single unspent output.
Do you think the approach is right.....my assumption is that I need to provide the addresses generating the raw transactions unspent outputs for constructing the transaction hence we took the decision to explicitly issue them tokens solely for this purpose
Secondly, if the approach is sound, what are the recommended runtime parameters to stop multichain combining tokens so that we have enough unspent outputs per address to support load and concurrency?