Chomp is a restaurant point of sale payment flow, built for Ethereum layer 2s. It's designed to help vendors keep more of their money.
This project aims to cut out the 3rd party payment processors such as Stripe and Toast in the $72 billion restaurant industry. Regardless of the vendor, food trucks or michelin restaurants all have to accept payments. More of these payments are made through contactless software such as Toast. However, these third parties take large cuts from the vendors and it eats into their bottom line.
This is where Chomp comes in. Chomp leverages the Solidity factory pattern to deploy a smart contract that deploys other smart contracts. The ‘child contracts’ are at the core of Chomps payment management. They handle everything from Menu creation by the vendor, to the checkout and receipt issuance process for the customer. These contracts are EVM compatible and can be deployed on any EVM layer 2. As transactions become cheaper and faster, point of sale services like Chomp will allow vendors to retain the cut of profits normally taken by Toast and build better businesses for themselves and their communities.
On the backend, a VendorFactory contract is deployed which uses the new
keyword in Solidity to generate child contracts from a Vendor.sol file. The Vendor contract contains a number of methods that allows the frontend to, for example, get a list of all products that have been added to a cart. Chomp makes extensive use of Wagmi hooks to read/write from contracts, but also to listen for events emitted by functions. When a product is added to a cart, an event listener knows to pop open the checkout sidebar. The contract address for the vendor lives primarily in the url params. This can be accessed by the front-end at any point to use methods on the contract.
On the front-end, a NextJs app is deployed to Vercel. RainbowKit handles connecting to wallets and switching chains, while Wagmi takes care of interacting with Ethereum. TailwindCSS is used to style the application.