Skip to content

Latest commit

 

History

History

smallbank

The smallbank benchmark contains a series of transactions to simulate bank operations, including one transaction which creates accounts and others which perform banking transactions such as querying balances, depositing in accounts, paying money, etc. The benchmark intends to provide cross-platform workload for blockchain performance testing in the bank scene.

At the beginning of the test, a specified number of bank accounts will be generated by submitting create_account transactions, the amount is specified by accounts attribute of the configuration. Then random transactions will be generated to simulate operating on those accounts.

Please note batch concept is used in this benchmark, which means multiple transactions may be wrapped inside of a batch and submitted together if the blockchan system supports batch feature. For systems which do not support this feature, transactions will be submitted one by one. The transaction amount in a batch is specifed by the txnPerBatch attribute of the configuration. The feature can be disabled by setting txnPerBatch to 1.

The transaction generating process may generate conflicting transactions, for example, updating same account's deposite at the same time or nearly at the same time. Some blockchain systems provides some kind of orchestration to decide execution order of conficting transactions, but some blockchain systems may just return errors for later updates if the ahead update has not been completed and let the application decide what to do (e.g re-submitting rejected transactions). Until now Caliper has not provided any application level optimization such as re-submitting for failed transactions for any blockchain system. So please note in this case, conflicting transactions may cause failures for some blockchain systems.

This documentation is licensed under the Creative Commons Attribution 4.0 International License. You may obtain a copy of the license, titled CC-BY-4.0, at http://creativecommons.org/licenses/by/4.0/.