- Install:
yarn install(Node>=18.18.x, Yarn4.x) - Run dApp:
yarn nx serve tangle-dapp(defaulthttp://localhost:4200) - Lint/test/build:
yarn lint,yarn test,yarn build
- Start from
.env.example(Vite vars areVITE_*) - Set
VITE_GRAPHQL_ENDPOINTto your Envio/Hasura GraphQL (local indexer or mainnet) - Optional:
VITE_WALLETCONNECT_PROJECT_IDfor WalletConnect - Migration claim flow (
/claim/migration) requires:VITE_MIGRATION_PROOFS_URL(proof data JSON)VITE_MIGRATION_RPC_URL(RPC for migration reads)- Optional
VITE_TANGLE_MIGRATION_ADDRESSoverride (must be non-zero) - Optional
VITE_CLAIM_RELAYER_URL(otherwise wallet mode is used) - Optional
VITE_SP1_PROVER_API_URLandVITE_MOCK_PROOFfor proof generation/testing
../tnt-core/(sibling repo): protocol + claims migration contracts, gas relayer, indexer, etc.- When running locally, ensure:
- the chain you connect the UI to matches your
tnt-coredeployments VITE_GRAPHQL_ENDPOINTpoints at the indexer for that chain
- the chain you connect the UI to matches your
- App:
apps/tangle-dapp/(Vite + React Router) - Staking (EVM v2):
- GraphQL hooks:
libs/tangle-shared-ui/src/data/graphql/ - Tx hooks:
libs/tangle-shared-ui/src/data/tx/ - Write executor:
libs/tangle-shared-ui/src/hooks/useContractWrite.ts
- GraphQL hooks:
- Seed scripts (Substrate dev):
yarn script:setupServices(create blueprints)yarn script:setupStaking(LST/vault/operator staking fixtures)
- Operating spec:
docs/harness-engineering-spec.md - Execution checklist:
docs/harness-engineering-checklist.md - Wallet flow suite usage:
docs/wallet-flow-suite.md