Last active
July 21, 2024 22:43
-
-
Save jac18281828/6794f235a16339c16f684333853bc73d to your computer and use it in GitHub Desktop.
Bootstrap an Ethereum Node with Docker
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CONFIG_NAME: interop | |
PRESET_BASE: interop | |
# Genesis | |
GENESIS_FORK_VERSION: 0x20000089 | |
# Altair | |
ALTAIR_FORK_EPOCH: 0 | |
ALTAIR_FORK_VERSION: 0x20000090 | |
# Merge | |
BELLATRIX_FORK_EPOCH: 0 | |
BELLATRIX_FORK_VERSION: 0x20000091 | |
TERMINAL_TOTAL_DIFFICULTY: 0 | |
# Capella | |
CAPELLA_FORK_EPOCH: 0 | |
CAPELLA_FORK_VERSION: 0x20000092 | |
MAX_WITHDRAWALS_PER_PAYLOAD: 16 | |
DENEB_FORK_VERSION: 0x20000093 | |
# Time parameters | |
SECONDS_PER_SLOT: 2 | |
SLOTS_PER_EPOCH: 6 | |
# Deposit contract | |
DEPOSIT_CONTRACT_ADDRESS: 0x4242424242424242424242424242424242424242 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
services: | |
geth: | |
build: | |
context: ./geth | |
dockerfile: Dockerfile | |
args: | |
PORT: 30303 | |
HTTP_PORT: 8545 | |
NAME: geth-1 | |
VALIDATOR_ACCOUNT: ${VALIDATOR_ACCOUNT} | |
VALIDATOR_SECRET: ${VALIDATOR_SECRET} | |
ports: | |
- "8545:8545" | |
- "8546:8546" | |
- "30303:30303" | |
- "30303:30303/udp" | |
volumes: | |
- geth-data:/home/alice | |
networks: | |
- devnet-net | |
lighthouse: | |
build: | |
context: ./lighthouse | |
dockerfile: Dockerfile | |
ports: | |
- "5052:5052" | |
volumes: | |
- lighthouse-data:/root/.lighthouse | |
- geth-data:/home/alice | |
networks: | |
- devnet-net | |
profiles: | |
- lighthouse | |
beacon: | |
command: beacon-chain --datadir /home/victor/beacon --min-sync-peers 0 --genesis-state genesis.ssz --bootstrap-node=0 --http-modules prysm,eth --interop-eth1data-votes --chain-config-file config.yml --contract-deployment-block 0 --chain-id 11155151 --accept-terms-of-use --jwt-secret /home/alice/geth-1/geth/jwtsecret --suggested-fee-recipient 0x6DB1F3F7a368d5895256A5BA0bdB84d2a6C3bFF7 --minimum-peers-per-subnet 0 --enable-debug-rpc-endpoints --execution-endpoint geth-1:8545 --rpc-host 0.0.0.0 --rpc-port 4000 --grpc-gateway-host=0.0.0.0 | |
build: | |
context: ./prysm | |
dockerfile: Dockerfile | |
args: | |
VALIDATOR_ACCOUNT: ${VALIDATOR_ACCOUNT} | |
VALIDATOR_SECRET: ${VALIDATOR_SECRET} | |
ports: | |
- "4000:4000" | |
volumes: | |
- prysm-data:/home/victor | |
- geth-data:/home/alice | |
networks: | |
- devnet-net | |
depends_on: | |
geth: | |
condition: service_healthy | |
restart: true | |
validator: | |
command: validator --datadir /home/victor/validator-1 --beacon-rpc-provider beacon:4000 --rpc-host geth --rpc-port 8545 --accept-terms-of-use --interop-num-validators 64 --interop-start-index=0 --chain-config-file config.yml | |
build: | |
context: ./prysm | |
dockerfile: Dockerfile | |
args: | |
VALIDATOR_ACCOUNT: ${VALIDATOR_ACCOUNT} | |
VALIDATOR_SECRET: ${VALIDATOR_SECRET} | |
volumes: | |
- prysm-data:/home/victor | |
- geth-data:/home/alice | |
networks: | |
- devnet-net | |
depends_on: | |
geth: | |
condition: service_healthy | |
restart: true | |
volumes: | |
geth-data: | |
lighthouse-data: | |
prysm-data: | |
networks: | |
devnet-net: | |
driver: bridge |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM debian:stable-slim AS go-builder | |
# defined from build kit | |
# DOCKER_BUILDKIT=1 docker build . -t ... | |
ARG TARGETARCH | |
RUN export DEBIAN_FRONTEND=noninteractive && \ | |
apt update && \ | |
apt install -y -q --no-install-recommends \ | |
git curl gnupg2 build-essential coreutils \ | |
openssl libssl-dev pkg-config \ | |
ca-certificates apt-transport-https \ | |
python3 && \ | |
apt clean && \ | |
rm -rf /var/lib/apt/lists/* | |
## Go Lang | |
ARG GO_VERSION=1.22.4 | |
ADD https://go.dev/dl/go${GO_VERSION}.linux-$TARGETARCH.tar.gz /goinstall/go${GO_VERSION}.linux-$TARGETARCH.tar.gz | |
RUN echo 'SHA256 of this go source package...' | |
RUN cat /goinstall/go${GO_VERSION}.linux-$TARGETARCH.tar.gz | sha256sum | |
RUN tar -C /usr/local -xzf /goinstall/go${GO_VERSION}.linux-$TARGETARCH.tar.gz | |
ENV PATH=$PATH:/usr/local/go/bin | |
RUN go version | |
## Go Ethereum | |
WORKDIR /go-ethereum | |
ARG ETH_VERSION=1.14.7 | |
ADD https://github.com/ethereum/go-ethereum/archive/refs/tags/v${ETH_VERSION}.tar.gz /go-ethereum/go-ethereum-${ETH_VERSION}.tar.gz | |
RUN echo 'SHA256 of this go-ethereum package...' | |
RUN cat /go-ethereum/go-ethereum-${ETH_VERSION}.tar.gz | sha256sum | |
RUN tar -zxf go-ethereum-${ETH_VERSION}.tar.gz -C /go-ethereum | |
WORKDIR /go-ethereum/go-ethereum-${ETH_VERSION} | |
RUN go mod download | |
RUN go run build/ci.go install | |
FROM debian:stable-slim | |
ARG NAME=geth | |
ARG HTTP_PORT=8545 | |
ARG PORT=30303 | |
ARG CHAINID=111555151 | |
ARG ETH_VERSION=1.14.7 | |
ARG VALIDATOR_ACCOUNT= | |
ARG VALIDATOR_SECRET= | |
RUN export DEBIAN_FRONTEND=noninteractive && \ | |
apt update && \ | |
apt install -y -q --no-install-recommends \ | |
libz3-dev z3 build-essential \ | |
ca-certificates apt-transport-https \ | |
sudo ripgrep procps openssh-client \ | |
python3 python3-pip python3-dev \ | |
curl && \ | |
apt clean && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN echo "building platform $(uname -m)" | |
RUN useradd --create-home -s /bin/bash alice | |
RUN usermod -a -G sudo alice | |
RUN echo '%alice ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers | |
LABEL org.label-schema.build-date=$BUILD_DATE \ | |
org.label-schema.name="geth node" \ | |
org.label-schema.description="Go Ethereum Node for Testnet" \ | |
org.label-schema.url="https://github.com/layr-labs/eigenlayer-contracts/" \ | |
org.label-schema.vcs-ref=$VCS_REF \ | |
org.label-schema.vcs-url="git@github.com:layr-labs/eigenlayr-contracts.git" \ | |
org.label-schema.vendor="Eigen Labs" \ | |
org.label-schema.version=$VERSION \ | |
org.label-schema.schema-version="1.0" \ | |
org.opencontainers.image.description="Go Ethereum Node for Devnet" | |
## GO Ethereum Binaries | |
COPY --from=go-builder /go-ethereum/go-ethereum-${ETH_VERSION}/build/bin /usr/local/bin | |
RUN mkdir -p /shared && echo ${VALIDATOR_SECRET} > /shared/validator_secret.txt | |
RUN mkdir -p /shared/keystore && echo ${VALIDATOR_ACCOUNT} > /shared/keystore/validator_account.json | |
ENV USER=alice | |
USER alice | |
VOLUME ["/home/alice"] | |
WORKDIR /home/alice | |
ENV DATADIR=/home/alice/${NAME} | |
# RUN geth account import --datadir ${DATADIR} --password /shared/validator_secret.txt /shared/validator_account.json | |
COPY genesis.json . | |
RUN geth init --datadir ${DATADIR} genesis.json | |
ENV PATH=${PATH}:/usr/local/bin | |
ENV PORT=${PORT} | |
ENV HTTP_PORT=${HTTP_PORT} | |
ENV CHAINID=${CHAINID} | |
ENV NAME=${NAME} | |
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ | |
CMD curl -f http://localhost:${HTTP_PORT} || exit 1 | |
CMD cp -vf /shared/keystore/* ${DATADIR}/keystore && geth --datadir ${DATADIR} --http --http.addr 0.0.0.0 --http.api eth,net,web3 --ws --ws.api eth,net,web3 --nodiscover --networkid ${CHAINID} --port ${PORT} --http.port ${HTTP_PORT} --http.corsdomain "*" --http.vhosts "*" --syncmode full --allow-insecure-unlock --unlock 0x6DB1F3F7a368d5895256A5BA0bdB84d2a6C3bFF7 --password /shared/validator_secret.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM sigp/lighthouse:latest | |
EXPOSE 5052 | |
VOLUME ["/root/.lighthouse"] | |
CMD ["lighthouse", "bn", "--network", "mainnet"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM debian:stable-slim AS go-builder | |
# defined from build kit | |
# DOCKER_BUILDKIT=1 docker build . -t ... | |
ARG TARGETARCH | |
RUN export DEBIAN_FRONTEND=noninteractive && \ | |
apt update && \ | |
apt install -y -q --no-install-recommends \ | |
libz3-dev z3 \ | |
git curl gnupg2 build-essential coreutils \ | |
openssl libssl-dev pkg-config \ | |
ca-certificates apt-transport-https \ | |
python3 && \ | |
apt clean && \ | |
rm -rf /var/lib/apt/lists/* | |
## Go Lang | |
ARG GO_VERSION=1.22.4 | |
ADD https://go.dev/dl/go${GO_VERSION}.linux-$TARGETARCH.tar.gz /goinstall/go${GO_VERSION}.linux-$TARGETARCH.tar.gz | |
RUN echo 'SHA256 of this go source package...' | |
RUN cat /goinstall/go${GO_VERSION}.linux-$TARGETARCH.tar.gz | sha256sum | |
RUN tar -C /usr/local -xzf /goinstall/go${GO_VERSION}.linux-$TARGETARCH.tar.gz | |
ENV PATH=$PATH:/usr/local/go/bin | |
RUN go version | |
# Prysm | |
RUN git clone -b master https://github.com/prysmaticlabs/prysm /prysm | |
WORKDIR /prysm | |
RUN go build -o=/usr/local/bin/beacon-chain ./cmd/beacon-chain | |
RUN go build -o=/usr/local/bin/validator ./cmd/validator | |
RUN go build -o=/usr/local/bin/prysmctl ./cmd/prysmctl | |
FROM debian:stable-slim | |
ARG VALIDATOR_ACCOUNT | |
RUN export DEBIAN_FRONTEND=noninteractive && \ | |
apt update && \ | |
apt install -y -q --no-install-recommends \ | |
libz3-dev z3 build-essential \ | |
ca-certificates apt-transport-https \ | |
sudo ripgrep procps openssh-client \ | |
python3 python3-pip python3-dev \ | |
curl && \ | |
apt clean && \ | |
rm -rf /var/lib/apt/lists/* | |
# Prysm | |
COPY --from=go-builder /usr/local/bin/beacon-chain /usr/local/bin/beacon-chain | |
COPY --from=go-builder /usr/local/bin/validator /usr/local/bin/validator | |
COPY --from=go-builder /usr/local/bin/prysmctl /usr/local/bin/prysmctl | |
RUN echo "building platform $(uname -m)" | |
RUN useradd --create-home -s /bin/bash victor | |
RUN usermod -a -G sudo victor | |
RUN echo '%victor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers | |
VOLUME ["/home/alice"] | |
VOLUME ["/home/victor"] | |
WORKDIR /home/victor | |
RUN sudo chown -R victor:victor /home/victor | |
USER victor | |
ENV USER=victor | |
ENV PATH=${PATH}:/usr/local/bin | |
COPY --chown=victor:victor ./config.yml . | |
RUN prysmctl testnet generate-genesis --num-validators 64 --genesis-time-delay 600 --chain-config-file config.yml --output-json genesis.json --output-ssz genesis.ssz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
VALIDATOR_ACCOUNT=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
VALIDATOR_SECRET=abc123 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"config": { | |
"chainId": 11155151, | |
"homesteadBlock": 0, | |
"daoForkSupport": true, | |
"eip150Block": 0, | |
"eip155Block": 0, | |
"eip158Block": 0, | |
"byzantiumBlock": 0, | |
"constantinopleBlock": 0, | |
"petersburgBlock": 0, | |
"istanbulBlock": 0, | |
"muirGlacierBlock": 0, | |
"berlinBlock": 0, | |
"londonBlock": 0, | |
"arrowGlacierBlock": 0, | |
"grayGlacierBlock": 0, | |
"shanghaiTime": 1694203366, | |
"terminalTotalDifficulty": 0, | |
"terminalTotalDifficultyPassed": true | |
}, | |
"nonce": "0x0", | |
"timestamp": "0x64fb7de6", | |
"extraData": "0x0000000000000000000000000000000000000000000000000000000000000000123463a4b065722e99115d6c222f267d9cabb5240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", | |
"gasLimit": "0x1c9c380", | |
"difficulty": "0x1", | |
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", | |
"coinbase": "0x0000000000000000000000000000000000000000", | |
"alloc": { | |
"6DB1F3F7a368d5895256A5BA0bdB84d2a6C3bFF7": { | |
"balance": "0x56bc75e2d631000000" | |
}, | |
"123463a4b065722e99115d6c222f267d9cabb524": { | |
"balance": "0x43c33c1937564800000" | |
}, | |
"14dc79964da2c08b23698b3d3cc7ca32193d9955": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"15d34aaf54267db7d7c367839aaf71a00a2c6a65": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"1cbd3b2770909d4e10f157cabc84c7264073c9ec": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"23618e81e3f5cdf7f54c3d65f7fbc0abf5b21e8f": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"2546bcd3c84621e976d8185a91a922ae77ecec30": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"3c44cdddb6a900fa2b585dd299e03d12fa4293bc": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"4242424242424242424242424242424242424242": { | |
"code": "0x60806040526004361061003f5760003560e01c806301ffc9a71461004457806322895118146100b6578063621fd130146101e3578063c5f2892f14610273575b600080fd5b34801561005057600080fd5b5061009c6004803603602081101561006757600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061029e565b604051808215151515815260200191505060405180910390f35b6101e1600480360360808110156100cc57600080fd5b81019080803590602001906401000000008111156100e957600080fd5b8201836020820111156100fb57600080fd5b8035906020019184600183028401116401000000008311171561011d57600080fd5b90919293919293908035906020019064010000000081111561013e57600080fd5b82018360208201111561015057600080fd5b8035906020019184600183028401116401000000008311171561017257600080fd5b90919293919293908035906020019064010000000081111561019357600080fd5b8201836020820111156101a557600080fd5b803590602001918460018302840111640100000000831117156101c757600080fd5b909192939192939080359060200190929190505050610370565b005b3480156101ef57600080fd5b506101f8610fd0565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023857808201518184015260208101905061021d565b50505050905090810190601f1680156102655780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027f57600080fd5b50610288610fe2565b6040518082815260200191505060405180910390f35b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061036957507f85640907000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b603087879050146103cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806116ec6026913960400191505060405180910390fd5b60208585905014610428576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806116836036913960400191505060405180910390fd5b60608383905014610484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061175f6029913960400191505060405180910390fd5b670de0b6b3a76400003410156104e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806117396026913960400191505060405180910390fd5b6000633b9aca0034816104f457fe5b061461054b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806116b96033913960400191505060405180910390fd5b6000633b9aca00348161055a57fe5b04905067ffffffffffffffff80168111156105c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806117126027913960400191505060405180910390fd5b60606105cb82611314565b90507f649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c589898989858a8a610600602054611314565b60405180806020018060200180602001806020018060200186810386528e8e82818152602001925080828437600081840152601f19601f82011690508083019250505086810385528c8c82818152602001925080828437600081840152601f19601f82011690508083019250505086810384528a818151815260200191508051906020019080838360005b838110156106a657808201518184015260208101905061068b565b50505050905090810190601f1680156106d35780820380516001836020036101000a031916815260200191505b508681038352898982818152602001925080828437600081840152601f19601f820116905080830192505050868103825287818151815260200191508051906020019080838360005b8381101561073757808201518184015260208101905061071c565b50505050905090810190601f1680156107645780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390a1600060028a8a600060801b6040516020018084848082843780830192505050826fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff1916815260100193505050506040516020818303038152906040526040518082805190602001908083835b6020831061080e57805182526020820191506020810190506020830392506107eb565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610850573d6000803e3d6000fd5b5050506040513d602081101561086557600080fd5b8101908080519060200190929190505050905060006002808888600090604092610891939291906115da565b6040516020018083838082843780830192505050925050506040516020818303038152906040526040518082805190602001908083835b602083106108eb57805182526020820191506020810190506020830392506108c8565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa15801561092d573d6000803e3d6000fd5b5050506040513d602081101561094257600080fd5b8101908080519060200190929190505050600289896040908092610968939291906115da565b6000801b604051602001808484808284378083019250505082815260200193505050506040516020818303038152906040526040518082805190602001908083835b602083106109cd57805182526020820191506020810190506020830392506109aa565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610a0f573d6000803e3d6000fd5b5050506040513d6020811015610a2457600080fd5b810190808051906020019092919050505060405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310610a8e5780518252602082019150602081019050602083039250610a6b565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610ad0573d6000803e3d6000fd5b5050506040513d6020811015610ae557600080fd5b810190808051906020019092919050505090506000600280848c8c604051602001808481526020018383808284378083019250505093505050506040516020818303038152906040526040518082805190602001908083835b60208310610b615780518252602082019150602081019050602083039250610b3e565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610ba3573d6000803e3d6000fd5b5050506040513d6020811015610bb857600080fd5b8101908080519060200190929190505050600286600060401b866040516020018084805190602001908083835b60208310610c085780518252602082019150602081019050602083039250610be5565b6001836020036101000a0380198251168184511680821785525050505050509050018367ffffffffffffffff191667ffffffffffffffff1916815260180182815260200193505050506040516020818303038152906040526040518082805190602001908083835b60208310610c935780518252602082019150602081019050602083039250610c70565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610cd5573d6000803e3d6000fd5b5050506040513d6020811015610cea57600080fd5b810190808051906020019092919050505060405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310610d545780518252602082019150602081019050602083039250610d31565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610d96573d6000803e3d6000fd5b5050506040513d6020811015610dab57600080fd5b81019080805190602001909291905050509050858114610e16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605481526020018061162f6054913960600191505060405180910390fd5b6001602060020a0360205410610e77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061160e6021913960400191505060405180910390fd5b60016020600082825401925050819055506000602054905060008090505b6020811015610fb75760018083161415610ec8578260008260208110610eb757fe5b018190555050505050505050610fc7565b600260008260208110610ed757fe5b01548460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310610f335780518252602082019150602081019050602083039250610f10565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa158015610f75573d6000803e3d6000fd5b5050506040513d6020811015610f8a57600080fd5b8101908080519060200190929190505050925060028281610fa757fe5b0491508080600101915050610e95565b506000610fc057fe5b5050505050505b50505050505050565b6060610fdd602054611314565b905090565b6000806000602054905060008090505b60208110156111d057600180831614156110e05760026000826020811061101557fe5b01548460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310611071578051825260208201915060208101905060208303925061104e565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa1580156110b3573d6000803e3d6000fd5b5050506040513d60208110156110c857600080fd5b810190808051906020019092919050505092506111b6565b600283602183602081106110f057fe5b015460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061114b5780518252602082019150602081019050602083039250611128565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa15801561118d573d6000803e3d6000fd5b5050506040513d60208110156111a257600080fd5b810190808051906020019092919050505092505b600282816111c057fe5b0491508080600101915050610ff2565b506002826111df602054611314565b600060401b6040516020018084815260200183805190602001908083835b6020831061122057805182526020820191506020810190506020830392506111fd565b6001836020036101000a0380198251168184511680821785525050505050509050018267ffffffffffffffff191667ffffffffffffffff1916815260180193505050506040516020818303038152906040526040518082805190602001908083835b602083106112a55780518252602082019150602081019050602083039250611282565b6001836020036101000a038019825116818451168082178552505050505050905001915050602060405180830381855afa1580156112e7573d6000803e3d6000fd5b5050506040513d60208110156112fc57600080fd5b81019080805190602001909291905050509250505090565b6060600867ffffffffffffffff8111801561132e57600080fd5b506040519080825280601f01601f1916602001820160405280156113615781602001600182028036833780820191505090505b50905060008260c01b90508060076008811061137957fe5b1a60f81b8260008151811061138a57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806006600881106113c657fe5b1a60f81b826001815181106113d757fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060056008811061141357fe5b1a60f81b8260028151811061142457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060046008811061146057fe5b1a60f81b8260038151811061147157fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806003600881106114ad57fe5b1a60f81b826004815181106114be57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806002600881106114fa57fe5b1a60f81b8260058151811061150b57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060016008811061154757fe5b1a60f81b8260068151811061155857fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060006008811061159457fe5b1a60f81b826007815181106115a557fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050919050565b600080858511156115ea57600080fd5b838611156115f757600080fd5b600185028301915084860390509450949250505056fe4465706f736974436f6e74726163743a206d65726b6c6520747265652066756c6c4465706f736974436f6e74726163743a207265636f6e7374727563746564204465706f7369744461746120646f6573206e6f74206d6174636820737570706c696564206465706f7369745f646174615f726f6f744465706f736974436f6e74726163743a20696e76616c6964207769746864726177616c5f63726564656e7469616c73206c656e6774684465706f736974436f6e74726163743a206465706f7369742076616c7565206e6f74206d756c7469706c65206f6620677765694465706f736974436f6e74726163743a20696e76616c6964207075626b6579206c656e6774684465706f736974436f6e74726163743a206465706f7369742076616c756520746f6f20686967684465706f736974436f6e74726163743a206465706f7369742076616c756520746f6f206c6f774465706f736974436f6e74726163743a20696e76616c6964207369676e6174757265206c656e677468a2646970667358221220230afd4b6e3551329e50f1239e08fa3ab7907b77403c4f237d9adf679e8e43cf64736f6c634300060b0033", | |
"balance": "0x0" | |
}, | |
"4e59b44847b379578588920ca78fbf26c0b4956c": { | |
"code": "0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf3", | |
"balance": "0x0" | |
}, | |
"5678e9e827b3be0e3d4b910126a64a697a148267": { | |
"balance": "0x43c33c1937564800000" | |
}, | |
"70997970c51812dc3a010c7d01b50e0d17dc79c8": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"71be63f3384f5fb98995898a86b02fb2426c5788": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"8626f6940e2eb28930efb4cef49b2d1f2c9c1199": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"90f79bf6eb2c4f870365e785982e1f101e93b906": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"976ea74026e726554db657fa54763abd0c3a0aa9": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"9965507d1a55bcc2695c58ba16fb37d819b0a4dc": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"a0ee7a142d267c1f36714e4a8f75612f20a79720": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"bcd4042de499d14e55001ccbb24a551f3b954096": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"bda5747bfd65f08deb54cb465eb87d40e51b197e": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"cd3b766ccdd6ae721141f452c550ca635964ce71": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"dd2fd4581271e230360230f9337d5c0430bf44c0": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"df3e18d64bc6a983f673ab319ccae4f1a57c7097": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"f39fd6e51aad88f6f4ce6ab8827279cfffb92266": { | |
"balance": "0x21e19e0c9bab2400000" | |
}, | |
"fabb0ac9d68b0b445fb7357272ff202c5651694a": { | |
"balance": "0x21e19e0c9bab2400000" | |
} | |
}, | |
"number": "0x0", | |
"gasUsed": "0x0", | |
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", | |
"baseFeePerGas": null, | |
"excessBlobGas": null, | |
"blobGasUsed": null | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment