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: erc20 transfer in stress #20

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

Conversation

thinkAfCod
Copy link
Contributor

No description provided.

@thinkAfCod thinkAfCod marked this pull request as ready for review November 1, 2024 09:18
@GrapeBaBa
Copy link

@bitwiseguy A quick and simple support erc20 transfer, please help review it

Copy link
Collaborator

@bitwiseguy bitwiseguy left a comment

Choose a reason for hiding this comment

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

Overall looks great! Left a few comments on some spots for potential cleanup.

@bitwiseguy
Copy link
Collaborator

@thinkAfCod I am able to run the replay test from this code but the stress strategy fails both when REPLAYOR_INJECT_ERC20_TXS=true and REPLAYOR_INJECT_ERC20_TXS=false. Here are the replayor logs when the error occurs (after only a few blocks into the test):

t=2024-11-12T19:06:22+0000 lvl=info msg="gas used" blockNum=125641033 original=2769657 target=30000000
t=2024-11-12T19:06:22+0000 lvl=info msg="completed packing block" blockNum=125641033 original=2769657 target=30000000
t=2024-11-12T19:06:22+0000 lvl=info msg="tx count" blockNum=125641033 original=18 final=1305
t=2024-11-12T19:06:22+0000 lvl=warn msg="Failed to share forkchoice-updated signal" state="&{HeadBlockHash:0x0a7d8d144f9f74822a158e3506c675f0a474cd87a1aa7f122691b544906be372 SafeBlockHash:0x0a7d8d144f9f74822a158e3506c675f0a474cd87a1aa7f122691b544906be372 FinalizedBlockHash:0x0a7d8d144f9f74822a158e3506c675f0a474cd87a1aa7f122691b544906be372}" err="Invalid payload attributes"
t=2024-11-12T19:06:22+0000 lvl=crit msg="forkchoice update failed" source=add-block block=125641007 err="input error -38003: Invalid payload attributes"

Have you been able to run this stress test against an op-geth instance?

@thinkAfCod
Copy link
Contributor Author

here is my env config:

REPLAYOR_CHAIN_ID=base-mainnet
REPLAYOR_DISK_PATH=/results
REPLAYOR_ENGINE_API_SECRET=e4d0231485f52ba4fcdfa61f920618f057362100e8deec60e0ac7090d9f78e2a
REPLAYOR_STORAGE_TYPE=disk
REPLAYOR_STRATEGY=stress
REPLAYOR_SOURCE_NODE_URL=https://base-mainnet.g.alchemy.com/v2/<api_key>
REPLAYOR_BLOCK_COUNT=250
REPLAYOR_BENCHMARK_START_BLOCK=20969480
REPLAYOR_BENCHMARK_OPCODES=false
REPLAYOR_COMPUTE_STORAGE_DIFFS=false
REPLAYOR_ENGINE_API_URL=http://benchnode:9555
REPLAYOR_EXECUTION_URL=http://benchnode:8777
REPLAYOR_GAS_TARGET=7500000
REPLAYOR_GAS_LIMIT=60000000
REPLAYOR_INJECT_ERC20_TXS=false

and here is the op-geth node Dockerfile below:

FROM golang:1.22 AS geth

WORKDIR /app

ENV REPO=https://github.com/ethereum-optimism/op-geth.git

RUN git clone $REPO . && git checkout 91853b036171b6e59b757d9d9702ced4dd5b73ac && go run build/ci.go install -static ./cmd/geth

FROM golang:1.22

RUN apt-get update && \
    apt-get install -y jq curl && \
    rm -rf /var/lib/apt/lists

WORKDIR /app

COPY --from=geth /app/build/bin/geth ./

And it works fine, at least it does for me.

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