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

feat: TxDAG generation v0.1 version #187

Open
wants to merge 41 commits into
base: main
Choose a base branch
from
Open

Conversation

welkin22
Copy link
Contributor

@welkin22 welkin22 commented Sep 26, 2024

Description

Mainly includes the following contents:

  1. Add the dependency of read-before-write to the DAG
  2. Remove redundant data when generating NonDependentRelFlag
  3. All the content of feat: support TxDAG generation for op-geth; #149

Rationale

Version 0.1 of the TxDAG generation code is based on #149 with some minor modifications.

Example

Add two parameters to geth:

--parallel.txdag
--parallel.txdagsenderpriv=xxx

--parallel.txdag will enable the TxDAG generation feature, while parallel.txdagsenderpriv specifies the private key of the sender for the transaction into which the generated TxDAG data is inserted.

@welkin22 welkin22 marked this pull request as draft September 26, 2024 03:26
@welkin22 welkin22 added the pevm label Sep 26, 2024
@sunny2022da sunny2022da requested review from galaio, sunny2022da and andyzhang2023 and removed request for bnoieh and redhdx September 26, 2024 03:29
@welkin22 welkin22 marked this pull request as ready for review October 14, 2024 06:11
@github-actions github-actions bot requested a review from redhdx October 14, 2024 06:11
@welkin22 welkin22 changed the base branch from develop to main November 12, 2024 02:14
Copy link
Collaborator

@sunny2022da sunny2022da left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, still need review from others

galaio and others added 14 commits November 19, 2024 15:24
txdag: opt rw record flag;

txdag: fix some broken UTs;

txdag: opt some logic;
evm: fix failed tx rwSet collecting;
mvstates: opt async dep generation;
mvstates: opt resolve dep logic;
mvstates: fix async dep gen deadlock issue;
miner: support record sysytem tx rwset;
miner: opt txdag enable checking;
txdag: fix system tx finalise issue;
mvstate: using pending writes to accelerate txdag generation;
txdag: test snappy compress ratio;
txdag: add more bench tests;
txdag: reduce mem alloc and async resolve tx dependency;
txdag: add excluded flag;
mvstates: generate txdag with excluded flag;
txdag: support multi flags, and supported in pevm;
txdag: opt TxDAG rwset collecting & generating;
txdag: opt txdag encoding, reduce rlp size
* txDAG transfer

* encode/decode txDAG data with ABI

* set txDAG receiver to a special address

---------

Co-authored-by: andyzhang2023 <andyzhang2023@gmail.com>

merge conflict

fix conflict
mvstates: support txdepMap to produce txdag;
mvststes: using struct in rwset;
return nil, fmt.Errorf("current signer is nil")
}

//privateKey, err := crypto.HexToECDSA(privateKeyHex)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
//privateKey, err := crypto.HexToECDSA(privateKeyHex)

@@ -73,20 +73,72 @@ func TestExecutionSpecBlocktests(t *testing.T) {
})
}

func TestBlockchainWithTxDAG(t *testing.T) {
//log.SetDefault(log.NewLogger(log.NewTerminalHandlerWithLevel(os.Stderr, log.LevelDebug, true)))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

plz remove useless code in this test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants