NFT avatar plugin (discourse-nft-avatar) ⛵

Summary: Validate your Discourse avatar as NFT! Similarly to the recently rolled out Twitter Blue Labs feature, Discourse users can show off their hex-shaped NFT avatars by connecting to a crypto wallet and uploading an NFT from OpenSea.

:link: GitHub: GitHub - melhosseiny/discourse-nft-avatar: Discourse plugin to set a verified NFT avatar
:arrow_right: Install: Follow the plugin installation guide.

The plugin’s goal is not to make Discourse a dapp, but to add a layer that enables NFT avatars to be set and validated.

How does it work?

Click the button labeled NFT in Change your profile picture modal to connect to your crypto wallet, fetch your NFTs from OpenSea and choose one as your profile picture

I’m hard coding a random address that owns many NFTs for demo purposes

What happens if you sell or transfer your NFT?

If the user can’t be validated as owner, the uploaded image falls back to a custom picture and loses its hex shape. Another NFT then has to be uploaded

Which crypto wallets does discourse-nft-avatar support?

Which NFTs does discourse-nft-avatar support?

Right now discourse-nft-avatar only supports ERC-721 image NFTs (JPEG, PNG, GIF, HEIC, HEIF, WEBP) minted on the Ethereum blockchain.

23 Likes

This is so cool! Thank you.

2 Likes

Very cool. Wondering if you will support more blockchains/wallet? I’m specifically talking about Solana right now

2 Likes

Yes, I’m open to supporting more chains/wallets in the future as requests come in. It made sense to start with a minimal set to see if communities are interested in using such a plugin! :slightly_smiling_face:

It looks like OpenSea is working on Solana support by the way.

2 Likes

Yup! I’m gonna install it just to get an update with Solana support! Today Phantom wallet was also released on iOS, so I’d say this is going to help with userbase a bit

2 Likes

After installing it pops up the message to sign, but it does nothing after that. The ETH icon is missing from the button as well. Should I uninstall and try again? Or is the plugin not working? Thanks!

1 Like