User Journey
This feature request is for a new user journey, described thus:
as a user of Odeon, I want to be able to connect Odeon with my Wallet, and show my ERC-721 tokens (NFTs) (audio tracks, playlists).
Odeon
Below is a screenshot of the existing Odeon music player app:

Music for the player is currently served from the device's own filesystem.
Proposed Architecture
Components
An architecture to enable this can include the following components:
-
WalletConnect is a protocol for connecting to Wallet Apps on a device. This allows a user to transact on an Ethereum Virtual Machine (EVM)-compatible blockchain.
-
Optimism is an EVM-compatible blockchain-based network, used for minting and transferring ERC-721 tokens (NFTs).
-
IPFS is a distributed file system, used for storing files, such as mp3 audio files, and JSON metadata files.
Approach
Odeon could:
- Connect with the wallet app on the user's device using WalletConnect
- Read / write ERC-721 token (NFT) data from / to Optimism
- Retrieve audio files and metadata content from IPFS
- Play audio
- (Advanced feature) to cache audio tracks on your device for offline playback.
Additional Thoughts
Implementation
This kind of functionality can very easily extend the existing excellent UX that Odeon already has.
For example, a "Connect Wallet" (step 1) option can live in the main Hamburger underneath "Settings", or even in "Settings". It need only require a few steps in the app to "Connect Wallet", and WalletConnect makes this veery easy!

Everything else can happen in the background... pulling in metadata and audio files (steps 2 and 3 above). It may perhaps need some extension in order to stream content from an IPFS gateway though.
As for playback (step 4), Odeon's existing audio player UI is more than capable of this.
For the advanced feature, a "Keep for Offline" checkbox for each track can live beneath "Add to playlist" and "Delete" in the options for each track:

"Delete" might need to be disabled for NFT audio tracks because it's not really possible to "delete" from IPFS.
Future Features
Future features could include:
- Publish new playlists as NFTs to store in your wallet, or to send to your friends' wallets
- Publish new original music as NFTs to send to music collectors.
Notes
I accept that this may appear a somewhat esoteric concept to propose. But I believe it to be based in a very sane context.
The world is very slowly coming to terms with jpeg NFTs, indicating clearly that gif, then mp3 then mp4 will follow.
NFTs for Music are emerging, as evidenced by Jonathan Mann's recent release "Right Click Save As".
Further, zero-knowledge rollup networks such as Optimism, Arbitrum and zksync are substantially increasing the capacity of blockchain networks, meanwhile reducing their cost of use.
And finally, IPFS is emerging as the default go-to storage for decentralised content and metadata, and while still maturing in some aspects, it represents a sustainable part of the architecture. This is especially true in light of the progress made by Filecoin project.
Credits
All the credit goes to you for reading all this. Bravo to you!
User Journey
This feature request is for a new user journey, described thus:
Odeon
Below is a screenshot of the existing Odeon music player app:
Music for the player is currently served from the device's own filesystem.
Proposed Architecture
Components
An architecture to enable this can include the following components:
WalletConnect is a protocol for connecting to Wallet Apps on a device. This allows a user to transact on an Ethereum Virtual Machine (EVM)-compatible blockchain.
Optimism is an EVM-compatible blockchain-based network, used for minting and transferring ERC-721 tokens (NFTs).
IPFS is a distributed file system, used for storing files, such as
mp3audio files, andJSONmetadata files.Approach
Odeon could:
Additional Thoughts
Implementation
This kind of functionality can very easily extend the existing excellent UX that Odeon already has.
For example, a "Connect Wallet" (step 1) option can live in the main Hamburger underneath "Settings", or even in "Settings". It need only require a few steps in the app to "Connect Wallet", and WalletConnect makes this veery easy!
Everything else can happen in the background... pulling in metadata and audio files (steps 2 and 3 above). It may perhaps need some extension in order to stream content from an IPFS gateway though.
As for playback (step 4), Odeon's existing audio player UI is more than capable of this.
For the advanced feature, a "Keep for Offline" checkbox for each track can live beneath "Add to playlist" and "Delete" in the options for each track:
"Delete" might need to be disabled for NFT audio tracks because it's not really possible to "delete" from IPFS.
Future Features
Future features could include:
Notes
I accept that this may appear a somewhat esoteric concept to propose. But I believe it to be based in a very sane context.
The world is very slowly coming to terms with
jpegNFTs, indicating clearly thatgif, thenmp3thenmp4will follow.NFTs for Music are emerging, as evidenced by Jonathan Mann's recent release "Right Click Save As".
Further, zero-knowledge rollup networks such as Optimism, Arbitrum and zksync are substantially increasing the capacity of blockchain networks, meanwhile reducing their cost of use.
And finally, IPFS is emerging as the default go-to storage for decentralised content and metadata, and while still maturing in some aspects, it represents a sustainable part of the architecture. This is especially true in light of the progress made by Filecoin project.
Credits
All the credit goes to you for reading all this. Bravo to you!