Inspiration
The idea of Ava Name Services came to our minds when me and my friend started using ENS as Decentralized Identifiers (DIDs) for our DAO based projects on Avalanche Network but it doesn't work on Avalanche, so we decided to modify the smart contracts as per Avalanche and deploy on a the testnet. It worked amazingly, we later realised why not let everyone use it since it is completely open-source.
What it does
The Ava Name Service (ANS) is a decentralised naming system based on the Avalanche Network. ANS’s job is to map human-readable names like ‘dev.ava’ to machine-readable identifiers such as Avalanche C-Chain addresses, other cryptocurrency addresses, content hashes, and metadata.
Top-level domains ‘.ava’ is owned by smart contracts called registrars, which specify rules governing the allocation of its subdomains. Anyone may, by following the rules imposed by these registrar contracts, obtain ownership of a domain for their own use. Because of the hierarchal nature of ANS, anyone who owns a domain at any level may configure subdomains - for themselves or others - as desired. For instance, if Dev owns 'dev.ava', he can create like 'iam.dev.ava' and configure it as he/she desires.
How we built it
ANS Architecture has three main components: the ans-contracts , ans-subgrapgh and ans-app for their respective work like registry of names, querying the data and user interaction on Avalanche.
Starting with contracts where we worked on the registery and resolver contracts for registration of names over a distributed registery and then later resolve those names to certain Avalanche C Chain address.
We also needed Stable Price Oracle, here Chainlink already solved our problem because they already accomplished that task so we decided to used Chainlink Pricefeed VRF for AVAX/USD pair.
Later we worked on the graph node for quering the data from smart contracts and after then setting up the User Interface for Avalanche Fuji Testnet.
Challenges we ran into
Initially we had some difficulty with the smart contracts because the contracts were not designed for multiple networks then we had to modify some of the contracts for .ava for the fuji testnet. Later, we fased Gas calculation issue while deploying the contracts because Avalanche Network gas fee way less than that of Ethereum. So we asked Avalanche team for help for guiding us through, finally we resolved those issues and got appreciation from the Avalanche team itself.
Accomplishments that we're proud of
What we're really proud of is actually how we're able to accomplish such a task in a matter of weeks, and able to use it for our Aragon DAO project which helped us gain visibility and respect among the Aragon and Avalanche Teams. Checkout my twitter for more Aragon DAO coming soon the Avalanche network.
What we learned
We learned that anything is possible if we put our minds and efforts to it, while building a community around it who can benefit from it in the longer run. Also, I realised the developer community is quite strong and surely "help is given to those who asks for it."
What's next for Ava Name Services
Next we plan to launch Ava Name Services for all kinds of top-level domains (TLDs) like , .twitter, .mirror etc. and create Decentralised Identities for various social media platforms if the user wants to own it and have complete control over their identity as per security perspective and maybe convert his/her identity into NFTs to gain some value over it like Jack's first tweet.
Built With
- avalanche
- javascript
- solidity
- typescript

Log in or sign up for Devpost to join the conversation.