ABW - why the 255 character limit on string parameters?

Occasional Contributor

From both the ABW UI, as well as from the dbo.ContractActionParameter table, it is clear that ABW enforces a hard 255 character limit on string parameters passed to Solidity functions.


My understanding is that on private chains, storage isn't as important as public chains, and AFAIK even on the public Eth chain the only consideration for large transactions is the prohibitive Gas price and no sign of a 255 char limit


I can't see the need for a lowest common denominator, since the transaction size caps on Hyperledger and Corda seems considerably higher, and seemingly can be negotiated and agreed upon by the consortium.

SQL LimitSQL Limit




ABW doesn't seem to expose [Solidity bytes or byteX](https://docs.microsoft.com/en-us/azure/blockchain-workbench/blockchain-workbench-configuration-overv...) types, so binary storage of arbitrary length strings aren't supported either.


Using the messaging API to submit transactions with parameters > 255 fails (contract is recorded, but no contract actions are recorded, and provisioning status stays at 1).

Altering the SQL table to store NVARCHAR > 255 doesn't help matters either.

2 Replies

Thanks for the feedback. We'll be updating the limit to something much higher. Most likely in August update. 

Many thanks Zeyad - we'll work around the limit for now.