Setup mobymask app in the stack
This commit is contained in:
parent
2659b87390
commit
7c29b8c36c
@ -5,27 +5,15 @@ services:
|
|||||||
mobymask-v3-app:
|
mobymask-v3-app:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: cerc/mobymask-ui:local
|
image: cerc/mobymask-ui:local
|
||||||
env_file:
|
|
||||||
- ../config/watcher-mobymask-v3/mobymask-params.env
|
|
||||||
environment:
|
environment:
|
||||||
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
CERC_CHAIN_ID: ${CERC_CHAIN_ID}
|
|
||||||
CERC_DEPLOYED_CONTRACT: ${CERC_DEPLOYED_CONTRACT}
|
|
||||||
CERC_RELAY_NODES: ${CERC_RELAY_NODES}
|
|
||||||
CERC_DENY_MULTIADDRS: ${CERC_DENY_MULTIADDRS}
|
|
||||||
CERC_PUBSUB: ${CERC_PUBSUB}
|
|
||||||
CERC_GOSSIPSUB_DIRECT_PEERS: ${CERC_GOSSIPSUB_DIRECT_PEERS}
|
|
||||||
CERC_NA_ADDRESS: ${CERC_NA_ADDRESS}
|
|
||||||
CERC_VPA_ADDRESS: ${CERC_VPA_ADDRESS}
|
|
||||||
CERC_CA_ADDRESS: ${CERC_CA_ADDRESS}
|
|
||||||
CERC_APP_WATCHER_URL: ${CERC_APP_WATCHER_URL}
|
CERC_APP_WATCHER_URL: ${CERC_APP_WATCHER_URL}
|
||||||
CERC_PAYMENT_NITRO_ADDRESS: ${CERC_PAYMENT_NITRO_ADDRESS:-0xBBB676f9cFF8D242e9eaC39D063848807d3D1D94}
|
|
||||||
CERC_SNAP_URL: ${CERC_SNAP_URL}
|
CERC_SNAP_URL: ${CERC_SNAP_URL}
|
||||||
working_dir: /app
|
working_dir: /app
|
||||||
command: ["bash", "/scripts/mobymask-app-start.sh"]
|
command: ["bash", "/scripts/mobymask-app-start.sh"]
|
||||||
volumes:
|
volumes:
|
||||||
- ../config/watcher-mobymask-v3/mobymask-app-start.sh:/scripts/mobymask-app-start.sh
|
- ../config/watcher-mobymask-v3-demo/mobymask-app-start.sh:/scripts/mobymask-app-start.sh
|
||||||
- peers_ids:/peers
|
- ../config/watcher-mobymask-v3-demo/local/keys:/server/keys
|
||||||
- mobymask_deployment:/server
|
- mobymask_deployment:/server
|
||||||
- nitro_deployment:/nitro
|
- nitro_deployment:/nitro
|
||||||
ports:
|
ports:
|
||||||
@ -40,6 +28,5 @@ services:
|
|||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
peers_ids:
|
|
||||||
mobymask_deployment:
|
mobymask_deployment:
|
||||||
nitro_deployment:
|
nitro_deployment:
|
||||||
|
@ -29,7 +29,7 @@ services:
|
|||||||
working_dir: /app/packages/server
|
working_dir: /app/packages/server
|
||||||
environment:
|
environment:
|
||||||
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG}
|
||||||
# ENV: "PROD"
|
# ENV: "PROD" # Check if required
|
||||||
CERC_ETH_RPC_ENDPOINT: ${CERC_ETH_RPC_ENDPOINT}
|
CERC_ETH_RPC_ENDPOINT: ${CERC_ETH_RPC_ENDPOINT}
|
||||||
CERC_PRIVATE_KEY_DEPLOYER: ${CERC_PRIVATE_KEY_DEPLOYER}
|
CERC_PRIVATE_KEY_DEPLOYER: ${CERC_PRIVATE_KEY_DEPLOYER}
|
||||||
CERC_MOBYMASK_APP_BASE_URI: ${CERC_MOBYMASK_APP_BASE_URI}
|
CERC_MOBYMASK_APP_BASE_URI: ${CERC_MOBYMASK_APP_BASE_URI}
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
|
# Watchers
|
||||||
CERC_ETH_RPC_ENDPOINT="http://op-geth:8545"
|
CERC_ETH_RPC_ENDPOINT="http://op-geth:8545"
|
||||||
CERC_PRIVATE_KEY_DEPLOYER="0xbe4aa664815ea3bc3d63118649a733f6c96b243744310806ecb6d96359ab62cf" # L1 faucet account #4
|
CERC_PRIVATE_KEY_DEPLOYER="0xbe4aa664815ea3bc3d63118649a733f6c96b243744310806ecb6d96359ab62cf" # L1 faucet account #4, funded on L2
|
||||||
CERC_MOBYMASK_APP_BASE_URI="http://127.0.0.1:3004/#"
|
CERC_MOBYMASK_APP_BASE_URI="http://127.0.0.1:3004/#"
|
||||||
|
|
||||||
CERC_ETH_RPC_QUERY_ENDPOINT="http://op-geth:8545"
|
CERC_ETH_RPC_QUERY_ENDPOINT="http://op-geth:8545"
|
||||||
CERC_ETH_RPC_MUTATION_ENDPOINT="http://op-geth:8545"
|
CERC_ETH_RPC_MUTATION_ENDPOINT="http://op-geth:8545"
|
||||||
CERC_NITRO_CHAIN_URL="http://op-geth:8546"
|
|
||||||
|
# App
|
||||||
|
CERC_APP_WATCHER_URL="http://localhost:3001"
|
||||||
|
CERC_SNAP_URL=http://localhost:8080
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
},
|
},
|
||||||
"peer": {
|
"peer": {
|
||||||
"privateKey": "ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",
|
"privateKey": "ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",
|
||||||
|
"nitroAddress": "0xAAA6628Ec44A8a742987EF3A114dDFE2D4F7aDCE",
|
||||||
"nitroPrivateKey": "2d999770f7b5d49b694080f987b82bbc9fc9ac2b4dcc10b0f8aba7d700f69c6d"
|
"nitroPrivateKey": "2d999770f7b5d49b694080f987b82bbc9fc9ac2b4dcc10b0f8aba7d700f69c6d"
|
||||||
},
|
},
|
||||||
"consensus": {
|
"consensus": {
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
},
|
},
|
||||||
"peer": {
|
"peer": {
|
||||||
"privateKey": "59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d",
|
"privateKey": "59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d",
|
||||||
|
"nitroAddress": "0xBBB676f9cFF8D242e9eaC39D063848807d3D1D94",
|
||||||
"nitroPrivateKey": "0279651921cd800ac560c21ceea27aab0107b67daf436cdd25ce84cad30159b4"
|
"nitroPrivateKey": "0279651921cd800ac560c21ceea27aab0107b67daf436cdd25ce84cad30159b4"
|
||||||
},
|
},
|
||||||
"consensus": {
|
"consensus": {
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
},
|
},
|
||||||
"peer": {
|
"peer": {
|
||||||
"privateKey": "47e179ec197488593b187f80a00eb0da91f1b9d0b13f8733639f19c30a34926a",
|
"privateKey": "47e179ec197488593b187f80a00eb0da91f1b9d0b13f8733639f19c30a34926a",
|
||||||
|
"nitroAddress": "0x67D5b55604d1aF90074FcB69b8C51838FFF84f8d",
|
||||||
"nitroPrivateKey": "58368d20ff12f17669c06158c21d885897aa56f9be430edc789614bf9851d53f"
|
"nitroPrivateKey": "58368d20ff12f17669c06158c21d885897aa56f9be430edc789614bf9851d53f"
|
||||||
},
|
},
|
||||||
"consensus": {
|
"consensus": {
|
||||||
|
@ -0,0 +1,68 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
if [ -n "$CERC_SCRIPT_DEBUG" ]; then
|
||||||
|
set -x
|
||||||
|
fi
|
||||||
|
|
||||||
|
watcher_keys_dir="/server/keys"
|
||||||
|
|
||||||
|
# Configure relay nodes to connect to
|
||||||
|
# Note: Assuming host ports for watchers (1-3) relay nodes
|
||||||
|
RELAY_NODES="[\"/ip4/127.0.0.1/tcp/9090/ws/p2p/$(jq -r '.relayPeerId.id' ${watcher_keys_dir}/watcher-1.json)\", \"/ip4/127.0.0.1/tcp/9091/ws/p2p/$(jq -r '.relayPeerId.id' ${watcher_keys_dir}/watcher-2.json)\", \"/ip4/127.0.0.1/tcp/9092/ws/p2p/$(jq -r '.relayPeerId.id' ${watcher_keys_dir}/watcher-3.json)\"]"
|
||||||
|
|
||||||
|
# Configure watcher (1) Nitro account to make payments to
|
||||||
|
PAYMENT_NITRO_ADDRESS=$(jq -r '.peer.nitroAddress' ${watcher_keys_dir}/watcher-1.json)
|
||||||
|
|
||||||
|
echo "Using RELAY_NODES $RELAY_NODES"
|
||||||
|
echo "Using PAYMENT_NITRO_ADDRESS $PAYMENT_NITRO_ADDRESS"
|
||||||
|
|
||||||
|
# Use config from mounted volume
|
||||||
|
echo "Taking config for deployed contracts from mounted volume"
|
||||||
|
while [ ! -f /server/config.json ]; do
|
||||||
|
echo "Config not found, retrying in 5 seconds..."
|
||||||
|
sleep 5
|
||||||
|
done
|
||||||
|
|
||||||
|
# Get deployed contract address and chain id
|
||||||
|
DEPLOYED_CONTRACT=$(jq -r '.address' /server/config.json | tr -d '"')
|
||||||
|
CHAIN_ID=$(jq -r '.chainId' /server/config.json)
|
||||||
|
|
||||||
|
echo "Using DEPLOYED_CONTRACT $DEPLOYED_CONTRACT"
|
||||||
|
echo "Using CHAIN_ID $CHAIN_ID"
|
||||||
|
|
||||||
|
nitro_addresses_file="/nitro/nitro-addresses.json"
|
||||||
|
nitro_addresses_destination_file="/app/src/utils/nitro-addresses.json"
|
||||||
|
if [ -f ${nitro_addresses_file} ]; then
|
||||||
|
echo "Using Nitro addresses from ${nitro_addresses_file}:"
|
||||||
|
cat "$nitro_addresses_file"
|
||||||
|
cat "$nitro_addresses_file" > "$nitro_addresses_destination_file"
|
||||||
|
else
|
||||||
|
echo "Nitro addresses not available"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Export config values in a json file
|
||||||
|
app_config_file="/app/src/utils/config.json"
|
||||||
|
app_config_json=$(jq -n \
|
||||||
|
--arg name "MobyMask" \
|
||||||
|
--argjson enableDebugInfo true \
|
||||||
|
--arg address "$DEPLOYED_CONTRACT" \
|
||||||
|
--argjson chainId "$CHAIN_ID" \
|
||||||
|
--argjson relayNodes "$RELAY_NODES" \
|
||||||
|
--argjson denyMultiaddrs "[]" \
|
||||||
|
--arg pubsub "" \
|
||||||
|
--argjson directPeers "[]" \
|
||||||
|
'.name = $name | .address = $address | .chainId = $chainId | .relayNodes = $relayNodes | .peer.enableDebugInfo = $enableDebugInfo | .peer.denyMultiaddrs = $denyMultiaddrs | .peer.pubsub = $pubsub | .peer.directPeers = $directPeers')
|
||||||
|
echo "$app_config_json" > "${app_config_file}"
|
||||||
|
|
||||||
|
echo "Using CERC_APP_WATCHER_URL $CERC_APP_WATCHER_URL"
|
||||||
|
echo "Using CERC_SNAP_URL $CERC_SNAP_URL"
|
||||||
|
|
||||||
|
REACT_APP_DEBUG_PEER=true \
|
||||||
|
REACT_APP_WATCHER_URI="$CERC_APP_WATCHER_URL/graphql" \
|
||||||
|
REACT_APP_PAY_TO_NITRO_ADDRESS="$PAYMENT_NITRO_ADDRESS" \
|
||||||
|
REACT_APP_SNAP_ORIGIN="local:$CERC_SNAP_URL" \
|
||||||
|
yarn build
|
||||||
|
|
||||||
|
http-server -p 80 /app/build
|
Loading…
Reference in New Issue
Block a user