Decentralized interfaces for the Tangle Operator Layer for AI services, built on the TNT EVM protocol stack from tnt-core.
- apps/tangle-dapp: end-user staking, delegation, rewards, and wallet flows.
- apps/tangle-cloud: operator/developer workflows for blueprint and service lifecycle management.
apps/leaderboard: operator and protocol analytics.
- Monorepo:
Nx - Package manager:
Yarn 4workspaces - Runtime:
Node.js >= 18.18.x - Frontend:
React + Vite - Data plane: GraphQL indexer + on-chain reads/writes
- Protocol contracts and indexer source of truth:
../tnt-core
- Install Node 18.18+ and enable Corepack:
corepack enable- Install dependencies:
yarn install- Set environment variables:
cp .env.example .env.localMinimum expected values:
VITE_GRAPHQL_ENDPOINT-> Envio/Hasura endpoint for the chain you target.VITE_WALLETCONNECT_PROJECT_ID(optional) -> WalletConnect support.
- Run apps:
yarn nx serve tangle-dapp # http://localhost:4200
yarn nx serve tangle-cloud # http://localhost:4201
yarn nx serve leaderboard # http://localhost:4202This repo is designed to run against a sibling checkout at ../tnt-core.
When developing locally:
- Ensure the wallet chain matches the chain where
tnt-corecontracts are deployed. - Ensure
VITE_GRAPHQL_ENDPOINTpoints at the matching indexer for that chain. - Refresh contract metadata/assets when protocol changes land:
yarn sync:tnt-core-assetsHelper scripts:
yarn infra:local
yarn script:setupServices
yarn script:setupStakingyarn lint
yarn test
yarn build
yarn check:codegenWallet-flow E2E-style test suite:
yarn test:wallet-flows
yarn test:wallet-flows:listYarn is the canonical package manager for this repository today (yarn.lock, Yarn-focused CI, and release workflows). A pnpm migration can be done later as a dedicated infra change, but this branch intentionally keeps one package-manager source of truth to avoid CI/tooling drift.
- Open PRs against
developunless release instructions specify otherwise. - Run
yarn lint,yarn test, andyarn buildbefore opening PRs. - Follow .github/CONTRIBUTING.md.
