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: ope poc #26

Draft
wants to merge 24 commits into
base: basechain/abci2.0/develop
Choose a base branch
from

Conversation

dudong2
Copy link
Collaborator

@dudong2 dudong2 commented Oct 17, 2024

Closes: #XXX

Description


For contributor use:

  • Targeted PR against correct branch (see CONTRIBUTING.md)
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
  • Code follows the module structure standards.
  • Wrote unit and integration tests
  • Updated relevant documentation (docs/) or specification (x/<module>/spec/)
  • Added relevant godoc comments.
  • Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
  • Re-reviewed Files changed in the Github PR explorer

For admin use:

  • Added appropriate labels to PR (ex. WIP, R4R, docs, etc)
  • Reviewers assigned
  • Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)

@dudong2 dudong2 self-assigned this Oct 17, 2024
dudong2 and others added 5 commits October 17, 2024 19:41
…vmos#451)

Disable block gas meter, it's safe to do because we checks gas wanted against block gas limit in ProcessProposal now.

Update CHANGELOG.md

Signed-off-by: yihuang <[email protected]>

Update CHANGELOG.md

Signed-off-by: yihuang <[email protected]>

cleanup

format

use block gas wanted in context

update deps

fix unit test

fix unit test

remove feemarket transient store

remove

update deps
…vmos#358)

* Problem: sender address verification is not decoupled from execution

WIP: evmos#355

Solution:
- to decouple sender address verification from execution, we must first enforce user setting the From field in the msg

* changelog

* fix GetSenderLegacy

* cleanup

* fix unit tests

* reduce overhead of debug log

* lazy init the btree in cache store

because many stores are never touched

* fix mutation
dudong2 and others added 13 commits October 21, 2024 13:35
* Problem: go-block-stm is not integrated for parallel tx execution

- integrate go-block-stm as tx executor
- small optimiations

fix

* package deps

* cleanup

* update sdk deps

* cleanup

* cleanup

* cleanup

* Update server/config/config.go

Signed-off-by: yihuang <[email protected]>

* Update server/config/toml.go

Signed-off-by: yihuang <[email protected]>

* cleanup

* cleanup

* cleanup

* fix default executor

---------

Signed-off-by: yihuang <[email protected]>
)

* Problem: fee deduction not compatible with parallel execution

Solution:
- use virtual send

* Update CHANGELOG.md

Signed-off-by: yihuang <[email protected]>

* fix build

* fix test

* cleanup

---------

Signed-off-by: yihuang <[email protected]>
* Problem: evm transfer is not efficient

Solution:
- override the Transfer callback in block context.

Update CHANGELOG.md

Signed-off-by: yihuang <[email protected]>

* test reverted sdk

* update deps

---------

Signed-off-by: yihuang <[email protected]>
…ion (evmos#450)

* Problem: transient store usage not compatible with parallel tx execution

Currently we use shared transient store keys to accumulate some states,
which cause issues when developing parallel tx execution

Solution:
- remove some transient stores.
- the others are used in a per-tx fasion.

Update CHANGELOG.md

Signed-off-by: yihuang <[email protected]>

cleanup

fix test

* fix

* cleanup
…vmos#451)

Disable block gas meter, it's safe to do because we checks gas wanted against block gas limit in ProcessProposal now.

Update CHANGELOG.md

Signed-off-by: yihuang <[email protected]>

Update CHANGELOG.md

Signed-off-by: yihuang <[email protected]>

cleanup

format

use block gas wanted in context

update deps

fix unit test

fix unit test

remove feemarket transient store

remove

update deps
Solution:
- save the cost of repeated encoding/decoding during the block execution
- also migrate existing transient stores to object stores

Update CHANGELOG.md

Signed-off-by: yihuang <[email protected]>

Update x/feemarket/types/keys.go

Signed-off-by: yihuang <[email protected]>

renmae

fix test
* Problem: block-stm tx executor don't do simple static dependency
analysis

Solution:
- estimate dependencies based on tx fee payer, try to optimise worst case
  performance.

* fix build

* customize estimates instead of dependencies

* fix context

* update api

* cleanup

* changelog

* cleanup

* cleanup

* cleanup

* pre-estimate config

* fix lint
* Problem: pre-estimation don't run in parallel

* fix build

* fix race

* cleanup chunking

* keep unchanged

---------

Co-authored-by: mmsqe <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants