Ethereum dApp allowing for nft-based experiments in mechanism design.
Project built with scaffold eth.
Only part of the intended functionality is available so far, but
Try it out on Rinkeby 🤩
Special ERC721 contract that twists the usual meaning of NFT ownership. Extra incentives are added such that the price can only ever increase.
- Author
- Minter
- Grabber
Sets
- minimum price
- author fee (% or fixed)
=> NFT becomes visible in app gallery. Can be minted by anyone.
Sets
- price (>= minimum price)
- premium (% value)
- pays the price in order to mint
- author receives these funds
- Anyone can grab an NFT
- Grabbing requires to pay the grabPrice = price + premium
- Grabber becomes the new owner
- Previous owner receives the payment
- grabPrice increases by the premium that was just paid (price premium compounds across grabs)
An owner can lock/unlock the asset. Only the owner can do this.
Unlocking disables all the grab-related functionality. Then the asset becomes a regular NFT.
Locking is associated with a fee (the author fee). Everytime an asset is locked the author gets paid that fee.
If the author fee is set as %, it's always calculated relative to the current grabPrice of the asset.
-
as a user I can author an asset
- upload to IPFS
- specify metadata
- set minPrice and author fee
-
as a user I can see all assets from a given author
- organize the gallery page based on a specific author
- these pages should be shareable/bookmarkable
- needs backend support (probably firebase storage for an MVP)
-
lock / unlock feature
For questions DM me on Twitter @dvinubius
everything you need to build on Ethereum! 🚀
🧪 Quickly experiment with Solidity using a frontend that adapts to your smart contract:
Prerequisites: Node plus Yarn and Git
clone/fork 🏗 scaffold-eth:
git clone https://github.com/austintgriffith/scaffold-eth.git
install and start your 👷 Hardhat chain:
cd scaffold-eth
yarn install
yarn chain
in a second terminal window, start your 📱 frontend:
cd scaffold-eth
yarn start
in a third terminal window, 🛰 deploy your contract:
cd scaffold-eth
yarn deploy
🔏 Edit your smart contract YourContract.sol
in packages/hardhat/contracts
📝 Edit your frontend App.jsx
in packages/react-app/src
💼 Edit your deployment scripts in packages/hardhat/deploy
📱 Open http://localhost:3000 to see the app
Documentation, tutorials, challenges, and many more resources, visit: docs.scaffoldeth.io
📕 Read the docs: https://docs.soliditylang.org
📚 Go through each topic from solidity by example editing YourContract.sol
in 🏗 scaffold-eth
📧 Learn the Solidity globals and units
Check out all the active branches, open issues, and join/fund the 🏰 BuidlGuidl!
Join the telegram support chat 💬 to ask questions and find others building with 🏗 scaffold-eth!
🙏 Please check out our Gitcoin grant too!