JACK is a cross-chain execution kernel that enables seamless interoperability between different blockchain networks. Mission: provide deterministic, intent-first execution by pairing a Kernel state machine with policy Hooks that enforce routing and settlement guardrails.
graph TB
A[User Interface] --> B[JACK Core]
B --> C[Policy Hook]
B --> D[Settlement Adapter]
C --> E[Chain A]
C --> F[Chain B]
D --> G[Cross-Chain Bridge]
G --> H[Destination Chain]
subgraph "JACK Components"
B
C
D
end
subgraph "Blockchain Networks"
E
F
H
end
- Cross-Chain Execution: Execute transactions across multiple blockchain networks
- Policy Management: Flexible policy hooks for transaction validation
- Settlement Layer: Robust settlement adapter for finalizing cross-chain operations
- Developer SDK: Comprehensive SDK for integration with existing applications
- Dashboard Interface: Intuitive web dashboard for monitoring and management
Prerequisites: Node.js, Git
-
Clone + install
git clone https://github.com/hashpass-tech/jack.git cd jack pnpm install -
Configure environment
cp .env.production.example .env.local # Edit .env.local with your configuration -
Run the apps
pnpm dev:landing # http://localhost:3000 pnpm dev:dashboard # http://localhost:3001 pnpm dev:docs # http://localhost:3002
Or run all apps concurrently:
pnpm dev:all
jack/
├── apps/
│ ├── dashboard/ # Web dashboard
│ ├── docs/ # Docusaurus documentation app
│ └── landing/ # Landing page
├── contracts/ # Smart contracts
├── packages/
│ └── sdk/ # TypeScript SDK
├── components/ # Shared React components
- Docs Platform
- Mission & Overview
- Architecture
- Demo Narrative
- Contracts (Foundry)
- Contracts Deployment Runbook
- MVP Critical Roadmap
We welcome contributions! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
Releases are driven by @edcalderon/versioning and the pnpm release* scripts in the root package. After you commit every change set, run the release helper to bump the version, regenerate the changelog, build landing + dashboard, and (optionally) run the docs release step and sync artifacts to your configured GCloud buckets.
Supported commands:
pnpm release # patch release
pnpm release:minor # minor release
pnpm release:major # major release
pnpm release:all # patch release + docs deploy (landing/dashboard/docs)
pnpm release:all:minor # minor release + docs deploy
pnpm release:all:major # major release + docs deploy
pnpm release -- --with-docs # include docs build
pnpm release -- --with-docs-deploy # include docs build + trigger Pages deploy workflow
pnpm release:docs # docs-only build
pnpm release:docs:deploy # docs-only build + workflow dispatchThe helper respects these environment variables to upload every release to GCloud:
GCLOUD_PROJECT: target GCloud project ID.GCLOUD_LANDING_BUCKET: target bucket for the landing build (dist/).GCLOUD_LANDING_REGION: bucket region (defaults tous-west1in setup script).GCLOUD_WHITEPAPER_BUCKET: optional bucket to keep thepublic/whitepapper/exports in sync with the release path.GCLOUD_RUN_SERVICE: Cloud Run service name for the dashboard deployment.GCLOUD_RUN_REGION: Cloud Run region (e.g.us-west1).GCLOUD_RUN_ALLOW_UNAUTH: set totrueto allow unauthenticated access.GOOGLE_APPLICATION_CREDENTIALS: path to a service account JSON key used forgcloud/gsutilauth.
The script uses gsutil -m rsync -r to mirror the built artifacts into gs://<bucket>/ and gs://<bucket>/releases/v<version>/…, then deploys the dashboard to Cloud Run if GCLOUD_RUN_SERVICE is defined. Make sure gcloud + gsutil are installed and authenticated before running the release command.
- GitHub Pages workflow:
.github/workflows/deploy-docs-pages.yml - Docs custom domain file:
apps/docs/static/CNAME - Cloud DNS helper:
scripts/gcloud/configure-docs-dns.sh - Docs deploy runs: https://github.com/hashpass-tech/jack/actions/workflows/deploy-docs-pages.yml
- Agent CI runs: https://github.com/hashpass-tech/jack/actions/workflows/agent-ci.yml
Example DNS mapping command:
GCLOUD_PROJECT=your-project \
GCLOUD_DNS_ZONE=lukas-money \
DOCS_DOMAIN=docs.jack.lukas.money \
DOCS_GITHUB_PAGES_TARGET=hashpass-tech.github.io \
./scripts/gcloud/configure-docs-dns.shUse the helper scripts in scripts/gcloud/ to configure a bucket for https://testnet.jack.lukas.money and deploy the current develop release:
GCLOUD_PROJECT=your-project \
GCLOUD_LANDING_BUCKET=your-landing-bucket \
GCLOUD_LANDING_REGION=us-west1 \
GCLOUD_LANDING_PUBLIC=true \
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json \
./scripts/gcloud/setup-testnet.sh
GCLOUD_PROJECT=your-project \
GCLOUD_LANDING_BUCKET=your-landing-bucket \
GCLOUD_RUN_SERVICE=jack-dashboard-testnet \
GCLOUD_RUN_REGION=us-west1 \
GCLOUD_RUN_ALLOW_UNAUTH=true \
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json \
./scripts/gcloud/deploy-testnet.shThis project is licensed under the MIT License - see the LICENSE file for details.
