this is my church

This commit is contained in:
Para Dox
2025-04-11 13:25:13 +07:00
parent e4296a117c
commit 6abcf9a126
13 changed files with 14772 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.env

View File

@@ -0,0 +1,4 @@
{
"state-sync-enabled": false,
"pruning-enabled": false
}

View File

View File

@@ -0,0 +1,4 @@
{
"state-sync-enabled": false,
"pruning-enabled": false
}

View File

26
op/geth.Dockerfile Normal file
View File

@@ -0,0 +1,26 @@
FROM golang:1.22 as geth
WORKDIR /app
ARG GETH_REPO=https://github.com/ethereum-optimism/op-geth.git
ARG GETH_VERSION=v1.101503.1
# avoid depth=1, so the geth build can read tags
RUN git clone $GETH_REPO --branch $GETH_VERSION --single-branch . && \
git switch -c branch-$GETH_VERSION
RUN go run build/ci.go install -static ./cmd/geth
FROM golang:1.22
# not sure why that was in here ... maybe some script expecting it to clone peers ...
# but it broke the build on a server in japan for whatever reason.
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 ./
ENTRYPOINT ["./geth"]

14472
op/manta/pacific/genesis.json Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,29 @@
{
"genesis": {
"l1": {
"hash": "0x33d4fd43c91d410bf27cf46d013000a2f010037756c49fc2f9e83c673f69f3f1",
"number": 18095650
},
"l2": {
"hash": "0x710b33d206fc550549c39801e9c1ca80d85399bf6e0881987e40e706c2f2f453",
"number": 0
},
"l2_time": 1694223959,
"system_config": {
"batcherAddr": "0xa76e31d8471d569efdd3d95d1b11ce6710f4533f",
"overhead": "0x0000000000000000000000000000000000000000000000000000000000000834",
"scalar": "0x000000000000000000000000000000000000000000000000000000000013d620",
"gasLimit": 30000000
}
},
"block_time": 10,
"max_sequencer_drift": 600,
"seq_window_size": 21600,
"channel_timeout": 300,
"l1_chain_id": 1,
"l2_chain_id": 169,
"regolith_time": 0,
"batch_inbox_address": "0xaeba8e2307a22b6824a9a7a39f8b016c357cd1fe",
"deposit_contract_address": "0x9168765ee952de7c6f8fc6fad5ec209b960b7622",
"l1_system_config_address": "0x895e00269a05848f3c9889efa677d02ff7351a5d"
}

39
op/node.Dockerfile Normal file
View File

@@ -0,0 +1,39 @@
FROM golang:1.22 as op
WORKDIR /app
ARG OP_REPO=https://github.com/ethereum-optimism/optimism.git
ARG OP_VERSION=v1.12.2
ARG OP_PATCH
RUN curl -fsSL https://github.com/casey/just/releases/download/1.38.0/just-1.38.0-x86_64-unknown-linux-musl.tar.gz | tar -xzf - -C /usr/local/bin
RUN git clone $OP_REPO --branch op-node/$OP_VERSION --single-branch . && \
git switch -c branch-$OP_VERSION
# Apply patch if provided and valid
COPY ${OP_PATCH:-empty.patch} /tmp/my-patch.patch
RUN if [ -n "$OP_PATCH" ]; then \
echo "Using patch file: $OP_PATCH"; \
cd op-node && git apply --verbose /tmp/my-patch.patch || \
(echo "Patch failed to apply!" && exit 1); \
else \
echo "No patch file provided. Skipping."; \
fi
RUN cd op-node && \
just op-node
FROM golang:1.22
# not sure why that was in here ... maybe some script expecting it to clone peers ...
# but it broke the build on a server in japan for whatever reason.
RUN apt-get update && \
apt-get install -y jq curl && \
rm -rf /var/lib/apt/lists
WORKDIR /app
COPY --from=op /app/op-node/bin/op-node ./
ENTRYPOINT ["./op-node"]

View File

@@ -0,0 +1,71 @@
blockchain.config.name = "main"
database.dir = /var/lib/rsk/database/mainnet
peer.port = 3234
rpc {
providers : {
web: {
cors: "*",
http: {
enabled: true,
bind_address: "0.0.0.0",
port: 8545,
}
ws: {
enabled: true,
bind_address: "0.0.0.0",
port: 8546,
}
}
}
modules = [
{
name: "eth",
version: "1.0",
enabled: "true",
},
{
name: "net",
version: "1.0",
enabled: "true",
},
{
name: "rpc",
version: "1.0",
enabled: "true",
},
{
name: "web3",
version: "1.0",
enabled: "true",
},
{
name: "evm",
version: "1.0",
enabled: "true"
},
{
name: "sco",
version: "1.0",
enabled: "true",
},
{
name: "txpool",
version: "1.0",
enabled: "true",
},
{
name: "debug",
version: "1.0",
enabled: "true",
},
{
name: "personal",
version: "1.0",
enabled: "true"
}
]
}

View File

@@ -0,0 +1,71 @@
blockchain.config.name = "testnet"
database.dir = /var/lib/rsk/database/testnet
peer.port = 16093
rpc {
providers : {
web: {
cors: "*",
http: {
enabled: true,
bind_address: "0.0.0.0",
port: 8545
},
ws: {
enabled: true,
bind_address: "0.0.0.0",
port: 8546
}
}
}
modules: [
{
name: "eth",
version: "1.0",
enabled: "true"
},
{
name: "net",
version: "1.0",
enabled: "true"
},
{
name: "rpc",
version: "1.0",
enabled: "true"
},
{
name: "web3",
version: "1.0",
enabled: "true"
},
{
name: "evm",
version: "1.0",
enabled: "true"
},
{
name: "sco",
version: "1.0",
enabled: "true"
},
{
name: "txpool",
version: "1.0",
enabled: "true"
},
{
name: "debug",
version: "1.0",
enabled: "true"
},
{
name: "personal",
version: "1.0",
enabled: "true"
}
]
}

View File

@@ -0,0 +1,27 @@
#!/bin/bash
datadir=/var/sonic
if [ ! -f "$datadir/initialized" ]; then
echo "Initializing Sonic..."
url="${GENESIS:-https://genesis.soniclabs.com/sonic-mainnet/genesis/sonic.g}"
filename=$(basename "$url")
wget -P "$datadir" "$url"
GOMEMLIMIT="${CACHE_GB}GiB" sonictool --datadir "$datadir" --cache "${CACHE_GB}000" genesis "$datadir/$filename"
rm "$datadir/$filename"
touch "$datadir/initialized"
echo "Initialization complete."
else
echo "Sonic is already initialized."
fi
echo "Generating new Geth node key..."
#openssl rand 32 | xxd -p -c 32 | tr -d '\n' > "$datadir/nodekey"
#exec sonicd --nodekey "$datadir/nodekey" --cache "${CACHE_GB}000" --datadir "$datadir" "$@"
exec sonicd --cache "${CACHE_GB}000" --datadir "$datadir" "$@"

28
sonic/sonic.Dockerfile Normal file
View File

@@ -0,0 +1,28 @@
FROM golang:1.22 as builder
ARG VERSION
ARG REPO
RUN apt-get update && apt-get install -y git musl-dev make
RUN cd /go && git clone ${REPO:-https://github.com/0xsoniclabs/sonic.git} sonic && cd sonic && git fetch --tags && git checkout -b ${VERSION} tags/${VERSION}
WORKDIR /go/sonic
ARG GOPROXY
RUN go mod download
RUN make all
FROM golang:1.22
COPY --from=builder /go/sonic/build/sonicd /usr/local/bin/
COPY --from=builder /go/sonic/build/sonictool /usr/local/bin/
COPY ./scripts/entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
EXPOSE 18545 18546 5050 5050/udp
VOLUME /var/sonic
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]