Welcome Zstake Service
0G Labs
DA-OP-Plasma
Copy

Optimism is a lightning-fast Ethereum L2 blockchain, built with the OP Stack.
0G DA is a high-performance data availability layer that can be used with Optimism to provide a cost-effective and secure solution for storing transaction data.
- install
1git clone https://github.com/0glabs/0g-da-op-plasma.git
- Build
1cd $HOME/0g-da-op-plasma && make da-server
- Setup run.sh
1sudo tee /etc/systemd/system/0gop.service > /dev/null <<EOF
2[Unit]
3Description=0G-DA-OP-Node
4After=network.target
5
6[Service]
7User=$USER
8WorkingDirectory=$HOME/0g-da-op-plasma
9ExecStart=$HOME/0g-da-op-plasma/bin/da-server --addr 127.0.0.1 --port 3100 --zg.server 127.0.0.1:51001
10Restart=on-failure
11RestartSec=10
12LimitNOFILE=65535
13
14[Install]
15WantedBy=multi-user.target
16EOF
- Edit run.sh
1sudo systemctl stop 0gop && sudo systemctl daemon-reload && sudo systemctl enable 0gop && sudo systemctl start 0gop
- Log Check
1sudo journalctl -u 0gop -f -o cat
- Opstack lib
1# Install Git
2sudo apt install -y git curl make jq
3
4# Install Go
5wget https://go.dev/dl/go1.23.3 linux-amd64.tar.gz
6tar xvzf go1.23.3 linux-amd64.tar.gz
7sudo cp go/bin/go /usr/bin/go
8sudo mv go /usr/lib
9echo export GOROOT=/usr/lib/go >> ~/.bashrc
10
11# Install Node.js
12curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
13sudo apt-get install -y nodejs
14
15# Install Pnpm
16sudo npm install -g pnpm
17
18# Install Make
19sudo apt install -y make
20
21# Install jq
22sudo apt install -y jq
23
24# Install direnv
25sudo apt install -y direnv
26
27# Assuming you have cargo installed (Rust package manager)
28sudo apt install cargo
29cargo install just
30
31# install semgrep
32sudo apt install snapd
33sudo snap install semgrep
34sudo apt install python3-pip
35python3 -m pip install --upgrade pip
36python3 -m pip install semgrep==1.90.0
37sudo apt-get install python3-virtualenv
38python3 -m virtualenv myenv
39source myenv/bin/activate
40python3 -m pip install --upgrade semgrep
41
42# install foundry
43cargo install --git https://github.com/foundry-rs/foundry --profile release --locked forge cast chisel anvil
44
스크린샷 2024-11-29 오후 7.12.03.png
1git clone https://github.com/ethereum-optimism/optimism.git
2cd optimism
3git fetch --tag --all
4git checkout v1.9.1
5git submodule update --init --recursive
1./packages/contracts-bedrock/scripts/getting-started/versions.sh
스크린샷 2024-11-29 오후 6.39.28.png
1make op-node op-batcher op-proposer
2make build
스크린샷 2024-11-29 오후 7.20.29.png
1git clone https://github.com/ethereum-optimism/op-geth.git
2cd op-geth
3make geth
스크린샷 2024-11-29 오후 7.26.10.png
1cd ~/optimism
2
3cp .envrc.example .envrc
1cd ~/optimism/packages/contracts-bedrock
1echo "Admin:"
2cast wallet new
3echo "Proposer:"
4cast wallet new
5echo "Batcher:"
6cast wallet new
7echo "Sequencer:"
8cast wallet new
Record and securely store these key details. You'll need to fund Admin, Proposer, and Batcher with Sepolia ETH (0.5 ETH for Admin, 0.2 ETH for Proposer, 0.1 ETH for Batcher).
1cd ~/optimism/packages/contracts-bedrock
sudo snap install direnv
direnv v2.18.2 from Null Box (nullboxorg) installed
1eval "$(direnv hook bash)"
2direnv allow .
스크린샷 2024-11-16 오후 2.01.16.png
1DEPLOYMENT_OUTFILE=deployments/artifact.json \
2DEPLOY_CONFIG_PATH=deploy-config/getting-started.json \
3forge script scripts/deploy/Deploy.s.sol:Deploy --broadcast --private-key $GS_ADMIN_PRIVATE_KEY \
4--rpc-url $L1_RPC_URL --slow
스크린샷 2024-11-30 오전 11.23.04.png
스크린샷 2024-11-30 오전 11.22.46.png
1CONTRACT_ADDRESSES_PATH=deployments/artifact.json DEPLOY_CONFIG_PATH=deploy-config/getting-started.json STATE_DUMP_PATH=deploy-config/statedump.json forge script scripts/L2Genesis.s.sol:L2Genesis --sig 'runWithStateDump()' --chain 42069
스크린샷 2024-11-30 오전 11.24.47.png
1cd ~/optimism/op-node
1go run cmd/main.go genesis l2 \
2--deploy-config ../packages/contracts-bedrock/deploy-config/getting-started.json \
3--l1-deployments ../packages/contracts-bedrock/deployments/artifact.json \
4--outfile.l2 genesis.json \
5--outfile.rollup rollup.json \
6--l1-rpc $L1_RPC_URL \
7--l2-allocs ../packages/contracts-bedrock/deploy-config/statedump.json
스크린샷 2024-11-30 오전 11.27.03.png
1openssl rand -hex 32 > jwt.txt
1cp genesis.json ~/op-geth
2cp jwt.txt ~/op-geth
1cd ~/op-geth
2mkdir datadir
3build/bin/geth init --datadir=datadir genesis.json
스크린샷 2024-11-30 오전 11.31.13.png
- complete

1000008327.jpg