HSuite Libraries

A comprehensive suite of libraries for building enterprise-grade applications on the Hedera Hashgraph network.

Overview

The HbarSuite Smart Engines library collection provides a robust and modular framework for developing applications on the Hedera Hashgraph network. Each library is designed to handle specific aspects of blockchain interaction, network management, and distributed systems.

Core Libraries

Authentication & Security

  • @hsuite/auth: Authentication and authorization system

  • @hsuite/auth-types: Type definitions for authentication

  • @hsuite/api-key: API key management and validation

Client & SDK

  • @hsuite/client: Core client implementation

  • @hsuite/client-types: Type definitions for client operations

  • @hsuite/smartnode-sdk: SDK for smart node interactions

Distributed Systems

  • @hsuite/dkg-types: Type definitions for DKG operations

  • @hsuite/hashgraph-types: Type definitions for Hashgraph operations

Network & Transactions

  • @hsuite/smart-config: Configuration management

  • @hsuite/smart-network-types: Network type definitions

  • @hsuite/smart-transaction-types: Transaction type definitions

System Management

  • @hsuite/health: Health check and monitoring

  • @hsuite/helpers: Common utility functions

  • @hsuite/ipfs: IPFS integration

  • @hsuite/snapshots: System state snapshots

User & Access Control

  • @hsuite/users: User management and operations

  • @hsuite/users-types: Type definitions for user management

  • @hsuite/validators-types: Type definitions for validators

  • @hsuite/throttler: Rate limiting and request throttling

  • @hsuite/throttler-types: Type definitions for throttling

  • @hsuite/subscriptions: Subscription management

  • @hsuite/subscriptions-types: Type definitions for subscriptions

Installation

Each library can be installed individually using npm:

npm install @hsuite/[library-name]

For example:

npm install @hsuite/client
npm install @hsuite/auth
npm install @hsuite/smart-config

Documentation

Each library includes detailed documentation that can be generated using Compodoc:

# Generate documentation for a specific library
cd libs/[library-name]
yarn compodoc

# Generate documentation with coverage information
yarn compodoc:coverage

Development

Prerequisites

  • Node.js ≥ 14

  • npm or yarn

  • NestJS framework knowledge

  • Hedera network access

Setup

  1. Clone the repository

  2. Install dependencies: yarn install

  3. Build all libraries: yarn build

  4. Run tests: yarn test

Architecture

The libraries follow a modular architecture with clear separation of concerns:

  • Core Services: Client, Authentication, and Network integration

  • Support Services: Throttling, Validation, and User Management

  • Utility Services: Configuration, Health Checks, and Helpers

  • Type Definitions: Separate -types packages for type safety

Best Practices

  1. Use TypeScript for type safety

  2. Follow NestJS patterns and practices

  3. Implement proper error handling

  4. Include comprehensive documentation

  5. Write unit and integration tests

  6. Follow semantic versioning

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Commit your changes

  4. Push to the branch

  5. Create a Pull Request

License

This project is part of the HbarSuite ecosystem and is covered by its license terms.


Built with ❤️ by the HbarSuite Team Copyright © 2024 HbarSuite. All rights reserved.

Last updated