A comprehensive blockchain-based Real World Asset management system on Concordium blockchain, specializing in forest project tokenization and environmental asset management.
Upwood's Concordium RWA (Real World Asset) platform is designed to tokenize and manage forest projects, enabling transparent investment, trading, and yield distribution of environmental assets. The system provides a complete ecosystem for forest project bonds, carbon credit tokenization, P2P trading, and investor rewards.
- π³ Forest Project Tokenization - Represent forest projects as blockchain assets
- π Carbon Credit Management - Tokenize and trade carbon credits on-chain
- π° Investment Fund Management - Bond and tranche-based forest project funding
- π P2P Trading Platform - Direct trading of environmental assets
- π¦ Yield Distribution - Automated reward distribution to investors
- π Identity & Compliance - Comprehensive access control and regulatory compliance
- β‘ Multi-Workspace Architecture - Modular development environment with specialized containers
The platform consists of five main workspaces, each optimized for specific development tasks:
concordium-rwa/
βββ π¦ contracts/ # Concordium Smart Contracts (Rust)
βββ π§ backend/ # Event Listener & API Services (Rust)
βββ π¨ frontend-app/ # User Interface (React + Vite)
βββ βοΈ cdk-deployment/ # AWS Infrastructure (TypeScript + CDK)
βββ π± frontend-dapp/ # Legacy DApp Interface (React)
git clone [email protected]:chainorders/concordium-rwa.git
cd concordium-rwa
git submodule update --init --recursive-
Install Prerequisites
-
Choose Your Workspace
- Open VS Code in the repository root
- Run
Dev Containers: Reopen in a Container - Select your target workspace from the list
-
Start Development
- Each container automatically runs
yarn runto show available scripts - Follow workspace-specific instructions below
- Each container automatically runs
Concordium blockchain smart contracts written in Rust that enable forest project tokenization, carbon credit management, P2P trading, investment fund management, and comprehensive identity & compliance systems.
π Full Documentation
π³ Dev Container: Open with Dev Containers: Reopen in Container β Select contracts β Container files: .devcontainer/contracts/
Rust-based backend services that process Concordium blockchain events, provide REST APIs for frontend applications, and manage data persistence using the Poem web framework and PostgreSQL databases.
π Full Documentation
π³ Dev Container: Open with Dev Containers: Reopen in Container β Select backend β Container files: .devcontainer/backend/
Modern React-based user interface built with Vite and TypeScript that provides an intuitive interface for investors to browse forest projects, manage portfolios, trade carbon credits, and interact with Concordium blockchain wallets.
π Full Documentation
π³ Dev Container: Open with Dev Containers: Reopen in Container β Select frontend-app β Container files: .devcontainer/frontend-app/
AWS Cloud Development Kit (CDK) infrastructure as code using TypeScript that manages the complete cloud infrastructure including ECS services, databases, CDN, monitoring, and security configurations for production and staging environments.
π Full Documentation
π³ Dev Container: Open with Dev Containers: Reopen in Container β Select cdk-deployment β Container files: .devcontainer/cdk-deployment/
Legacy React-based decentralized application interface primarily used for contract administration, testing, and debugging. This interface serves as an administrative tool for developers and administrators for direct smart contract interaction and system testing.
π Full Documentation
π³ Dev Container: Open with Dev Containers: Reopen in Container β Select frontend-dapp β Container files: .devcontainer/frontend-dapp/
# Open contracts workspace
code . && Dev Containers: Reopen in Container β contracts
# Develop and test contracts
yarn build
yarn test
yarn deploy# Open backend workspace
code . && Dev Containers: Reopen in Container β backend
# Start services
yarn debug:listener # Terminal 1: Blockchain listener
yarn debug:contracts-api # Terminal 2: API server# Open frontend workspace
code . && Dev Containers: Reopen in Container β frontend-app
# Start development server
yarn dev # Runs on http://localhost:5173# Open CDK workspace
code . && Dev Containers: Reopen in Container β cdk-deployment
# Deploy to AWS
yarn deployIf developing on Apple Silicon (M1/M2), update the following files:
// Change VARIANT to "bullseye" in:
// .devcontainer/contracts/devcontainer.json
// .devcontainer/backend/docker-compose.yml
// .devcontainer/frontend-dapp/devcontainer.json
{
"build": {
"args": {
"VARIANT": "bullseye" // Changed from "bookworm"
}
}
}- Contracts Documentation - Detailed smart contract specifications
- Backend Documentation - API documentation and service architecture
- Concordium Documentation - Concordium blockchain documentation
- Forest Project Specifications - Business logic and project specifications
- Choose appropriate workspace for your contribution
- Follow workspace-specific coding standards:
- Contracts: Rust with Concordium standards
- Backend: Rust with Poem framework
- Frontend: React with TypeScript
- Infrastructure: TypeScript with AWS CDK
- Write comprehensive tests
- Update documentation as needed
Container won't start:
# Rebuild container
Dev Containers: Rebuild Container
# Clear Docker cache
docker system prune -aDatabase connection issues:
# Rebuild backend container to reset database
Dev Containers: Rebuild Container
# Or use backend workspace database commands
# (Open backend container first)
diesel database resetWallet connection problems:
# Ensure wallet file exists:
ls -la .devcontainer/contracts/default_account.export
# Check wallet format and permissions- π§ Internal Team: Use internal development channels
- π Bug Reports: Create detailed issue reports with workspace context
- π‘ Feature Requests: Include business case and technical requirements
Built with β€οΈ for sustainable forest management and environmental impact.