danteGPT / token-dashboard

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Threshold Token Dashboard

Token Dashboard / CI Docs Chat with us on Discord

This project was bootstrapped with Create React App.

Run T dapp against the Sepolia network

Update the .env file:

REACT_APP_SUPPORTED_CHAIN_ID=11155111
REACT_APP_ETH_HOSTNAME_HTTP=<your http ETH hostname- eg. Infura>
REACT_APP_ETH_HOSTNAME_WS=<your ws ETH hostname- eg. Infura>
// We can skip this env variable- the dapp uses the correct address
// of Multicall contract for Sepolia under the hood.
REACT_APP_MULTICALL_ADDRESS=$MULTICALL_ADDRESS

Setup

yarn

Install Sepolia contracts

yarn upgrade @keep-network/coverage-pools@sepolia \
  @keep-network/keep-core@sepolia \
  @keep-network/keep-ecdsa@sepolia \
  @keep-network/random-beacon@sepolia \
  @keep-network/tbtc@sepolia \
  @threshold-network/coverage-pools@npm:@keep-network/coverage-pools@sepolia \
  @threshold-network/solidity-contracts@sepolia

NOTE 1: We use the same Sepolia versions for both @keep-network/coverage-pools and @threshold-network/coverage-pools, because we don't have the v1 version of the package on Sepolia network, only on the Mainnet.

NOTE 2: If you encounter an expected manifest error while executing this, then try providing an explicit version of the keep-core package: @keep-network/keep-core@1.8.1-sepolia.0 The error is probably caused by a bug in Yarn: yarnpkg/yarn#4731.

NOTE 3: The token-dashboard package contains an indirect dependency to @summa-tx/relay-sol@2.0.2 package, which downloads one of its sub-dependencies via unathenticated git:// protocol. That protocol is no longer supported by GitHub. This means that in certain situations installation of the package or update of its dependencies using Yarn may result in The unauthenticated git protocol on port 9418 is no longer supported error.

As a workaround, we advise changing Git configuration to use https:// protocol instead of git:// by executing:

git config --global url."https://".insteadOf git://

Sepolia-dev contracts

Ref: keep-network/tbtc-v2#403

Instead of the goerli contracts above you can also use dapp-development-sepolia contracts. They offer shorter durations for some specific elements in the contracts in comparison to goerli/mainnet and also allow to manually control mint and unmint process of tbtc-v2 (for more information see please see keep-network/tbtc-v2#403) To install sepolia-dev contracts run:

yarn upgrade @keep-network/coverage-pools@sepolia \
  @keep-network/keep-core@sepolia \
  @keep-network/keep-ecdsa@sepolia \
  @keep-network/random-beacon@dapp-development-sepolia \
  @keep-network/tbtc@sepolia \
  @threshold-network/coverage-pools@npm:@keep-network/coverage-pools@sepolia \
  @threshold-network/solidity-contracts@dapp-development-sepolia

and set the REACT_APP_DAPP_DEVELOPMENT_TESTNET_CONTRACTS variable in .env file to true:

(...)
REACT_APP_DAPP_DEVELOPMENT_TESTNET_CONTRACTS=true
(...)

Run T dapp

yarn start

Open http://localhost:3000 to view it in the browser.

Production deployment

The following procedure allows to deploy T token dashboard to production:

  1. Developer with write access to the repository creates a release branch: releases/mainnet/<version>. Release branch should never be merged to main and creating a PR with a release branch is not required. Dependencies and project version needs to be updated on the release branch. All -dev, -sepolia dependencies need to be updated to mainnet versions. See this commit for v1.0.0 release as a good example.
  2. Preview of the release branch will be uploaded to preview.dashboard.threshold.network under the directory named after the release branch. For example: https://preview.dashboard.threshold.network/releases/mainnet/v1.0.0/index.html. A new version will be uploaded after each push to the release branch.
  3. After reviewing the mainnet dashboard preview, any developer with write access to the repository can tag the commit on the release branch and create a new release on GitHub.
  4. Once a new release is created, GitHub Action for mainnet T dashboard deployment will get automatically invoked. This action requires the manual approval of someone else from the development team.
  5. Once the release action is approved, the new version is automatically deployed to dashboard.threshold.network.

About


Languages

Language:TypeScript 98.8%Language:Shell 0.5%Language:JavaScript 0.3%Language:HTML 0.2%Language:Solidity 0.2%