Skip to content

Latest commit

 

History

History
116 lines (80 loc) · 3.17 KB

File metadata and controls

116 lines (80 loc) · 3.17 KB

Tangle dApp Monorepo

Decentralized interfaces for the Tangle Operator Layer for AI services, built on the TNT EVM protocol stack from tnt-core.

GitHub Workflow Status License Apache 2.0

Applications

  • 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.

Tech Stack

  • Monorepo: Nx
  • Package manager: Yarn 4 workspaces
  • 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

Quick Start

  1. Install Node 18.18+ and enable Corepack:
corepack enable
  1. Install dependencies:
yarn install
  1. Set environment variables:
cp .env.example .env.local

Minimum expected values:

  • VITE_GRAPHQL_ENDPOINT -> Envio/Hasura endpoint for the chain you target.
  • VITE_WALLETCONNECT_PROJECT_ID (optional) -> WalletConnect support.
  1. Run apps:
yarn nx serve tangle-dapp      # http://localhost:4200
yarn nx serve tangle-cloud     # http://localhost:4201
yarn nx serve leaderboard      # http://localhost:4202

Working With tnt-core

This repo is designed to run against a sibling checkout at ../tnt-core.

When developing locally:

  • Ensure the wallet chain matches the chain where tnt-core contracts are deployed.
  • Ensure VITE_GRAPHQL_ENDPOINT points at the matching indexer for that chain.
  • Refresh contract metadata/assets when protocol changes land:
yarn sync:tnt-core-assets

Helper scripts:

yarn infra:local
yarn script:setupServices
yarn script:setupStaking

Quality Gates

yarn lint
yarn test
yarn build
yarn check:codegen

Wallet-flow E2E-style test suite:

yarn test:wallet-flows
yarn test:wallet-flows:list

Package Manager Policy

Yarn 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.

Contributing

  • Open PRs against develop unless release instructions specify otherwise.
  • Run yarn lint, yarn test, and yarn build before opening PRs.
  • Follow .github/CONTRIBUTING.md.

Help