Web3Wheels is a decentralized autonomous Uber service utilizing blockchain and AI technologies. Users can mint, own, and trade self-driving car NFTs. Real-time data and smart contracts ensure transparency, efficiency, and a seamless user experience.
App: https://web3-wheels-app.vercel.app/
BackendAPI: https://web3-wheels-service.vercel.app/vehicles/
- Installation
- Usage
- Architecture
- Diagrams
- Smart Contracts
- Additional Information
- Technologies
- License
- Resources
- MetaMask for interacting with the Ethereum blockchain.
- Remix.ethereum.org for deploying smart contracts.
-
Clone the repository:
git clone https://github.com/ZhectorSM/web3-wheels.git cd web3-wheels
-
Install dependencies:
npm install
-
Deploy Smart Contracts using Remix:
- Open Remix.ethereum.org.
- Import the smart contract files from the
contracts
directory. - Compile and deploy the smart contracts using MetaMask to connect to an Ethereum testnet (e.g., Ropsten or Rinkeby).
-
Update Contract Addresses:
- After deploying the contracts, update the contract addresses in the frontend configuration files.
-
Start the frontend application:
npm start
- Open the application in your browser.
- Connect your MetaMask wallet.
- Use the interface to mint a new car NFT with 0km.
- Browse available car NFTs in the TokenShop.
- Purchase a car NFT using your MetaMask wallet.
- Request a ride specifying your requirements.
- The AI agent will match you with an available self-driving car.
Web3Wheels comprises the following components:
- Frontend: A web application for user interaction.
- Smart Contracts: Manage vehicle minting NFTs, ownership, and transactions.
- Backend: Handles data processing and AI integration.
- AI Module: Autonomous decision-making for self-driving cars. Processes ride requests and optimizes routes.
- Chainlink: Fetches datafeeds, verifies dealer legitimacy and pull data from an API
SEPOLIA
-
Price converter https://sepolia.etherscan.io/address/0xfdb033664a6697bb169a3eadfdff4dc24a483ea2 [Watch the code here]
-
DynamicNFT https://sepolia.etherscan.io/address/0xe75c0b572734e33a8fffade726f5a1a19c047f19 [Watch the code here]
-
CarMarket https://sepolia.etherscan.io/address/0xc46aa6c161dfc5c548a2f2de43dbec1c18075f74 [Watch the code here]
-
ApiEodConsumer https://sepolia.etherscan.io/address/0x55222eabcfdeed967ef3a0ed30f8c76733c57e4a [Watch the code here]
-
Web3Wheels EOD https://sepolia.etherscan.io/address/0xdd80c0bfc95af6b3e0a0915bdf559352f73b947a (Upkeep Every 24 hrs)
SCROLL
- Price converter https://sepolia.scrollscan.com/address/0x130334445170c2afe4c67c6f619796349f75d7d1
- DynamicNFT https://sepolia.scrollscan.com/address/0x3def777142a14cd8639fbc9d71344a2b02af5a04
- CarMarket https://sepolia.scrollscan.com/address/0xb11b5958C87CBf73F2481D568994A3fAeEC20943
Note. The smart contracts are deployed and verified. We have some limitations with chainlink integration products (Functions, Automation) and compatibility issues with PUSH0(0x5f) opcode to have a fully functional flow.
DEXTOOLS
This project uses GitHub Actions for CI/CD. The workflow checks licenses, runs linting, and tests the code on each push and pull request.
The code in this project is licensed under the MIT License. See the LICENSE file for more information.
https://github.com/smartcontractkit/hardhat-starter-kit.git (Updated to ethers-v6)