DiagonAlley is an NFT-based Real World Asset (RWA) rental platform built on Neo X.
Welcome to the **DiagonAlley** platform, a revolutionary Real World Asset (RWA) rental platform that integrates NFTs on the **Neo X** blockchain. This platform leverages blockchain's timestamping capabilities to enforce rental periods through time-limited NFTs, ensuring a secure and transparent transaction environment.
Bilingual Demo Video (Chinese and English Subtitles): https://www.youtube.com/watch?v=cN-FSbvJXJ0
- **MetaMask Payment and Authentication**: Connect and transact on the platform using your MetaMask wallet without the need for additional login steps.
- **RWA Integration**: Real assets are represented on-chain through NFTs, allowing for the purchase and transfer of physical goods ownership via NFTs.
- **Smart Contract Management**: Our smart contracts facilitate price verification, NFT minting and transfer, and support multiple cryptocurrencies.
- **Frontend**: React.js, MetaMask API
- **Backend**: Go, Gin Framework
- **Database**: PostgreSQL (for storing transaction history and data)
- **Smart Contracts**: Solidity, Foundry development framework
```mermaid
graph TD
A[User connects via frontend using MetaMask] --> B[Frontend retrieves user's NFT address]
B --> C[Frontend displays specific NFT]
C --> D[User selects rental period]
D --> E[User initiates purchase request]
subgraph Contract Logic
E --> F[Smart contract generates a time-limited NFT]
F --> G[Set destruction time and deposit]
G --> H[If destroyed within time: refund deposit]
G --> I[If not destroyed within 5 minutes past time: anyone can destroy]
I --> J[Deposit not refunded]
end
E --> K[Frontend sends transaction data to backend]
K --> L[Backend stores transaction data in PostgreSQL]
subgraph Password Query Process
M[User accesses password query page] --> N[User connects via MetaMask]
N --> O[Timestamp verification via NFT]
O --> P[If verified, display room password]
end
```
- **Development Tools**: Developed and tested using **Foundry**.
- **Standards**: NFTs are minted and transferred adhering to **ERC-721** or **ERC-1155** standards.
- **Backend Language**: Developed using **Go** and **Gin Framework**.
- **Database**: **PostgreSQL** is used as the backend database.
Almost complete; it requires a backend database, a password query tool controlled by NFT-based timestamps, and a more visually appealing NFT destruction button.