Is there a limit to the number of transactions I can submit at a time?
This is a common question posed by developers across industries such as gaming companies looking to create digital assets or tokens, financial companies looking to track and manage transactions, or insurance networks sending public and private messages to other members of the network.
Volume and throughput on blockchain networks are affected by two main factors:
- The size of your blockchain node and the underlying ingress configurations. Please see the Kaleido Resource Limits documentation for more information on supported requests per second and concurrent connections.
- Practical limitations of the underlying protocol. Block intervals, consensus algorithms w/p2p messaging, varying payload sizes, rotating block proposers, block size limits, transaction size limits and many other variables.
If running transactions at scale, we'd recommend utilizing the REST API Gateway surface which has a number of features to enable high throughput, such as nonce management, transaction encoding, managed gas estimation, and a Kafka messaging backbone for transaction submission. We also recommend working through a series of both stress and long running tests to achieve an optimal configuration.
You can tune the ingress or surface area of the REST API Gateway through parameters such as max messages in flight, flush frequency, nonce management, etc. These can play a major role in the performance of your workloads.
If you would like to make use of Kaleido's enterprise offering of Hyperledger FireFly (a system built directly for diverse workloads and high throughput messaging) or would like guidance about other approaches to high throughput scenarios, please reach out to our team at support@kaleido.io