Skip to content

threefoldtech/zos_sdk_ts

Repository files navigation

ZOS SDK TypeScript

Version Lint Build Code Coverage

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.

What this is

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.

What this repository contains

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

Role in the stack

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.

Relation to ThreeFold

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.

Ownership

This repository is owned and maintained by TF-Tech NV, a Belgian company responsible for the development and maintenance of this technology.

Requirements

The main requirements are:

Install

yarn install

Note: If the used Python version is 3.12 or later, you need to install setuptools.

python3 -m pip install setuptools

Build

yarn lerna run build

If the build fails due to a memory issue, please use the following command

export NODE_OPTIONS="--max-old-space-size=8192"

Related Documentations

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.