TypeScript client libraries and utilities for interacting with the ThreeFold Grid from Node.js and browser environments. This SDK supports deployment management, wallet operations, peer-to-peer messaging, and grid querying through modern TypeScript APIs.
This repository contains the official TypeScript SDK for the ThreeFold Grid. It provides a collection of packages that allow JavaScript and TypeScript applications running in Node.js or the browser to interact with grid services. The SDK covers everything from low-level chain and message-bus clients to high-level grid deployment helpers and user-interface components.
- stats — Grid statistics collection and reporting.
- grid_client — Core client library for grid deployments and workload management.
- grid_http_server — HTTP server exposing grid client operations over a REST-like interface.
- grid_rmb_server — Server for handling Reliable Message Bus (RMB) communication.
- rmb_direct_client — Direct client for the RMB peer-to-peer message layer.
- rmb_peer_client — Peer client for RMB communication.
- rmb_peer_server — Peer server for RMB communication.
- Playground — Interactive web application for exploring and deploying grid workloads.
- graphql_client — Client for the grid GraphQL API.
- gridproxy_client — Client for the grid proxy API.
- UI — Reusable UI components for grid dashboards.
The SDK serves as the primary application-layer interface for JavaScript and TypeScript projects targeting the ThreeFold Grid. It wraps Ledger Chain for on-chain operations, the grid proxy for node and contract queries, GraphQL for indexed data, and RMB for direct node communication. The packages in this repository power web-based dashboards, automation scripts, and backend Node.js services that need to provision or manage grid resources.
This technology is used within the ThreeFold ecosystem and was first deployed on the ThreeFold Grid. The component itself is designed as reusable infrastructure technology and should be understood by its technical function first, independent of any specific deployment.
This repository is owned and maintained by TF-Tech NV, a Belgian company responsible for the development and maintenance of this technology.
The main requirements are:
yarn installNote: If the used Python version is 3.12 or later, you need to install setuptools.
python3 -m pip install setuptoolsyarn lerna run buildIf the build fails due to a memory issue, please use the following command
export NODE_OPTIONS="--max-old-space-size=8192"This project is licensed under the Apache License 2.0 - see the LICENSE file for details.