Create music together, earn together.
Polyecho is a schelling game where the objective is to publicly co-create songs worthy of purchase by NFT collectors.
Collectors can explore, curate, and own a wild world of memetic music.
Proceeds are distributed to the artists, including future royalties.
Our main demo is at polyecho.xyz and we are deployed on the Polygon Mumbai testnet. You will be asked to connect an account to this network as a priority, so please ensure you use a wallet with that network connected.
A PolyEcho Project - This is the project details page for a PolyEcho project with multiple stems and collaborators.
We're applying for a handful of bounties from the following companies:
Polygon: Deployed on Mumbai currency in MATIC - Link
IPFS/Filecoin: Using NFT.storage for everything and HTTP and JS APIs - Link
We specifically likes this bounty idea:
Music NFT platform - A platform which brings back albums and title collection with royalties and web player integration.
Covalent: Using Class A NFT Endpoints - Link
PARSIQ: Catching emitted events and posting to Discord - Link
Tally: We recommend Tally wallet as priority - Link
MetaMask: We recommend MetaMask wallet as priority - Link
Mint & Buy Tx - payments split evenly among 2 contributors
Secondary Sale Tx - 90% to seller and 10% split to the same 2 contributors
We have used a variety of web3 tech across the application so far. We've written our smart contract in Solidity, adhering to the ERC721 standard representing our audio NFT collection. Below are some of the technologies we've used, including those in the context of the bounties we've applied for. This is how we're using your product.
We've deployed to Polygon Mumbai testnet using Alchemy L2 node support.
For those on Ethereum L1, we've alternatively deployed out contract out to both the Kovan and Rinkeby testnets using Infura node support.
We're using NFT.storage to upload audio files to IPFS and ensure redundancy, making Filecoin deals; we're storing both the raw audio file as well as a JSON blob of metadata centered around the NFT Metadata Standard for each NFT that gets minted on our platform.
ipfs://
references to the sub-stems that make it up, which point to their metadata.json files also on NFT.storageNFT Metadata - stored through NFT.storage
We're using CovalentHQ Class A NFT endpoints to show analytics around our NFT collection, as well as each individual token minted. Each NFT details page will show Covalent powered data around transaction history and NFT metadata. The Stats page will show collection statistics such as number of tokens minted and smart contract address information.
NFT Collection Data - We get contract and nft collection data
NFT Token Data - We get metadata and tx history for each token
We're using PARSIQ to monitor events and functions emitted from our ERC721 token contract, and we've set up Smart Triggers using ParsiQL to broadcast out to Discord as a delivery channel.
Smart Triggers - we monitor all the important events and functions in our smart contract
Discord Messaging - we use the templating to visually display the messages easily in a channel
We're preferring users two wallets to connect with using the Blocknative Onboard.js library with supported wallets options for a seamless UX connecting and disconnecting wallets. We only show users Tally and MetaMask as primary options before allowing other wallets to choose from. We encourage users to use these wallets as well on our fallback UI page when a user doesn't have a web3 wallet in their browser.
Connecting a Wallet
Wallet Fallback UI