TDIDN is a decentralized identity and smart contract system designed for telecom applications. It specializes in DID-based authentication, privacy management, and offers efficient solutions for blacklist management, SLAs, and billing utilizing CDRs.
Before you start, make sure you have the following prerequisites installed on your system:
Follow these steps to set up and run the project on your local machine:
-
Clone and Navigate: Clone the project repository to your local machine:
git clone https://github.com/yourusername/your-repo.git cd your-repo
-
Environment Variables: Copy the contents from the
.env.sample
file and paste them into a new.env
file. This file contains essential environment variables required for the project. -
Deploy the IMEI Smart Contract: Follow the deployment instructions provided in this article to deploy the IMEI smart contract (
IMEI.sol
available in thecontracts
folder). -
Update Environment Variables: After successfully deploying the smart contract, update the following environment variables in your project:
REACT_APP_IMEI_CONTRACT_ADDRESS
: Set this variable to the contract address obtained during deployment.WALLET_ADDRESS
: Set this variable to your Ethereum wallet address.WALLET_PRIVATE_KEY
: Set this variable to your Ethereum wallet private key.
-
Build and Run the Project: Use Docker Compose to build and run the project:
docker-compose up --build
-
Update the Database:
- Find the Docker container ID of the
holder
service using the following command:docker ps
- Inside the Docker container of the
holder
service, use the container ID to run the following command and update the database schema using Prisma:docker exec -it <container-id> npx prisma db push
- Find the Docker container ID of the
This project is licensed under the MIT License.