[Active] Wrapping AENS names into AEX-141 NFTs

Week 35 (Aug 28 - Sep 3)

I finished the migration path from Iris (protocol v5) to Ceres (protocol v6) and I lowered the name limit from 100 to 50 AENS names per NFT due to the following issue: Ceres (v6) gas consumption much higher than on Iris (v5) · Issue #4197 · aeternity/aeternity · GitHub

Commits:

I also identified a strange behavior in the devmode when playing around with protocol upgrades and rollbacks, see `utils.rollbackHeight` rolls back to wrong height · Issue #493 · aeternity/aeproject · GitHub.

The updated contract has been compiled with the latest Sophia compiler release and is deployed here:

Time spent: 15.25h

Final statement

I am very happy about the final state of the contracts and that I even achieved to provide a migration path to a future Ceres contract which will simplify the contract interaction A LOT thanks to the “global” delegation signature that allows the contract to control all AENS names of a specific user.

Huge thanks to @hanssv.chain, who was very helpful along my journey. I am actually awaiting final feedback from him about my contracts before I perform the deployment on mainnet (will let you guys know when that happened).

I also managed to provide a very basic UI that could generally be used to play around with the contract on testnet. Unfortunately it is more or less “useless” at this point because Superhero Wallet misses an important feature to allow aepps proposing the user to sign a delegation signature, see support for signing of delegation signatures · Issue #2222 · aeternity/superhero-wallet · GitHub. As soon as this is possible, I will inform everybody here and provide a mainnet deployment for the UI. (cc @paolo :slight_smile: )

The UI can be accessed here: https://aens-nfts.vercel.app/

For the moment I consider my work as done and I hope to see it wildly used as soon as the Superhero Wallet supports signing of delegation signatures. And of course I would love to see the AENS wrapping integrated into æScan :pray: (cc @michele :slight_smile: )

From my perspective I now finished phase 2 and consumed the approved 200h budget. This means I have to discuss with the æternity crypto foundation how to further proceed with this project. (cc @lydia :slight_smile: )

5 Likes

If you like the work and you wanna support me, feel free to send some Æ coins to:

Thanks! :heart:

1 Like

Alright, after identifying another important obstacle in regards to bytecode verification (see same compiler version produces different bytecode output · Issue #485 · aeternity/aesophia · GitHub), I finally deployed the contracts in their “final” Iris version on testnet and mainnet.

both contracts have been compiled with the latest Sophia compiler v7.4.0 where the issue with non-deterministic bytecode results has been fixed already, see Release v7.4.0 · aeternity/aesophia · GitHub

you can access my basic UI for both contracts here:

once again, for the UI to be actually usable for wrapping AENS names, we need the following feature available in SH wallet:

more experienced users can take a look at the scripts included in the repository in order to interact with the contract and actually wrap AENS names already before the feature in SH wallet is available.

have fun! :slight_smile:

4 Likes