This project was bootstrapped with Create React App.
.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
yarn
yarn upgrade @keep-network/keep-core@sepolia \
@keep-network/keep-ecdsa@sepolia \
@keep-network/random-beacon@sepolia \
@keep-network/tbtc@sepolia \
@threshold-network/solidity-contracts@sepolia
NOTE 1: 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:
https://github.com/yarnpkg/yarn/issues/4731.
NOTE 2: 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: https://github.com/keep-network/tbtc-v2/pull/403
Instead of the sepolia
contracts above you can also use dapp-development-sepolia
contracts. They offer shorter durations for some specific elements in the contracts in comparison to sepolia
/mainnet
and also allow to manually control mint and unmint process of tbtc-v2
(for more information see please see https://github.com/keep-network/tbtc-v2/pull/403). To install sepolia-dev contracts run:
yarn @keep-network/keep-core@sepolia \
@keep-network/keep-ecdsa@sepolia \
@keep-network/random-beacon@dapp-development-sepolia \
@keep-network/tbtc@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
(...)
yarn start
Open http://localhost:3000 to view it in the browser.
The following procedure allows to deploy T token dashboard to production:
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.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.dashboard.threshold.network
.Update .env
to contain:
REACT_APP_SUPPORTED_CHAIN_ID=11155111
REACT_APP_ETH_HOSTNAME_HTTP=https://sepolia.infura.io/v3/<your API key here>
REACT_APP_ETH_HOSTNAME_WS=wss://sepolia.infura.io/v3/<your API key here>
REACT_APP_MULTICALL_ADDRESS=$MULTICALL_ADDRESS
REACT_APP_FEATURE_FLAG_TBTC_V2=true
REACT_APP_FEATURE_FLAG_TBTC_V2_REDEMPTION=true
REACT_APP_FEATURE_FLAG_MULTI_APP_STAKING=true
REACT_APP_FEATURE_FLAG_FEEDBACK_MODULE=false
REACT_APP_FEATURE_FLAG_LEDGER_LIVE=true
REACT_APP_FEATURE_FLAG_GOOGLE_TAG_MANAGER=false
REACT_APP_GOOGLE_TAG_MANAGER_ID=$GOOGLE_TAG_MANAGER_ID
REACT_APP_FEATURE_FLAG_POSTHOG=false
REACT_APP_FEATURE_FLAG_SENTRY=false
REACT_APP_SENTRY_DSN=$SENTRY_DSN
REACT_APP_FEATURE_FLAG_TRM=false
REACT_APP_ELECTRUM_PROTOCOL=wss
REACT_APP_ELECTRUM_HOST=electrumx-server.test.tbtc.network
REACT_APP_ELECTRUM_PORT=8443
REACT_APP_MOCK_BITCOIN_CLIENT=false
REACT_APP_WALLET_CONNECT_PROJECT_ID=$WALLET_CONNECT_PROJECT_ID
REACT_APP_TACO_DOMAIN=dashboard
Then build the docker container and run the dashboard:
docker-compose up --build