nitro-stack/stack-orchestrator/config/go-nitro/run-bridge.sh
Prathamesh Musale fe85e74425 Configure extra multiaddr to listen on in nitro-node and bridge setup (#1)
Part of [Create bridge channel in go-nitro](https://www.notion.so/Create-bridge-channel-in-go-nitro-22ce80a0d8ae4edb80020a8f250ea270)
Requires https://github.com/cerc-io/go-nitro/pull/63

Reviewed-on: #1
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-07-23 11:46:46 +00:00

59 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
set -e
if [ -n "$CERC_SCRIPT_DEBUG" ]; then
set -x
fi
nitro_addresses_file="/app/deployment/nitro-addresses.json"
bridge_assets_map_file="/app/deployment/bridge-assets-map.toml"
bridge_config_file="/app/bridge.toml"
echo "Using the following environment variables:"
echo "NITRO_L1_CHAIN_URL: ${NITRO_L1_CHAIN_URL}"
echo "NITRO_L2_CHAIN_URL: ${NITRO_L2_CHAIN_URL}"
echo "NITRO_CHAIN_PK: ${NITRO_CHAIN_PK}"
echo "NITRO_SC_PK: ${NITRO_SC_PK}"
echo "NITRO_L1_MSG_PORT: ${NITRO_L1_MSG_PORT}"
echo "NITRO_L2_MSG_PORT: ${NITRO_L2_MSG_PORT}"
echo "NITRO_RPC_PORT: ${NITRO_RPC_PORT}"
echo "NITRO_PUBLIC_P2P_HOST: ${NITRO_PUBLIC_P2P_HOST}"
echo "NITRO_L1_EXT_MULTIADDR: ${NITRO_L1_EXT_MULTIADDR}"
echo "NITRO_L2_EXT_MULTIADDR: ${NITRO_L2_EXT_MULTIADDR}"
echo "Waiting for $bridge_assets_map_file to be ready"
while [ ! -e "$bridge_assets_map_file" ]; do
sleep 3
done
echo "File $bridge_assets_map_file found"
# Create required certs
./create-certs.sh
# Create the bridge config file
cat <<EOF > "$bridge_config_file"
chainpk = "$NITRO_CHAIN_PK"
statechannelpk = "$NITRO_SC_PK"
l1chainurl = "$NITRO_L1_CHAIN_URL"
l2chainurl = "$NITRO_L2_CHAIN_URL"
nodel1msgport = $NITRO_L1_MSG_PORT
nodel2msgport = $NITRO_L2_MSG_PORT
rpcport = $NITRO_RPC_PORT
bridgepublicip = "$NITRO_PUBLIC_P2P_HOST"
nodel1ExtMultiAddr = "$NITRO_L1_EXT_MULTIADDR"
nodel2ExtMultiAddr = "$NITRO_L2_EXT_MULTIADDR"
assetmapfilepath = "$bridge_assets_map_file"
EOF
# Export contract addresses
export NA_ADDRESS=$(jq -r ".\"$GETH_CHAIN_ID\"[0].contracts.NitroAdjudicator.address" ${nitro_addresses_file})
export CA_ADDRESS=$(jq -r ".\"$GETH_CHAIN_ID\"[0].contracts.ConsensusApp.address" ${nitro_addresses_file})
export VPA_ADDRESS=$(jq -r ".\"$GETH_CHAIN_ID\"[0].contracts.VirtualPaymentApp.address" ${nitro_addresses_file})
export BRIDGE_ADDRESS=$(jq -r ".\"$OPTIMISM_CHAIN_ID\"[0].contracts.Bridge.address" ${nitro_addresses_file})
# Start bridge
echo "Starting nitro-bridge"
./nitro-bridge -config $bridge_config_file