ETHParis — CryptoWedding for your Non-Fungible Tokens

Asure.Network Team
4 min readMar 20, 2019

--

Last week, following the EthCC conference, the ETHParis hackathon took place. Our colleagues Paul Mizel, Andrey Kuchaev and Fabian Raetz from Asure.Network Team and ECHTNICE wanted to seize the opportunity and develop a little fun project away from our day-to-day businesses.

With every day, there are more and more Non-Fungible Tokens (NFTs) available on the Ethereum Mainnet and we wanted to show that they can be reused by other applications and that you can enhance their value by associating them with other/new artifacts. Also, we were looking for something which involves working with graphics and is nice to look at. This and more led to the idea of CryptoWedding.

CryptoWedding and what it does?

The idea was to provide a platform to marry any two Non-Fungible Tokens and invite even more NFTs to the wedding as guests. To celebrate the wedding, all NFTs are loaded into a wedding scene and rendered as an animation which can be saved as a PNG. Both NFTs should receive a marriage certificate in the form of an additional NFT. The original plan was to make the NFT itself own the certificate by using the EIP998 standard (An extension of the ERC721 standard to enable ERC721 tokens to own other ERC721 tokens and ERC20 tokens.) This is not implemented yet and the certificate is owned by the owner of the NFTs for now.

How we built it

We build a SmartContract system that arranges Weddings between two NFTs and their guests. It also creates wedding certificates as NFTs. We created a Website which acts as a frontend to the SmartContract system We used EIP721 to fetch NFTs. We created a nice wedding scene which is animated, supports different themes and can be saved an image.

All of this is not deployed to the Ethereum Mainnet or any of its testnets yet as some parts are still missing. We’ll finish the project within the next few weeks so stay tuned and let your NFTs watch out for his/her spouse :)

Challenges we ran into

EIP998 standard looks very promising but it took us too much time to figure out how to use it correctly so we postponed it. We used this repository as an orientation https://github.com/mattlockyer/composables-998. Hopefully, the OpenZeppelin framework will provide an implementation of the EIP998 draft at some point. This would make the standard much more accessible to many.

Never use TypeScript at a hackathon again. It’s an awesome language and we use it a lot to build our products. We spent too much time compiling our application and fiddling with TypeScript’s typings though. Just going with JavaScript at the hackathon would have been much more pleasant.

We also wanted to try out Parity Technologies’s light.js. The first steps went very well as light.js has a clean & elegant API which also integrates nicely with React. Some more complicated operations took us way more time to figure out than we initially planned and made us switch back to web3.js for the moment. This was mostly due to our lack of experience with RxJS. Shame on us! In the future, we will definitely consider using light.js again!

NFTs can have a License (e.g. https://www.niftylicense.org/). We did not look into it that much yet but they seem to restrict the context in which NTFs and their associated images can be used.

The ERC721 standard defines an enumerable extension which can be used to retrieve a list of NFT indexes owned by an owner address which we used to select the NFT which should marry. Sadly, the CrypptoKitties smart contract does not implement this extension but instead offers a slightly different method called tokensOfOwner. This method though is computationally so expensive that Etherscan / Infura run into a timeout and thus proved it unusable for our needs. We’ll have to find another way to retrieve the list of a user’s CrypptoKitties and hope that many other NFTs implement the enumerable extension.

What’s next for CryptoWedding?

First, we have to deploy an MVP on a Testnet. After it is done, we wanna support more NFTs and make it more robust. Wedding certificates should be based on the EIP998 standard and owned by the NFT itself. Also, we wanna add more features and animations to the wedding scene which can be selected by a wedding DNA.

After the ETHParis

After the hackathon on Sunday, we had the opportunity to see Paris and met with our friends Anastasia and Kate from Akropolis.

Thanks to ETHGlobal Team, ETHParis and everyone who was part of this amazing event. See you next time, the Ethereum community! Au revoir!

Have any questions?

Join our Telegram: https://t.me/AsureNetwork
Follow us on Twitter: https://twitter.com/AsureNetwork
Check out our website: https://www.asure.network

If you liked the information, clap to encourage us to do more.

--

--

Asure.Network Team

Asure.Network Team - is a group of insurance and blockchain technology experts. We research social security on blockchain. Website: https://www.asure.network