Skip to content

Asset Tokenization Studio is an open source toolkit for the configuration, issuance, and management of tokenized securities and equities on the Hedera network–all in less time and with less risk.

License

Notifications You must be signed in to change notification settings

hashgraph/asset-tokenization-studio

Asset Tokenization Studio

License

Table of Contents

Development manifesto

The development of the project follows enterprise-grade practices for software development. Using DDD, hexagonal architecture, and the CQS pattern, all within an agile methodology.

Domain driven design

By using DDD (Domain-Driven Design), we aim to create a shared language among all members of the project team, which allows us to focus our development efforts on thoroughly understanding the processes and rules of the domain. This helps to bring benefits such as increased efficiency and improved communication.

Prerequisites

Ensure the following tools are installed with these versions:

  • Node:v20.17.0
  • NPM: v10.8.3
  • Yarn: v1.22.22

Installation

In a terminal:

npm run install:all

This will install the dependencies in all projects and sets up the links between them.

You can now start developing in any of the modules.

Build

When making modifications to any of the modules, you have to re-compile the dependencies, in this order, depending on which ones the modifications where made:

  // 1st
  $ npm run build:contracts
  // 2nd
  $ npm run build:sdk
  // or
  $ npm run build:web

Setting Up the Environment

To run the project, you'll need to configure environment variables in the .env file. Below are the required and optional variables, along with their descriptions.

Required Environment Variables

General Settings

  • REACT_APP_EQUITY_CONFIG_ID: Configuration Id for Equities.
  • REACT_APP_EQUITY_CONFIG_VERSION: Equity Version.
  • REACT_APP_BOND_CONFIG_ID: configuration Id for Bonds.
  • REACT_APP_BOND_CONFIG_VERSION: Bond Version.
  • REACT_APP_SHOW_DISCLAIMER: Set this value to "true" to show a disclaimer in the application.

Network Configuration

  • REACT_APP_MIRROR_NODE: The URL of the Hedera Mirror Node API used to query historical data from the Hedera testnet. Example: https://testnet.mirrornode.hedera.com/api/v1/
  • REACT_APP_RPC_NODE: The RPC node URL used to communicate with the Hedera testnet. Example: https://testnet.hashio.io/api
  • REACT_APP_RPC_RESOLVER: The Hedera testnet account ID for the resolver. Example: 0.0.5479997
  • REACT_APP_RPC_FACTORY: The Hedera testnet account ID for the factory. Example: 0.0.5480051

Optional Environment Variables (Hedera Wallet Connect)

These variables are only required if you are integrating Hedera Wallet Connect for decentralized application (dApp) interactions. If not needed, they can be omitted.

  • REACT_APP_PROJECT_ID: Project ID for Wallet Connect integration. You can obtain it from the WalletConnect website.
  • REACT_APP_DAPP_NAME: The name of your dApp as displayed in Wallet Connect.
  • REACT_APP_DAPP_DESCRIPTION: A description of your dApp, typically displayed in Wallet Connect.
  • REACT_APP_DAPP_URL: The URL of your dApp that will be referenced in Wallet Connect.
  • REACT_APP_DAPP_ICONS: An array of URLs pointing to icons for the dApp, typically used in Wallet Connect interfaces. Example: ['https://stablecoinstudio.com/static/media/hedera-hbar-logo.4fd73fb360de0fc15d378e0c3ebe6c80.svg']

Steps to set up the .env file:

  1. Navigate to the web module folder.

  2. Copy the .env.sample file to create a new .env file:

    cp .env.sample .env
  3. Open the .env file in your preferred text editor.

  4. Replace the placeholder values with your actual environment settings. For example:

    REACT_APP_EQUITY_CONFIG_ID='0x0000000000000000000000000000000000000000000000000000000000000001'
    REACT_APP_EQUITY_CONFIG_VERSION="0"
    REACT_APP_BOND_CONFIG_ID="0x0000000000000000000000000000000000000000000000000000000000000002"
    REACT_APP_BOND_CONFIG_VERSION="0"
    REACT_APP_SHOW_DISCLAIMER="true"
    
    REACT_APP_MIRROR_NODE="https://testnet.mirrornode.hedera.com/api/v1/"
    REACT_APP_RPC_NODE="https://testnet.hashio.io/api"
    REACT_APP_RPC_RESOLVER='0.0.5479997'
    REACT_APP_RPC_FACTORY='0.0.5480051'
    
    REACT_APP_PROJECT_ID="your_project_id_from_walletconnect"
    REACT_APP_DAPP_NAME="Asset Tokenization Studio"
    REACT_APP_DAPP_DESCRIPTION="Asset Tokenization Studio. Built on Hedera Hashgraph."
    REACT_APP_DAPP_URL="https://wc.ats.com/"
    REACT_APP_DAPP_ICONS='["https://stablecoinstudio.com/static/media/hedera-hbar-logo.4fd73fb360de0fc15d378e0c3ebe6c80.svg"]'
  5. Save the file and proceed with running the application.

Run

In order to run the application locally:

  • Clone the repository
  • Install the application as described in the Installation section
  • Create a ".env" file in the web module (using the ".env.sample" file as a template)
  • Open a terminal and go to the web folder
  • Run the command : yarn dev
  • Open a browser and type in the URL displayed in the terminal (by default it will be : http://localhost:5173)

Support

If you have a question on how to use the product, please see our support guide.

Contributing

Contributions are welcome. Please see the contributing guide to see how you can get involved.

Code of conduct

This project is governed by the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code of conduct. Please report unacceptable behavior to [email protected].

License

Apache License 2.0

🔐 Security

Please do not file a public ticket mentioning the vulnerability. Refer to the security policy defined in the SECURITY.md.

About

Asset Tokenization Studio is an open source toolkit for the configuration, issuance, and management of tokenized securities and equities on the Hedera network–all in less time and with less risk.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published