Turn real assets into digital value.
This decentralized lending dApp allows users to tokenize dummy versions of real-world assets and use them as collateral for loans and provide a simulation for real world asset trading instead of using Crypto. Built on Polygon’s zkEVM Cardano testnet, the application mints ERC-721 NFTs representing tokenized assets and securely stores metadata on IPFS via Lighthouse. No need to sign up or log in. Simply connect your wallet, tokenize assets, and request loans. Enjoy the ease of a fully decentralized platform.
- Real-world Asset Tokenization Concept: Users can tokenize assets as NFTs (ERC-721).
- Collateralized Loans: NFTs serve as collateral for borrowing funds.
- Smart Contracts: Built using Solidity and Hardhat for secure and efficient lending operations.
- Decentralized Storage: Asset metadata is stored on IPFS for immutability and easy access.
- zkEVM Integration: The platform is deployed on zkEVM, ensuring scalability and privacy.
- Blockchain: Polygon zkEVM Cardano testnet
- Frontend: Node.js with TypeScript
- Backend: Hardhat (JavaScript) for smart contracts and testing
- NFT Minting: ERC-721 via OpenZeppelin contracts
- Storage: IPFS using Lighthouse
- Smart Contract Tools: Solidity, Hardhat, Ethers.js
- Node.js (v16 or higher)
- Hardhat
- Metamask wallet extension
- IPFS account on Lighthouse
- RPC URL:
https://rpc.cardona.zkevm-rpc.com
-
Clone the repository:
git clone https://github.com/bipashabg/SimuLoan.git cd SimuLoan
-
Install dependencies:
npm install
-
Compile the contracts:
npx hardhat compile
-
Run frontend and backend:
On root directory:
npm run dev
cd backend:
node server.js
-
Deploy the smart contract to the zkEVM Cardano testnet:
npx hardhat run scripts/deploy.cjs --network zkEVMTestnet
-
Update the
.env
file with your zkEVM testnet details.
To test the smart contracts, use:
npx hardhat test
To run:
npx hardhat node
-
Call Minting function from frontend when clicked on "Tokenize Asset".
-
Store the token metadata (JSON) via Lighthouse and retrieve the CID for storage in the smart contract.
- Connect your Metamask wallet to the zkEVM Cardano testnet.
- Tokenize an asset by uploading its metadata (image, value, category) to IPFS.
- Use the minted NFT as collateral for loans.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.