- Development manifesto
- Prerequisites
- Installation
- Build
- Setting Up the Environment
- Run
- Support
- Contributing
- Code of conduct
- License
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.
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.
Ensure the following tools are installed with these versions:
- Node:
v20.17.0
- NPM:
v10.8.3
- Yarn:
v1.22.22
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.
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
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.
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.
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
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']
-
Navigate to the
web
module folder. -
Copy the
.env.sample
file to create a new.env
file:cp .env.sample .env
-
Open the
.env
file in your preferred text editor. -
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"]'
-
Save the file and proceed with running the application.
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)
If you have a question on how to use the product, please see our support guide.
Contributions are welcome. Please see the contributing guide to see how you can get involved.
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 oss@hedera.com.
Please do not file a public ticket mentioning the vulnerability. Refer to the security policy defined in the SECURITY.md.