February digest
February 2023 was a crucial month for the Canto Name Service (CNS) as it was the month of the launch. For this month’s roll up we will focus on Dynamic Pricing, CNS roadmap, Canto, and Infrastructure.
Dynamic Pricing
Fear not the Variable Rate Gradual Dutch Auction (VRGDA)! CNS uses dynamic pricing to prevent domain name squatting. You can learn how it is done here or here. The daily registration target for 6/6+ characters domain name was initially set to a 100 to enable as many as possible Canto users to register a name. Once the excitement related to the launch faded away, the daily target was adjusted to 10 registrations (for this category).
While we carried the switch for the 6/6+ length category, the VRGDA for this category was reset. It will take about 4 months for the 6/6+ category to go back to “normal”. To bring you extra details, the VRGDA is set up with a linear function which means that the fee decrease is slowing down over time as it’s getting closer to its target. It might seem like a long time but we are here for the loooooooong run. And at the same time other domain name lengths can be registered.
To prevent ill-advised Canto users from registering 6/6+ domain names for as long as the registration fee is adjusting we added a disclaimer on our user interface.
Another way to read this is that the registration fee increases day over day if there are more than 23.5 registrations per day, on the other hand the registration fee decreases if there are less than 23.5 daily registrations. The Canto community is in charge of pricing their own domain names and there is beauty in that.
The Canto Name Service is the first domain name registry using dynamic pricing. We are breaking walls, we are at the mercy of the machine, and we love it.
Treasury
Transparency is a key value of Web+. CNS wants to embody web+, therefore we will open our books. We budgeted 10% of the current funds going towards material & SaaS costs (such as cost associated with running a node, or outsourced services), 20% going towards community support, 70% going towards team hours. Those percentages cover the period October to February. Those percentages will change in the future. The CNS team incentives are aligned with the incentives of the Canto ecosystem and with the incentives of the CNS holders.
In order to provide valuable socio-economical experimentations CNS has to integrate with other Canto projects. There is about 20% of the CNS treasury that is dedicated to this goal. If you want to integrate please reach out to us, DMs are open.
COH5 & blockspace
We wrote a Canto Online Hackathon 5 (COH5) mega thread here and a block usage thread here. The main idea is that the Canto blockchain is close to empty and we need to fill it with cool stuff! There is room for about 1.4m daily transactions on the Canto blockchain!
Here is the thread of the COH5 winners.
Here are three great projects in terms of onchain transactions, the three projects received the “notable build” award.
Warped is a retro strategy game. It’s the intersection of Dark Forest and Canto.
Cantofornians are building a Canto-based NFT project with interactive & gamified risk-based mechanics. We will have to “surf the wave” (= surf the yield) every day. There will also be a native token $WAVE. It’s the intersection of NFT, CSR and DeFi.
Kamigotchis are tamagotchi’s on Canto. We will have to feed them daily, in a true web+ manner every single transaction will be onchain. It’s the intersection of NFT, CSR, and gaming.
Infrastructure
Only the most serious readers made it this far, therefore it’s time to talk about the most serious topic: infrastructure🎉
Canto node
Infrastructure is key to have Canto run smoothly. For this reason we set up the Canto Name Service node, you can access it here:
https://node-cantonameservice.xyz/
Chain ID: 7700
Name explorer
We are also working on a name explorer so that users can find their favorite names. This explorer will include a link to NFT marketplaces and display the tokenId of the NFT so that you can easily find the name’s NFT on a marketplace. We understand that it would be a lot to ask Canto marketplaces to have special functionalities around our project. Therefore we are building a tool so people interested in names can find names they want to purchase on the secondary market more easily. It’s a tool towards easier integrations.
Integration with CNS
Here is a quick guide on how to integrate with CNS. Currently the only way to integrate with the Canto Name Service is by calling the contract directly. We are working on creating a subgraph and a (small) JS SDK to make integrating even easier.
Get Primary Name from an Address:
function getPrimary(address _address) external view returns (string memory)
Get TokenId From Name:
function nameToId(string calldata name) public pure returns (uint256)
This will not revert. This call converts the name to lowercase and generates a numeric representation by returning:
(uint256(keccak256(abi.encodePacked(_lowerName))));
Get Name from TokenId:
Using the mapping:
mapping(uint256 => string) public tokenToName;
Example:
To find the name for tokenId 12345
One can call tokenToName(12345)
Get All Tokens Owned by an Address:
CNS uses the openzeppelin ERC721Enumerable extension which allows users to use the tokenOfOwnerByIndex(address owner, uint256 index)
function combined with the balanceOf(owner)
function to loop and retrieve all tokenIds owned by an address.
Here is a telegram group for you to ask any technical questions you may have related to the Canto Name Service. You can also directly DM Dangywing with technical questions.
Outro
Thank you for your time. We will try to update the Canto community through monthly blog posts. We hope to have exciting news by the end of March!
Protip for our reader: try the Synapse bridge if you haven’t already, super smooth onboarding/offboarding experience.