Replace laconicd with optimism in mobymask-v2 stack (#272)
* Remove laconicd to use optimism endpoint * Use fixturenet-optimism stack for mobymask-v2-watcher * Fix setting L1 account private key in mobymask-v2 stack
This commit is contained in:
parent
fc522140ba
commit
b266ac78b4
@ -25,7 +25,7 @@ services:
|
|||||||
- ../config/fixturenet-eth/fixturenet-eth.env
|
- ../config/fixturenet-eth/fixturenet-eth.env
|
||||||
image: cerc/fixturenet-eth-geth:local
|
image: cerc/fixturenet-eth-geth:local
|
||||||
volumes:
|
volumes:
|
||||||
- fixturenet-geth-accounts:/opt/testnet/build/el
|
- fixturenet_geth_accounts:/opt/testnet/build/el
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "nc", "-v", "localhost", "8545"]
|
test: ["CMD", "nc", "-v", "localhost", "8545"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
@ -111,4 +111,4 @@ services:
|
|||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
fixturenet-geth-accounts:
|
fixturenet_geth_accounts:
|
||||||
|
@ -18,9 +18,9 @@ services:
|
|||||||
- ../config/fixturenet-optimism/optimism-contracts/send-balance.ts:/app/packages/contracts-bedrock/tasks/send-balance.ts
|
- ../config/fixturenet-optimism/optimism-contracts/send-balance.ts:/app/packages/contracts-bedrock/tasks/send-balance.ts
|
||||||
- ../config/fixturenet-optimism/optimism-contracts/update-config.js:/app/packages/contracts-bedrock/update-config.js
|
- ../config/fixturenet-optimism/optimism-contracts/update-config.js:/app/packages/contracts-bedrock/update-config.js
|
||||||
- ../config/fixturenet-optimism/optimism-contracts/run.sh:/app/packages/contracts-bedrock/run.sh
|
- ../config/fixturenet-optimism/optimism-contracts/run.sh:/app/packages/contracts-bedrock/run.sh
|
||||||
- fixturenet-geth-accounts:/geth-accounts:ro
|
- fixturenet_geth_accounts:/geth-accounts:ro
|
||||||
- l2-accounts:/l2-accounts
|
- l2_accounts:/l2-accounts
|
||||||
- l1-deployment:/app/packages/contracts-bedrock
|
- l1_deployment:/app/packages/contracts-bedrock
|
||||||
|
|
||||||
op-node-l2-config-gen:
|
op-node-l2-config-gen:
|
||||||
image: cerc/optimism-op-node:local
|
image: cerc/optimism-op-node:local
|
||||||
@ -31,7 +31,7 @@ services:
|
|||||||
L1_RPC: "http://fixturenet-eth-geth-1:8545"
|
L1_RPC: "http://fixturenet-eth-geth-1:8545"
|
||||||
volumes:
|
volumes:
|
||||||
- ../config/fixturenet-optimism/generate-l2-config.sh:/app/generate-l2-config.sh
|
- ../config/fixturenet-optimism/generate-l2-config.sh:/app/generate-l2-config.sh
|
||||||
- l1-deployment:/contracts-bedrock:ro
|
- l1_deployment:/contracts-bedrock:ro
|
||||||
- op_node_data:/app
|
- op_node_data:/app
|
||||||
command: ["sh", "/app/generate-l2-config.sh"]
|
command: ["sh", "/app/generate-l2-config.sh"]
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ../config/fixturenet-optimism/run-op-geth.sh:/run-op-geth.sh
|
- ../config/fixturenet-optimism/run-op-geth.sh:/run-op-geth.sh
|
||||||
- op_node_data:/op-node:ro
|
- op_node_data:/op-node:ro
|
||||||
- l2-accounts:/l2-accounts:ro
|
- l2_accounts:/l2-accounts:ro
|
||||||
entrypoint: "sh"
|
entrypoint: "sh"
|
||||||
command: "/run-op-geth.sh"
|
command: "/run-op-geth.sh"
|
||||||
ports:
|
ports:
|
||||||
@ -64,8 +64,8 @@ services:
|
|||||||
image: cerc/optimism-op-node:local
|
image: cerc/optimism-op-node:local
|
||||||
volumes:
|
volumes:
|
||||||
- ../config/fixturenet-optimism/run-op-node.sh:/app/run-op-node.sh
|
- ../config/fixturenet-optimism/run-op-node.sh:/app/run-op-node.sh
|
||||||
- op_node_data:/app:ro
|
- op_node_data:/op-node-data:ro
|
||||||
- l2-accounts:/l2-accounts:ro
|
- l2_accounts:/l2-accounts:ro
|
||||||
command: ["sh", "/app/run-op-node.sh"]
|
command: ["sh", "/app/run-op-node.sh"]
|
||||||
ports:
|
ports:
|
||||||
- "8547"
|
- "8547"
|
||||||
@ -80,6 +80,8 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
L1_RPC: "http://fixturenet-eth-geth-1:8545"
|
L1_RPC: "http://fixturenet-eth-geth-1:8545"
|
||||||
depends_on:
|
depends_on:
|
||||||
|
fixturenet-eth-geth-1:
|
||||||
|
condition: service_healthy
|
||||||
op-node:
|
op-node:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
op-geth:
|
op-geth:
|
||||||
@ -87,11 +89,11 @@ services:
|
|||||||
image: cerc/optimism-op-batcher:local
|
image: cerc/optimism-op-batcher:local
|
||||||
volumes:
|
volumes:
|
||||||
- ../config/fixturenet-optimism/run-op-batcher.sh:/run-op-batcher.sh
|
- ../config/fixturenet-optimism/run-op-batcher.sh:/run-op-batcher.sh
|
||||||
- l2-accounts:/l2-accounts:ro
|
- l2_accounts:/l2-accounts:ro
|
||||||
entrypoint: "sh"
|
entrypoint: "sh"
|
||||||
command: "/run-op-batcher.sh"
|
command: "/run-op-batcher.sh"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
op_node_data:
|
op_node_data:
|
||||||
l2-accounts:
|
l2_accounts:
|
||||||
l1-deployment:
|
l1_deployment:
|
||||||
|
@ -25,12 +25,22 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: cerc/mobymask:local
|
image: cerc/mobymask:local
|
||||||
working_dir: /app/packages/server
|
working_dir: /app/packages/server
|
||||||
|
depends_on:
|
||||||
|
op-node:
|
||||||
|
condition: service_healthy
|
||||||
|
op-geth:
|
||||||
|
condition: service_healthy
|
||||||
|
# TODO: Configure env file for ETH RPC URL & private key
|
||||||
environment:
|
environment:
|
||||||
- ENV=PROD
|
- ENV=PROD
|
||||||
command: ["sh", "-c", "npm start"]
|
command: ["sh", "./deploy-invite.sh"]
|
||||||
volumes:
|
volumes:
|
||||||
- ../config/watcher-mobymask-v2/secrets.json:/app/packages/server/secrets.json
|
# TODO: add a script to set rpc endpoint from env
|
||||||
|
# add manually if running seperately
|
||||||
|
- ../config/watcher-mobymask-v2/secrets-template.json:/app/packages/server/secrets-template.json
|
||||||
|
- ../config/watcher-mobymask-v2/deploy-invite.sh:/app/packages/server/deploy-invite.sh
|
||||||
- moby_data_server:/app/packages/server
|
- moby_data_server:/app/packages/server
|
||||||
|
- fixturenet_geth_accounts:/geth-accounts:ro
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "nc", "-v", "localhost", "3330"]
|
test: ["CMD", "nc", "-v", "localhost", "3330"]
|
||||||
interval: 20s
|
interval: 20s
|
||||||
@ -39,6 +49,7 @@ services:
|
|||||||
start_period: 10s
|
start_period: 10s
|
||||||
|
|
||||||
mobymask-watcher-server:
|
mobymask-watcher-server:
|
||||||
|
# TODO: pass optimism rpc endpoint
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
mobymask-watcher-db:
|
mobymask-watcher-db:
|
||||||
@ -48,12 +59,15 @@ services:
|
|||||||
image: cerc/watcher-mobymask-v2:local
|
image: cerc/watcher-mobymask-v2:local
|
||||||
command: ["sh", "server-start.sh"]
|
command: ["sh", "server-start.sh"]
|
||||||
volumes:
|
volumes:
|
||||||
|
# TODO: add a script to set rpc endpoint from env
|
||||||
|
# add manually if running seperately
|
||||||
- ../config/watcher-mobymask-v2/watcher-config-template.toml:/app/packages/mobymask-v2-watcher/environments/watcher-config-template.toml
|
- ../config/watcher-mobymask-v2/watcher-config-template.toml:/app/packages/mobymask-v2-watcher/environments/watcher-config-template.toml
|
||||||
- ../config/watcher-mobymask-v2/peer.env:/app/packages/peer/.env
|
- ../config/watcher-mobymask-v2/peer.env:/app/packages/peer/.env
|
||||||
- ../config/watcher-mobymask-v2/relay-id.json:/app/packages/mobymask-v2-watcher/relay-id.json
|
- ../config/watcher-mobymask-v2/relay-id.json:/app/packages/mobymask-v2-watcher/relay-id.json
|
||||||
- ../config/watcher-mobymask-v2/peer-id.json:/app/packages/mobymask-v2-watcher/peer-id.json
|
- ../config/watcher-mobymask-v2/peer-id.json:/app/packages/mobymask-v2-watcher/peer-id.json
|
||||||
- ../config/watcher-mobymask-v2/server-start.sh:/app/packages/mobymask-v2-watcher/server-start.sh
|
- ../config/watcher-mobymask-v2/server-start.sh:/app/packages/mobymask-v2-watcher/server-start.sh
|
||||||
- moby_data_server:/server
|
- moby_data_server:/server
|
||||||
|
- fixturenet_geth_accounts:/geth-accounts:ro
|
||||||
ports:
|
ports:
|
||||||
- "0.0.0.0:3001:3001"
|
- "0.0.0.0:3001:3001"
|
||||||
- "0.0.0.0:9001:9001"
|
- "0.0.0.0:9001:9001"
|
||||||
@ -65,6 +79,7 @@ services:
|
|||||||
retries: 15
|
retries: 15
|
||||||
start_period: 5s
|
start_period: 5s
|
||||||
|
|
||||||
|
# TODO: Move to a separate pod
|
||||||
mobymask-app:
|
mobymask-app:
|
||||||
depends_on:
|
depends_on:
|
||||||
mobymask-watcher-server:
|
mobymask-watcher-server:
|
||||||
@ -109,11 +124,4 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
mobymask_watcher_db_data:
|
mobymask_watcher_db_data:
|
||||||
moby_data_server:
|
moby_data_server:
|
||||||
|
fixturenet_geth_accounts:
|
||||||
networks:
|
|
||||||
# https://docs.docker.com/compose/networking/#configure-the-default-network
|
|
||||||
default:
|
|
||||||
# https://docs.docker.com/compose/networking/#use-a-pre-existing-network
|
|
||||||
name: mobymask-v2-network
|
|
||||||
external: true
|
|
||||||
|
|
||||||
|
@ -28,10 +28,12 @@ PROPOSER_ADDRESS=$(echo "$KEYS_JSON" | jq -r '.Proposer.address')
|
|||||||
BATCHER_ADDRESS=$(echo "$KEYS_JSON" | jq -r '.Batcher.address')
|
BATCHER_ADDRESS=$(echo "$KEYS_JSON" | jq -r '.Batcher.address')
|
||||||
SEQUENCER_ADDRESS=$(echo "$KEYS_JSON" | jq -r '.Sequencer.address')
|
SEQUENCER_ADDRESS=$(echo "$KEYS_JSON" | jq -r '.Sequencer.address')
|
||||||
|
|
||||||
# Read the private key of a L1 account
|
# Read the private key of L1 accounts
|
||||||
# TODO: Take from env if /geth-accounts volume doesn't exist to allow using separately running L1
|
# TODO: Take from env if /geth-accounts volume doesn't exist to allow using separately running L1
|
||||||
L1_ADDRESS=$(head -n 1 /geth-accounts/accounts.csv | cut -d ',' -f 2)
|
L1_ADDRESS=$(head -n 1 /geth-accounts/accounts.csv | cut -d ',' -f 2)
|
||||||
L1_PRIV_KEY=$(head -n 1 /geth-accounts/accounts.csv | cut -d ',' -f 3)
|
L1_PRIV_KEY=$(head -n 1 /geth-accounts/accounts.csv | cut -d ',' -f 3)
|
||||||
|
L1_ADDRESS_2=$(awk -F, 'NR==2{print $(NF-1)}' /geth-accounts/accounts.csv)
|
||||||
|
L1_PRIV_KEY_2=$(awk -F, 'NR==2{print $NF}' /geth-accounts/accounts.csv)
|
||||||
|
|
||||||
# Send balances to the above L2 addresses
|
# Send balances to the above L2 addresses
|
||||||
yarn hardhat send-balance --to "${ADMIN_ADDRESS}" --amount 2 --private-key "${L1_PRIV_KEY}" --network getting-started
|
yarn hardhat send-balance --to "${ADMIN_ADDRESS}" --amount 2 --private-key "${L1_PRIV_KEY}" --network getting-started
|
||||||
@ -69,13 +71,18 @@ yarn hardhat deploy --network getting-started
|
|||||||
|
|
||||||
echo "Deployed the L1 smart contracts"
|
echo "Deployed the L1 smart contracts"
|
||||||
|
|
||||||
# Read Proxy contarct's JSON and get the address
|
# Read Proxy contract's JSON and get the address
|
||||||
PROXY_JSON=$(cat deployments/getting-started/Proxy__OVM_L1StandardBridge.json)
|
PROXY_JSON=$(cat deployments/getting-started/Proxy__OVM_L1StandardBridge.json)
|
||||||
PROXY_ADDRESS=$(echo "$PROXY_JSON" | jq -r '.address')
|
PROXY_ADDRESS=$(echo "$PROXY_JSON" | jq -r '.address')
|
||||||
|
|
||||||
# Send balance to the above L2 address
|
# Send balance to the above Proxy contract in L1 for reflecting balance in L2
|
||||||
|
# First account
|
||||||
yarn hardhat send-balance --to "${PROXY_ADDRESS}" --amount 1 --private-key "${L1_PRIV_KEY}" --network getting-started
|
yarn hardhat send-balance --to "${PROXY_ADDRESS}" --amount 1 --private-key "${L1_PRIV_KEY}" --network getting-started
|
||||||
|
# Second account
|
||||||
|
yarn hardhat send-balance --to "${PROXY_ADDRESS}" --amount 1 --private-key "${L1_PRIV_KEY_2}" --network getting-started
|
||||||
|
|
||||||
echo "Balance sent to Proxy L2 contract"
|
echo "Balance sent to Proxy L2 contract"
|
||||||
echo "Use account ${L1_ADDRESS} to deploy contracts to L2"
|
echo "Use following accounts for transactions in L2:"
|
||||||
|
echo "${L1_ADDRESS}"
|
||||||
|
echo "${L1_ADDRESS_2}"
|
||||||
echo "Done"
|
echo "Done"
|
||||||
|
@ -6,11 +6,11 @@ SEQUENCER_KEY=$(jq -r '.Sequencer.privateKey' /l2-accounts/keys.json | tr -d '"'
|
|||||||
|
|
||||||
op-node \
|
op-node \
|
||||||
--l2=http://op-geth:8551 \
|
--l2=http://op-geth:8551 \
|
||||||
--l2.jwt-secret=/app/jwt.txt \
|
--l2.jwt-secret=/op-node-data/jwt.txt \
|
||||||
--sequencer.enabled \
|
--sequencer.enabled \
|
||||||
--sequencer.l1-confs=3 \
|
--sequencer.l1-confs=3 \
|
||||||
--verifier.l1-confs=3 \
|
--verifier.l1-confs=3 \
|
||||||
--rollup.config=/app/rollup.json \
|
--rollup.config=/op-node-data/rollup.json \
|
||||||
--rpc.addr=0.0.0.0 \
|
--rpc.addr=0.0.0.0 \
|
||||||
--rpc.port=8547 \
|
--rpc.port=8547 \
|
||||||
--p2p.disable \
|
--p2p.disable \
|
||||||
|
11
app/data/config/watcher-mobymask-v2/deploy-invite.sh
Normal file
11
app/data/config/watcher-mobymask-v2/deploy-invite.sh
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Read the private key of L1 account to deploy contract
|
||||||
|
# TODO: Take from env if /geth-accounts volume doesn't exist to allow using separately running L1
|
||||||
|
L1_PRIV_KEY=$(head -n 1 /geth-accounts/accounts.csv | cut -d ',' -f 3)
|
||||||
|
|
||||||
|
# Set the private key
|
||||||
|
jq --arg privateKey "$L1_PRIV_KEY" '.privateKey = ($privateKey)' secrets-template.json > secrets.json
|
||||||
|
|
||||||
|
npm start
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"rpcUrl": "http://op-geth:8545",
|
||||||
|
"privateKey": "",
|
||||||
|
"baseURI": "http://127.0.0.1:3002/#"
|
||||||
|
}
|
@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"rpcUrl": "http://laconicd:8545",
|
|
||||||
"privateKey": "GENESIS_ACCOUNT_PRIVATE_KEY",
|
|
||||||
"baseURI": "http://127.0.0.1:3002/#"
|
|
||||||
}
|
|
@ -1,9 +1,11 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# Assign deployed contract address from server config
|
# Assign deployed contract address from server config
|
||||||
CONTRACT_ADDRESS=`jq '.address' /server/config.json`
|
CONTRACT_ADDRESS=$(jq -r '.address' /server/config.json | tr -d '"')
|
||||||
|
L1_PRIV_KEY_2=$(awk -F, 'NR==2{print $NF}' /geth-accounts/accounts.csv)
|
||||||
|
|
||||||
sed "s/REPLACE_WITH_CONTRACT_ADDRESS/${CONTRACT_ADDRESS}/" environments/watcher-config-template.toml > environments/local.toml
|
sed "s/REPLACE_WITH_PRIVATE_KEY/${L1_PRIV_KEY_2}/" environments/watcher-config-template.toml > environments/local.toml
|
||||||
|
sed -i "s/REPLACE_WITH_CONTRACT_ADDRESS/${CONTRACT_ADDRESS}/" environments/local.toml
|
||||||
|
|
||||||
echo 'yarn server'
|
echo 'yarn server'
|
||||||
yarn server
|
yarn server
|
||||||
|
@ -37,8 +37,8 @@
|
|||||||
enableDebugInfo = true
|
enableDebugInfo = true
|
||||||
|
|
||||||
[server.p2p.peer.l2TxConfig]
|
[server.p2p.peer.l2TxConfig]
|
||||||
privateKey = ''
|
privateKey = 'REPLACE_WITH_PRIVATE_KEY'
|
||||||
contractAddress = REPLACE_WITH_CONTRACT_ADDRESS
|
contractAddress = 'REPLACE_WITH_CONTRACT_ADDRESS'
|
||||||
|
|
||||||
[metrics]
|
[metrics]
|
||||||
host = "0.0.0.0"
|
host = "0.0.0.0"
|
||||||
@ -59,7 +59,7 @@
|
|||||||
[upstream]
|
[upstream]
|
||||||
[upstream.ethServer]
|
[upstream.ethServer]
|
||||||
gqlApiEndpoint = "http://ipld-eth-server:8083/graphql"
|
gqlApiEndpoint = "http://ipld-eth-server:8083/graphql"
|
||||||
rpcProviderEndpoint = "http://laconicd:8545"
|
rpcProviderEndpoint = "http://op-geth:8545"
|
||||||
blockDelayInMilliSecs = 60000
|
blockDelayInMilliSecs = 60000
|
||||||
|
|
||||||
[upstream.cache]
|
[upstream.cache]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
FROM node:16.17.1-alpine3.16
|
FROM node:16.17.1-alpine3.16
|
||||||
|
|
||||||
RUN apk --update --no-cache add python3 alpine-sdk
|
RUN apk --update --no-cache add python3 alpine-sdk jq
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
@ -28,10 +28,6 @@ git checkout v0.2.31
|
|||||||
cd ~/cerc/mobymask-ui
|
cd ~/cerc/mobymask-ui
|
||||||
git checkout laconic
|
git checkout laconic
|
||||||
|
|
||||||
# laconicd
|
|
||||||
cd ~/cerc/laconicd
|
|
||||||
git checkout v0.8.0
|
|
||||||
|
|
||||||
# MobyMask
|
# MobyMask
|
||||||
cd ~/cerc/MobyMask
|
cd ~/cerc/MobyMask
|
||||||
git checkout v0.1.1
|
git checkout v0.1.1
|
||||||
@ -47,55 +43,10 @@ This should create the required docker images in the local image registry.
|
|||||||
|
|
||||||
Deploy the stack:
|
Deploy the stack:
|
||||||
|
|
||||||
* Deploy the laconic chain
|
* Deploy the containers
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so --stack mobymask-v2 deploy-system --include mobymask-laconicd up
|
laconic-so --stack mobymask-v2 deploy-system up
|
||||||
```
|
|
||||||
|
|
||||||
* Check that laconic chain status is healthy
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker ps
|
|
||||||
```
|
|
||||||
|
|
||||||
* Export the private key from laconicd
|
|
||||||
|
|
||||||
```bash
|
|
||||||
laconic-so --stack mobymask-v2 deploy-system --include mobymask-laconicd exec laconicd "echo y | laconicd keys export mykey --unarmored-hex --unsafe"
|
|
||||||
```
|
|
||||||
|
|
||||||
* Set the private key in [secrets.json](../../config/watcher-mobymask-v2/secrets.json) file that will be used by mobymask container to deploy contract
|
|
||||||
|
|
||||||
* Create a new account named `alice`
|
|
||||||
|
|
||||||
```bash
|
|
||||||
laconic-so --stack mobymask-v2 deploy-system --include mobymask-laconicd exec laconicd "laconicd keys add alice"
|
|
||||||
```
|
|
||||||
|
|
||||||
* Transfer balance to new account
|
|
||||||
|
|
||||||
```bash
|
|
||||||
laconic-so --stack mobymask-v2 deploy-system --include mobymask-laconicd exec laconicd 'laconicd tx bank send $(laconicd keys show mykey -a) $(laconicd keys show alice -a) 1000000000000000000000000aphoton --fees 2000aphoton'
|
|
||||||
```
|
|
||||||
|
|
||||||
* Export the private key of new account from laconicd
|
|
||||||
|
|
||||||
```bash
|
|
||||||
laconic-so --stack mobymask-v2 deploy-system --include mobymask-laconicd exec laconicd "echo y | laconicd keys export alice --unarmored-hex --unsafe"
|
|
||||||
```
|
|
||||||
|
|
||||||
* Set the private key (`server.p2p.peer.l2TxConfig.privateKey`) in [watcher.toml](../../config/watcher-mobymask-v2/watcher.toml) file that will be used to start the peer that sends txs to L2 chain
|
|
||||||
|
|
||||||
```toml
|
|
||||||
[server.p2p.peer.l2TxConfig]
|
|
||||||
privateKey = 'ALICE_PRIVATE_KEY'
|
|
||||||
```
|
|
||||||
|
|
||||||
* Deploy the other containers
|
|
||||||
|
|
||||||
```bash
|
|
||||||
laconic-so --stack mobymask-v2 deploy-system --include watcher-mobymask-v2 up
|
|
||||||
```
|
```
|
||||||
|
|
||||||
* Check that all containers are healthy using `docker ps`
|
* Check that all containers are healthy using `docker ps`
|
||||||
@ -103,7 +54,7 @@ Deploy the stack:
|
|||||||
NOTE: The `mobymask-ui` container might not start. If mobymask-app is not running at http://localhost:3002, run command again to start the container
|
NOTE: The `mobymask-ui` container might not start. If mobymask-app is not running at http://localhost:3002, run command again to start the container
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so --stack mobymask-v2 deploy-system --include watcher-mobymask-v2 up
|
laconic-so --stack mobymask-v2 deploy-system up
|
||||||
```
|
```
|
||||||
|
|
||||||
## Tests
|
## Tests
|
||||||
@ -111,7 +62,7 @@ Deploy the stack:
|
|||||||
Find the watcher container's id:
|
Find the watcher container's id:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so --stack mobymask-v2 deploy-system --include watcher-mobymask-v2 ps | grep "mobymask-watcher-server"
|
laconic-so --stack mobymask-v2 deploy-system ps | grep "mobymask-watcher-server"
|
||||||
```
|
```
|
||||||
|
|
||||||
Example output
|
Example output
|
||||||
@ -163,9 +114,7 @@ Follow the [demo](./demo.md) to try out the MobyMask app with L2 chain
|
|||||||
Stop all the services running in background run:
|
Stop all the services running in background run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so --stack mobymask-v2 deploy-system --include watcher-mobymask-v2 down
|
laconic-so --stack mobymask-v2 deploy-system down
|
||||||
|
|
||||||
laconic-so --stack mobymask-v2 deploy-system --include mobymask-laconicd down
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Clear volumes:
|
Clear volumes:
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* Get the root invite link URL for mobymask-app
|
* Get the root invite link URL for mobymask-app
|
||||||
|
|
||||||
```
|
```
|
||||||
laconic-so --stack mobymask-v2 deploy-system --include watcher-mobymask-v2 logs mobymask
|
laconic-so --stack mobymask-v2 deploy-system logs mobymask
|
||||||
```
|
```
|
||||||
|
|
||||||
The invite link is seen at the end of the logs
|
The invite link is seen at the end of the logs
|
||||||
@ -34,7 +34,7 @@
|
|||||||
* Get the container id
|
* Get the container id
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so --stack mobymask-v2 deploy-system --include watcher-mobymask-v2 ps | grep mobymask-watcher-server
|
laconic-so --stack mobymask-v2 deploy-system ps | grep mobymask-watcher-server
|
||||||
```
|
```
|
||||||
|
|
||||||
* Check logs
|
* Check logs
|
||||||
@ -74,7 +74,7 @@
|
|||||||
* Get the deployed contract address
|
* Get the deployed contract address
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
laconic-so --stack mobymask-v2 deploy-system --include watcher-mobymask-v2 exec mobymask-app "cat src/config.json"
|
laconic-so --stack mobymask-v2 deploy-system exec mobymask-app "cat src/config.json"
|
||||||
```
|
```
|
||||||
|
|
||||||
The value of `address` field is the deployed contract address
|
The value of `address` field is the deployed contract address
|
||||||
|
@ -1,17 +1,29 @@
|
|||||||
version: "1.0"
|
version: "1.0"
|
||||||
name: mobymask-v2
|
name: mobymask-v2
|
||||||
repos:
|
repos:
|
||||||
|
- cerc-io/go-ethereum
|
||||||
|
- dboreham/foundry
|
||||||
|
- ethereum-optimism/optimism
|
||||||
|
- ethereum-optimism/op-geth
|
||||||
- cerc-io/watcher-ts
|
- cerc-io/watcher-ts
|
||||||
- cerc-io/react-peer
|
- cerc-io/react-peer
|
||||||
- cerc-io/mobymask-ui
|
- cerc-io/mobymask-ui
|
||||||
- cerc-io/laconicd
|
|
||||||
- cerc-io/MobyMask
|
- cerc-io/MobyMask
|
||||||
containers:
|
containers:
|
||||||
|
- cerc/go-ethereum
|
||||||
|
- cerc/lighthouse
|
||||||
|
- cerc/fixturenet-eth-geth
|
||||||
|
- cerc/fixturenet-eth-lighthouse
|
||||||
|
- cerc/foundry
|
||||||
|
- cerc/optimism-contracts
|
||||||
|
- cerc/optimism-l2geth
|
||||||
|
- cerc/optimism-op-batcher
|
||||||
|
- cerc/optimism-op-node
|
||||||
- cerc/watcher-mobymask-v2
|
- cerc/watcher-mobymask-v2
|
||||||
- cerc/react-peer
|
- cerc/react-peer
|
||||||
- cerc/mobymask-ui
|
- cerc/mobymask-ui
|
||||||
- cerc/laconicd
|
|
||||||
- cerc/mobymask
|
- cerc/mobymask
|
||||||
pods:
|
pods:
|
||||||
- mobymask-laconicd
|
- fixturenet-eth
|
||||||
|
- fixturenet-optimism
|
||||||
- watcher-mobymask-v2
|
- watcher-mobymask-v2
|
||||||
|
Loading…
Reference in New Issue
Block a user