Dynamic On-chain dWeb Applications Using web3:// Access Protocol
Description
Current decentralized websites (dWebs) mainly use IPFS/AR to store static content with additional trust and limited capabilities. This bounty will encourage developers to create dynamic dWebs on smart contracts including dynamic NFTs, static websites, or powerful dynamic websites with multiple user interactions. We further encourage developers to use web3:// (defined in ERC-4804) to access these static/dynamic websites in a verifiable and minimum-trust way.
A couple of existing examples can be found at web3url.io, including
- Rendering mainnet NFTs
- Vitalik's blog on Arbitrum Nova
- Decentralized web2 applications (dropbox, blogger, etc) on EthStorage testnet
5 Projects can win 1000$ in USDC each
Acceptance criteria
- Entry Level: Use web3:// and its gateways (w3eth.io and w3link.io) to resolve a web resource on any EVM (Preferred mainnet/testnet/L2). E.g., images of NFT, static text.
- Medium Level: Use ERC-5018 and EthFS-Uploader (from npm) to upload local files on-chain (e.g., personal website like Vitalik's blog)
- High Level and highly encourged: Run dynamic on-chain dWeb applications with multiple user interactions (e.g., Forever Pixel War, etc)
A couple of existing examples can be found at w3eth.io(https://w3url.w3eth.io/) including Vitalik's blog on Arbitrum Nova (https://www.reddit.com/r/ethereum/comments/107ok8e/upload_40mb_vitaliks_blog_to_a_smart_contract_on/).
We will review and rank the submitted projects based on the completeness, the difficulties, and the innovations of the project.
Surprise us with your creativity!
Rewards
5000 reward pool
Resources
- web3url.io, the website introducing web3:// URLs and some examples
- web3url.io
- ERC-4804 https://eips.ethereum.org/EIPS/eip-4804, the full standard
- https://eips.ethereum.org/EIPS/eip-4804
- Vitalik's blog forever hosted on Ethereum L2
- https://www.reddit.com/r/ethereum/comments/107ok8e/upload_40mb_vitaliks_blog_to_a_smart_contract_on/
- EthFS-uploader, using smart contracts to service a filesystem based on ERC-5018 and the uploader to sync local files
- https://socket.dev/npm/package/ethfs-uploader
- Advanced - EthStorage.io, scaling Ethereum storage via L2 and DA
- EthStorage.io