TypeScript icon, indicating that this package has built-in type declarations

0.4.0 • Public • Published

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


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.


  • 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


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


Clone the repository and install the dependencies:

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


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)'


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


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.


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.




Package Sidebar


npm i @chromia/ft4

Weekly Downloads






Unpacked Size

6.95 MB

Total Files


Last publish


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