Logo Lanfrica

imanipay-africa/imanipay-blockchain-service

Domain:

digital infrastructure

Record type:

software
Creator:
ima
Host:
# ImaniPay Blockchain Service ## Description The ImaniPay Blockchain Service is a Python-based API built using FastAPI, designed to facilitate secure and efficient interactions with the Algorand blockchain. This service is a crucial component of the ImaniPay platform, focusing on handling blockchain-related operations such as wallet management, balance inquiries, and transaction processing. It is designed to be consumed by a separate backend API, which manages the core application logic and user data. ## Features * **Wallet Balance:** Retrieves the ALGO and ASA (Algorand Standard Asset) balances for a given wallet address. * **Transaction Handling:** Supports sending payments (ALGO and ASAs) between Algorand wallets. * **Escrow Management:** Implements escrow functionality using Algorand smart contracts, allowing for secure and conditional transactions. * **Wallet Validation:** Validates the format and existence of an Algorand wallet address on the blockchain. * **Wallet Creation:** Creates a new Algorand wallet address (for development purposes only). ## Architecture The service follows a modular architecture, organized as follows: imanipay-blockchain-service├── app│ ├── api # FastAPI route endpoints│ │ ├── wallets.py│ │ ├── transactions.py│ │ └── escrow.py│ ├── core # Core config and startup│ │ ├── config.py│ │ └── startup.py│ ├── contracts # Smart contract logic and helpers│ │ ├── escrow.py│ │ └── helpers.py│ ├── services # Business logic for blockchain interactions│ │ ├── wallets.py│ │ ├── transactions.py│ │ └── escrow.py│ ├── schemas # Pydantic schemas for request and response data│ │ ├── init.py│ │ ├── ...│ └── utils # Utility functions (if needed)├── main.py # FastAPI application entry point├── Dockerfile # (Optional) Docker configuration├── requirements.txt # Project dependencies└── .env # Environme …