1881554ae0
* Initial version * Update readme * Build op-geth container * Add optimism go code containers * Add optimism contracts container * Update optimism contracts container build * Add fixturenet-optimism-contracts service to deploy L1 contracts * Add fixturenet-optimism op-node and op-geth * Avoid reading addresses from a file when sending balances * Fixes for running op-geth container * Fix image name and command in optimism-contracts service * Add a healthcheck to lighthouse bootnode to avoid failing eth txs * Avoid using hardhat ethers to send balances from an account * Update script to send balance to L1 bridge proxy contract * Implement op-node container * Wait for a finalized L1 block to exist * Fix for running op-batcher * Add a todo for restart support * Integrate optimism-contracts service and update instructions * Update clean-up to remove docker volumes * Update volume access permissions * Add a todo to replace foundry usage with web3 js * Add known issues * Fix README * Fix indentation * Update known issues --------- Co-authored-by: David Boreham <david@bozemanpas.com> Co-authored-by: David Boreham <david@bozemanpass.com> Co-authored-by: nabarun <nabarun@deepstacksoft.com> Former-commit-id: fc522140baf918dfed531e8379649887c47c8109
59 lines
1.4 KiB
Bash
Executable File
59 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
mkdir datadir
|
|
|
|
echo "pwd" > datadir/password
|
|
|
|
# TODO: Add in container build or use other tool
|
|
echo "installing jq"
|
|
apk update && apk add jq
|
|
|
|
# Get SEQUENCER KEY from keys.json
|
|
SEQUENCER_KEY=$(jq -r '.Sequencer.privateKey' /l2-accounts/keys.json | tr -d '"')
|
|
echo $SEQUENCER_KEY > datadir/block-signer-key
|
|
|
|
geth account import --datadir=datadir --password=datadir/password datadir/block-signer-key
|
|
|
|
while [ ! -f "/op-node/jwt.txt" ]
|
|
do
|
|
echo "Config files not created. Checking after 5 seconds."
|
|
sleep 5
|
|
done
|
|
|
|
echo "Config files created by op-node, proceeding with script..."
|
|
|
|
cp /op-node/genesis.json ./
|
|
geth init --datadir=datadir genesis.json
|
|
|
|
SEQUENCER_ADDRESS=$(jq -r '.Sequencer.address' /l2-accounts/keys.json | tr -d '"')
|
|
echo "SEQUENCER_ADDRESS: ${SEQUENCER_ADDRESS}"
|
|
cp /op-node/jwt.txt ./
|
|
geth \
|
|
--datadir ./datadir \
|
|
--http \
|
|
--http.corsdomain="*" \
|
|
--http.vhosts="*" \
|
|
--http.addr=0.0.0.0 \
|
|
--http.api=web3,debug,eth,txpool,net,engine \
|
|
--ws \
|
|
--ws.addr=0.0.0.0 \
|
|
--ws.port=8546 \
|
|
--ws.origins="*" \
|
|
--ws.api=debug,eth,txpool,net,engine \
|
|
--syncmode=full \
|
|
--gcmode=full \
|
|
--nodiscover \
|
|
--maxpeers=0 \
|
|
--networkid=42069 \
|
|
--authrpc.vhosts="*" \
|
|
--authrpc.addr=0.0.0.0 \
|
|
--authrpc.port=8551 \
|
|
--authrpc.jwtsecret=./jwt.txt \
|
|
--rollup.disabletxpoolgossip=true \
|
|
--password=./datadir/password \
|
|
--allow-insecure-unlock \
|
|
--mine \
|
|
--miner.etherbase=$SEQUENCER_ADDRESS \
|
|
--unlock=$SEQUENCER_ADDRESS
|