-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parallel transaction processing design #103
Comments
Notes from initial discussion with @aeyakovenko:
Takeaway: maximize transaction throughput. |
What I ended up implementing is to put separate read/write locks on each of the following:
I also changed transaction processing to apply all debits first, and once complete, start applying all credits. This ensures that the same set can be validated in any order and that no debit will pull the account below zero. The strategy therefore rejects transactions that would otherwise be valid if a credit was applied first. |
…#103) Bumps [superstruct](https://github.com/ianstormtaylor/superstruct) from 0.8.4 to 0.10.12. - [Release notes](https://github.com/ianstormtaylor/superstruct/releases) - [Changelog](https://github.com/ianstormtaylor/superstruct/blob/master/Changelog.md) - [Commits](ianstormtaylor/superstruct@v0.8.4...v0.10.12) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
refactor: unlock accounts
Race(PayAfter(date, to), CancelOnSig(from))
The text was updated successfully, but these errors were encountered: