@chromia/ft4
TypeScript icon, indicating that this package has built-in type declarations

0.7.0 • Public • Published

FT4 Library: Asset and Account Management for Chromia's Rell and TypeScript Environments

Introduction

The FT4 Library functions as a comprehensive toolkit engineered for both Rell and TypeScript modules in the Chromia blockchain ecosystem. Specialising in asset and account management, the library provides a suite of operations including asset issuance, allocation, and transfers, extending even to cross-chain capabilities. Furthermore, it establishes foundational data structures for account management, designed to operate independently of asset-related activities.

Features

  • Asset Management: Facilitate the creation, allocation, and management of assets. Asset Allocation and Transfers: Perform secure and efficient asset transfers.
  • Cross-Chain Transfers: Enable the movement of assets between distinct blockchains.
  • Account Management: Oversee user accounts independently of asset activities.

Repository Overview

This repository contains the FT4 library and a comprehensive suite of tests written in Node.js and Jest. The current testing setup serves as a temporary measure, as a Rell-based testing suite is in development.

Getting Started

Prerequisites

  • Node.js
  • Docker
  • [Optional] PostgreSQL for database sessions

Installation

Clone the repository and install the dependencies:

git clone git@bitbucket.org:chromawallet/ft3-lib.git
cd ft3-lib
npm install

Build

Build TypeScript library into dist/:

npm run build

How to Run Tests

Comprehensive Test Suite

Run the complete set of Rell and TypeScript tests:

npm run test

Run only Rell or TypeScript tests:

npm run test:rell
npm run test:js

Running Specific Rell Tests

To execute particular tests in Rell, use the --tests or -t option:

npm run test:rell -- --tests=test1,test2
npm run test:rell -- -t=test1,test2

Running Specific Jest Tests

Execute specific Jest tests by string matching:

npm run test:js 'string matching test(s)'

Examples:

npm run test:js 'user'
npm run test:js 'rate|sso'

Running End-to-End Tests with Cypress

Interactive Mode

Run e2e tests interactively:

npm run test:e2e

Headless Mode

Run e2e tests in headless mode:

npm run test:e2e:headless

How to Run the Blockchain

For running different blockchain configurations, you can use the following npm commands:

  • Test Environment: npm run postchain:test
  • Demo Environment: npm run postchain:demo

To stop these environments:

  • Test: npm run stop-postchain:jest
  • Demo: npm run stop-postchain:demo

Changelog

Update changelog in doc/release-notes/, then run ./compile-changelog.sh script to assemble changelog.md and rell-changelog.md. Do not update changelog.md or rell-changelog.md directly.

License

This project is licensed under the Apache License, Version 2.0. For more details, see the LICENSE file in the repository or visit Apache License, Version 2.0.

/@chromia/ft4/

    Package Sidebar

    Install

    npm i @chromia/ft4

    Weekly Downloads

    154

    Version

    0.7.0

    License

    Apache-2.0

    Unpacked Size

    1.81 MB

    Total Files

    1224

    Last publish

    Collaborators

    • dzek69
    • tjelvar
    • perrytang
    • franz_chromia
    • killerstorm
    • joso-cw
    • mimmicromsjo
    • fabianmacklin