From 3b27751c0dc1ffce6a7cb9447733cbe06c49e930 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matev=C5=BE=20Jekovec?= Date: Tue, 12 Nov 2024 16:31:37 +0100 Subject: [PATCH] ci, readme: Cleanups --- .github/workflows/ci-test.yaml | 6 +- README.md | 94 ++++++++++++++++--------------- docs/manually-connect-site-1.png | Bin 40755 -> 0 bytes docs/manually-connect-site-2.png | Bin 34417 -> 0 bytes frontend/.env.development | 6 +- frontend/.env.production | 4 +- 6 files changed, 57 insertions(+), 53 deletions(-) delete mode 100644 docs/manually-connect-site-1.png delete mode 100644 docs/manually-connect-site-2.png diff --git a/.github/workflows/ci-test.yaml b/.github/workflows/ci-test.yaml index c4ec201..b42dd67 100644 --- a/.github/workflows/ci-test.yaml +++ b/.github/workflows/ci-test.yaml @@ -57,15 +57,13 @@ jobs: runs-on: ubuntu-latest services: sapphire-localnet-ci: - image: ghcr.io/oasisprotocol/sapphire-localnet:latest + image: ghcr.io/oasisprotocol/sapphire-localnet ports: - 8545:8545 - 8546:8546 - env: - OASIS_DEPOSIT: /oasis-deposit -test-mnemonic -n 5 options: >- --rm - --health-cmd="/oasis-node debug control wait-ready -a unix:/serverdir/node/net-runner/network/client-0/internal.sock" + --health-cmd="test -f /CONTAINER_READY" --health-start-period=90s steps: - name: Checkout code diff --git a/README.md b/README.md index 676c9e7..95a65a8 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,10 @@ This is a skeleton for confidential Oasis dApps: -- `backend` contains the example MessageBox solidity contract, deployment and - testing utils. -- `frontend` contains a Vue-based web application communicating with the - backend smart contract. +- `backend` contains the example MessageBox Solidity contract and Hardhat utils + for deploying the contract and managing it via command line. +- `frontend` contains a Vue-based web application which communicates with your + smart contract. This monorepo is set up for `pnpm`. Install dependencies by running: @@ -21,50 +21,68 @@ Move to the `backend` folder and build smart contracts: pnpm build ``` -Then, prepare your hex-encoded private key for paying the deployment gas fee -and store it as an environment variable: +### Localnet deployment and Testing + +Spin up the [Sapphire Localnet] image: ```shell -export PRIVATE_KEY=0x... +docker run -it -p8544-8548:8544-8548 ghcr.io/oasisprotocol/sapphire-localnet ``` -Alternative CMD command for Windows: +Once Localnet is ready, deploy the contract using the first test account by +invoking: +```shell +export PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 +npx hardhat deploy localhost --network sapphire-localnet ``` -set PRIVATE_KEY=0x... + +Similarly, you can run tests on Localnet: + +```shell +npx hardhat test --network sapphire-localnet ``` -To deploy the contracts to the [Sapphire Localnet], Testnet or Mainnet, use -one of the following commands: +### Production deployment + +Prepare your hex-encoded private key for paying the deployment gas fee and store +it as an environment variable: ```shell -npx hardhat deploy --network sapphire-localnet -npx hardhat deploy --network sapphire-testnet -npx hardhat deploy --network sapphire +export PRIVATE_KEY=0x... ``` -If you don't need any Sapphire-specific precompiles, you can spin up the -hardhat node and deploy the contract locally: +Alternative CMD command for Windows: +```powershell +set PRIVATE_KEY=0x... ``` -npx hardhat node -npx hardhat deploy --network localhost + +To deploy the contract on Testnet or Mainnet for your dApp that will be +accessible on `yourdomain.com`: + +```shell +npx hardhat deploy yourdomain.com --network sapphire-testnet +npx hardhat deploy yourdomain.com --network sapphire ``` -Once deployed, the MessageBox address will be reported. Remember it and store it -inside the `frontend` folder's `.env.development`, for example: +[Sapphire Localnet]: https://github.com/oasisprotocol/oasis-web3-gateway/pkgs/container/sapphire-localnet + +## Frontend + +Once the contract is deployed, the MessageBox address will be reported. Store it +inside the `frontend` folder's `.env.development` (for Localnet) or +`.env.production` (for Testnet or Mainnet - uncomment the appropriate network), +for example: ``` VITE_MESSAGE_BOX_ADDR=0x5FbDB2315678afecb367f032d93F642f64180aa3 ``` -[Sapphire Localnet]: https://github.com/oasisprotocol/oasis-web3-gateway/pkgs/container/sapphire-dev +### Run locally -## Frontend - -After you compiled the backend, updated `.env.development` with the -corresponding address and a chain ID, move to the `frontend` folder, compile -and Hot-Reload frontend for Development: +Run the hot-reload version of the frontend configured in `.env.development` by +running: ```sh pnpm dev @@ -75,15 +93,13 @@ browsers (e.g. Brave) may require https connection and a CA-signed certificate to access the wallet. In this case, read the section below on how to properly deploy your dApp. -You can use one of the deployed test accounts and associated private key with -MetaMask. If you use the same MetaMask accounts on fresh local networks such as -Hardhat Node, Foundry Anvil or sapphire-dev docker image, don't forget to -*clear your account's activity* each time or manually specify the correct -account nonce. +Note: If you use the same MetaMask accounts in your browser and restart the +sapphire-dev docker image, don't forget to *clear your MetaMask activity* each +time to fetch correct account nonce. -### Frontend Deployment +### Production deployment -You can build assets for deployment by running: +Build assets for deployment by running: ```sh pnpm build @@ -93,7 +109,7 @@ pnpm build #### Different Website Base -If you are running dApp on a non-root base dir, add +If run dApp on a non-root base dir, add ``` BASE_DIR=/my/public/path @@ -106,13 +122,3 @@ pnpm build-only --base=/my/public/path/ ``` Then copy the `dist` folder to a place of your `/my/public/path` location. - -## Troubleshooting - -When click button Connect Wallet, in some case you will constantly get the error: -`Uncaught (in promise) Error: [useEthereumStore] Request account failed!` - -To resolve it, try to open MetaMask and manually connect site: - -![MetaMask: Connected sites](docs/manually-connect-site-1.png) -![MetaMask: Manually connect to the current site](docs/manually-connect-site-2.png) diff --git a/docs/manually-connect-site-1.png b/docs/manually-connect-site-1.png deleted file mode 100644 index 44416d4faaef03468df0a45000b60f504ee34315..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40755 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∈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 diff --git a/docs/manually-connect-site-2.png b/docs/manually-connect-site-2.png deleted file mode 100644 index 79642367f3e9ca6c37b6841697d126862a0d16ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34417 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 VbL-nli9_H|`^xpp`ReAO{|l}~KlA_q diff --git a/frontend/.env.development b/frontend/.env.development index 4dc8724..4396240 100644 --- a/frontend/.env.development +++ b/frontend/.env.development @@ -1,5 +1,3 @@ -# VITE_NETWORK=0x5afd -# VITE_WEB3_GATEWAY=http://localhost:8545 -VITE_NETWORK=0x5aff -VITE_WEB3_GATEWAY=https://testnet.sapphire.oasis.dev +VITE_NETWORK=0x5afd +VITE_WEB3_GATEWAY=http://localhost:8545 VITE_MESSAGE_BOX_ADDR=0x2dE080e97B0caE9825375D31f5D0eD5751fDf16D diff --git a/frontend/.env.production b/frontend/.env.production index 236573b..bff0edb 100644 --- a/frontend/.env.production +++ b/frontend/.env.production @@ -1,4 +1,6 @@ VITE_NETWORK=0x5aff -VITE_WEB3_GATEWAY=https://testnet.sapphire.oasis.dev +VITE_WEB3_GATEWAY=https://testnet.sapphire.oasis.io +#VITE_NETWORK=0x5afe +#VITE_WEB3_GATEWAY=https://sapphire.oasis.io VITE_MESSAGE_BOX_ADDR=0xca5B5E9371e6AedD850a74554a53BA91D2D3508d BASE_DIR=/