Skip to content
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

Multithreaded booking and new data flow with solidification of transactions #2151

Merged
merged 327 commits into from
May 31, 2022

Conversation

jonastheis
Copy link
Contributor

@jonastheis jonastheis commented Apr 9, 2022

This PR introduces a lot of different but related changes:

  • introduce separate generic ConflictDAG component (previously named BranchDAG) that can be used with any type of conflicts
  • events
    • use asynchronous events by default
    • make all events generic
    • make use of asynchronous eventloop (parallel execution engine)
  • introduce concept of UTXO VM
  • new ledger package that bundles UTXO VM and ConflictDAG
    • solidify transactions
    • enable parallel processing of transactions
    • flexible as any VM can be easily plugged in. Currently old ledgerstate package is used as devnetvm
  • Make tangle multithreaded with usage of new ledger
  • add indexer for address:output mapping
  • change snapshot to only include confirmed and unspent UTXOs and mana information
  • add locking concepts and primitives (DAGMutex and StarvingMutex) to enable safe concurrency on a DAG structure

…er/goshimmer into feat/merge-multithreaded-tangle
@karimodm karimodm temporarily deployed to feature May 27, 2022 11:28 Inactive
@karimodm karimodm temporarily deployed to feature May 30, 2022 15:10 Inactive
@karimodm karimodm temporarily deployed to feature May 30, 2022 15:29 Inactive
@karimodm karimodm temporarily deployed to feature May 31, 2022 07:22 Inactive
CHANGELOG.md Outdated Show resolved Hide resolved
@jonastheis jonastheis merged commit 42f7cf9 into develop May 31, 2022
@jonastheis jonastheis deleted the feat/multithreaded-tangle branch May 31, 2022 08:14
This was referenced Jun 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants