A decentralized marketplace for trading energy NFTs with an integrated loyalty program on Base. Users can tokenize their energy production, trade energy NFTs, and earn loyalty points for marketplace participation. Additionally, the platform enables seamless asset bridging between L2s and L1 networks directly within the app.
- Energy NFT Minting: Users can mint NFTs representing their energy production
- NFT Marketplace: Trade energy NFTs with other users
- Cross-chain bridge: Bridge asset (ETH) from source chains (Ethereum, Optimism, Arbitrum, etc) to destination chain (Base), powered by Across Protocol
- Loyalty Program: Earn points from marketplace activities and receive trading fee discounts
- Web3 Integration: Connect with MetaMask and other Web3 wallets
Here is the demo video: Youtube
- Next.js
- ethers.js
- TailwindCSS
- Solidity
- Foundry
- Java
- Spring Boot
- Web3j
- Gradle
- Node.js 18+
- Java 21.0.5
- Foundry
- MetaMask
- Clone the repository:
git clone https://github.com/hgky95/energy-marketplace
- Define the private key in the .env file (local development only):
PRIVATE_KEY=
Note: For security purpose, please use 'cast wallet import <name> --interactive' to import the private key into the wallet.
Refer to [Import Key](https://book.getfoundry.sh/reference/cast/cast-wallet-import) for more details.
- Using docker-compose to start the blockchain node, backend, and frontend:
docker-compose up
- The application will be available at http://localhost:3000