This project showcases the interaction between the commuter and driver during the course of booking a ride on blockchain.
dRyver handles the sequence of activities and processes smoothly to make the experiance of travelling seamless.
-
Applications like Uber provide a matching service and apparently they decentralize it. This is P2P technology at its finest . Or is it? Several scandals have emerged out of Uber’s corporate culture as of late. Uber has become notorious both for its business practices, and for what it incentivizes and allows its drivers to do.
-
An Uber executive told the company to dig up dirt on a particular critical female reporter as well as other opponents. The power the company exerts over its drivers has grown from surveillance into possibly predatory practices. They have the ability to see all rides happening at any location in real time with all social data attached to each rider, And has been the subject of controversy on multiple occasions.
-
Despite these concerns, Uber has grown at an exponential rate over the past few years and is showing revenue numbers in the billions. It provides a useful service: people prefer using a location-aware app to hail a ride over calling a taxi, and it’s safe to say the demand for real-time ride-sharing isn’t going away anytime soon. But privacy invasion and the vast imbalance of power between a billion-dollar corporation and the drivers are the negatives of Uber that riders must accept when they use its service.
- We eliminate the existence of middle agency, thereby completely removing the regulation of salaries of drivers by corporations. So, earnings of the driver are solely dependent on the number of rides he/she makes.
- All the data is stored on the peer-to-peer decentralized Polygon Matic Chain. This not only ensures complete security, but also a lightning fast experience. Data privacy is maintained by the access specifiers of data members and methods defined in the smart contracts.
- We are not only eliminating the middle man, the L2 solution by Polygon gives us a boost in transaction rate. It is also a known fact that data transfer is faster in a mesh network.
- We have implemented smart contract addressing the issue of storing critical data necessary at different stages of Taxi Hailing and making it verifiable by all stakeholders in dRyver.
- User
- Driver
- Customer
Owner : Owner deploys the contract.
User : User is the base contract containing some common attributes and behaviour of Customers and Drivers.
Driver : This Contract contains essential details of drivers along with some driver-specific methods .
Customer : This contract contains methods that allow customers to request a ride.
- Solidity (Ethereum)
- Metamask (Ethereum wallet)
- Mumbai testnet ( Polygon Network with Matic Faucet )
- Remix IDE
- Truffle
- IPFS
- Web3JS
- React Native
- Nodejs (Express)
- Google Map Api
- Firebase for Google Auth
Welcome Screen | Login Screen | Google AUth |
![]() |
![]() |
![]() |
Add Driver Details | Link Wallet | Searching Phase |
![]() |
![]() |
![]() |
Select Pickup and Drop Locations | Active Ride Requests | Ride Confirmed |
![]() |
![]() |
![]() |
- Nodejs v9.10 or above
- Truffle v4.1.8 (core: 4.1.8) (http://truffleframework.com/docs/getting_started/installation)
- Solidity v0.8.0
- Metamask (https://metamask.io) /Ganache Wallet
Setting up Ethereum Smart Contract:
git clone https://github.com/NakamotoSans/Contracts
cd COntracts/
Steps to Execute Solidity Smart Contract using Remix IDE
Remix IDE is generally used to compile and run Solidity smart contracts. Below are the steps for the compilation, execution, and debugging of the smart contract.
Step 1: First clone our github project from here.Open Remix IDE on any of your browsers, Choose solidity as environment.
git clone https://github.com/NakamotoSans/Contracts
cd Contracts
Step 2:Import the contracts from your local system. Click the Compile button under the Compiler window to compile the contract. Step 3: To execute the code, click on the Deploy button under Deploy and Run Transactions window. Step 4: After deploying the code click on the method calls under the drop-down of deployed contracts to run the program, and for output, check to click on the drop-down on the console. Step 5: For debugging click on the Debug button corresponding to the method call in the console. Here you can check each function call and variable assignments.