Welcome to the light documentation of Meme Market Smart Contracts!
- Node.js 14 or later
- MacOS, Windows (including WSL), and Linux are supported
- Clone this repo using
git clone <REPOSITORY_URL> <YOUR_PROJECT_NAME>
- Move to the appropriate directory:
cd <YOUR_PROJECT_NAME>
. - Run
yarn
ornpm install
to install dependencies . - Run
yarn dev
ornpm run dev
to see the app athttp://localhost:3000
.
These scripts refer to the different stages of developing an application:
build
- Runshardhat
build which builds the smart contractsdeploymeem <network>
- Runshardhat
start which deploys the $MEEM Token Smart Contractdeploymemestonk <network>
- Runshardhat
start which deploys the Meme Stonk Market Smart Contractdeploymemestonkupgradeable <network>
- Runshardhat
start which deploys the upgradeable Meme Stonk Market Smart Contract
Now you're ready to rumble! 🚥
This application is built with the following packages/tech:
-
ETH/Polygon
-
Polygon is the blockchain of choice to that powers $MEEM token and Meme Stonk Market.
-
$MEEM Token
- $MEEM ERC-20 Token is the platform’s currency which unlocks functionality within Meme Quests, the Meme Stonk Market, and in the future with Meme Contests and Meme battles as well.
-
Meme Quests
- Meme Quests enable anyone to earn free $MEEM tokens while giving brands access to crowdsourced memes. Anyone may create a new account for free. Account holders then complete various tasks, called Quests and receive free $MEEM tokens in exchange.
-
Meme Stonk Market
- The Meme Stonk Market Game enables players to share memes and speculate on meme popularity with a simulated market environment. Each Meme Stonk will be initialized on an ERC-1155 Token Smart Contract with a unique Stonk ID. To speculate on the popularity of a meme a player must use $MEEM tokens to buy Stonks of their favorite Memes which increases or decreases the Memes popularity values.
-
-
Openzeppelin
-
Smart Contracts
- Majority of the smart contract logic is powered by Openzeppelin's smart contract templates. This serves as a tested & secure smart contract backbone to power Meme Market.
-
Defender
-
Defender is used as a relayer to process Meta Transactions. Meta Transaction (gasless transaction) is a concept, in the context of EVM, where a user does not need to pay for their blockchain transaction gas fees. Instead of gas fees, each user will pay a transaction fee in $MEEM to Meme Market to avoid spammy behavior. Below is the transaction flow:
- User prepares the transaction on front-end
- User signs the transaction using their browser or mobile wallet.
- Signed transaction is sent to the back-end api
- Signed transaction is processed and sent to Defender Relayer to be paid for and executed
- Relayer pays for the gas fees & sends the transaction to the intended address
- Transaction is securely executed on the blockchain
-
-
- Bhargav Patel ([email protected])
- Eric Gilbert-Williams ([email protected])