Skip to content

Middlware application for web3 - A smart, safer scam-blocking ETH JSON-RPC

Notifications You must be signed in to change notification settings

allan7yin/middleManDapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 

Repository files navigation

MyMiddleMan

Submission for ETHGlobal Waterloo 2023 Hackathon. This poject is a web3 middleware application aimed to provide security to user transaction occurred on the blockchain. Using Tenderly to simulate and test a virtual transaction our product aims to guarantee 100% safe User transaction.

Description

We act as a middleman, every communication that occurs between a user and the blockchain through a wallet (MetaMask) occurs through our platform. We insure each transaction is scam free by using a stable and versatile platform called Tenderly. Tenderly provides a simulation that runs the transaction on a virtual fork of the blockchain allowing the users to remove the barrier between a transaction and its execution.

How it's Made

Firstly some of our tech stacks include node.js, react, and web3 frameworks. We made a custom rpc server in node.js that is able to directly connect to MetaMask which for the sake of the hackathon connects to the Sepolia test net for development and testing purposes. Using the latest frameworks we received the data from MetaMask requests and send it directly to tenderly in the right format which simulates it in a forked blockchain. Next tenderly returns the results which we store in a database(SQLite) and it is inflected in a user interface on our website allowing the user to clearly analyze the impact of their transaction. Lastly, the User can click on the submit transaction button if they feel safe to commit the transaction given the result of the simulation.

Prerequisities

  • Have Metamask Account
  • Make Infura account (will provide 0.5 ETH for mock usage on forked blockchain)

How to Run

  1. First clone the project
git clone https://github.com/allan7yin/middleManDapp.git
  1. Navigate to backend folder and install dependneices
npm install
  1. Configure environment variables in .env. To do so, will need to create account with Tenderely. Within Tenderely, create a project, create virtual fork of blockchain on testing network Sepolia. For that project, obtain api key, and place into .env.
  2. Once configured, run application (default is port 3000)
npm start
  1. Navigate to frontend folder and install dependencies
npm install
  1. Run the fronend (default is port 3001)
npm run start

Open MetaMask in your browser extension, and add the network as the backend server. By default the parameters are:

  • Network Name: (your choice)
  • New RPC URL: http://localhost:3000
  • Chain ID: 11155111 (since Sepolia test network is used)
  • Currency Symbol: ETH

About

Middlware application for web3 - A smart, safer scam-blocking ETH JSON-RPC

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published