Decentralized Name Service (DeNS) β€” Part II


To provide and launch a working solution for Decentralized Name Service in Free TON by 7th of May

Current Contest Proposal is based upon:

Who can participate:

All participants of the DeNS original Contest.

Participants are allowed to cooperate with each other and provide a combined solution but make so publicly and only participate once.

Contest terms:

The work can be based upon the winning submission, combine any of the previous submissions or written from scratch. In addition to the below requirements all of the original requirements from the DeNS contest should be met.

In addition the DeNS prolongation mechanism should be implemented whereis a previous owner of the domain can buy the expired domain on a secondary market paying twice the winning of the bid of that auction (remember that the winner is a second best price).

The solution must be production ready and should be judged as such. Therefore in addition to the deployment on of the fully functioning system with smart contracts and debots, the participants must provide smart contracts simulating the real-life mass usage scenarios. The simulation must include an automated bid making, auction participation simulation by at least 50,000 participants and deployment of at least 100,000 DeNS certificates.

The following is of a particular concern and should be paid special attention to. The list is a generalized form of problems different contest submissions had:

  • The logic of Auction and monetary mechanics of the original contest should be preserved
  • Contestants should avoid large contracts, avoid hashmaps whenever possible
  • The system should allow general upgradability of the system code without a use of SetCode (hint: versioning)
  • The system should be gas sensitive even under heavy load.
  • External messages should be avoided wherever possible, most contracts should only accept internal messages.
  • Be aware of hitting different limits with large participant set or cost of operations
  • Should be able to add to the Reserved List of names whenever the community decides and such a name is available. A front running protection mechanism should be added.
  • Special attention should be paid to the Security of the system, business logic scenarios should be presented.

All scripts and tooling for such deployment must be provided.

The solution and its testing simulation must be fully documented.

Submission should be made according to the instruction

Reward Structure, Contest dates

  • Contest duration: 1 week
  • Contest start: April 30
  • Number of prizes – 3

Taking into account a short contest time and a testing system that will provide guidelines for the future contests, the winners will receive the following prizes:

  • 1-st place - :gem: 30 000
  • 2-nd place - :gem: 20 000
  • 3-th place - :gem: 15 000

The reward will be given by vesting. The Vesting period is 12 months. A mandatory requirement is support for the solution. The metrics are: reaction time - no more than 3 days. Hotfix release time is 1 week.

The solution is production-ready or not production-ready, we find out only after the first period of operation. So the final size of the prizes will be determined by the jury members one month after the end of the contest according to the following algorithm.

After a month, the judges evaluate the amount of improvements made by the community in relation to the improvements of the winners and the prizes of the winners are proportionally reduced. The difference is shared among those community members who made the Pull Requests with the fixes and improvements.

Jury Rewards

5% of the prize fund will be divided equitably between all jury members who vote and provide feedback based on their votes’ quantity and quality. Both voting and feedback are mandatory to collect this reward.

Another 5% of the prize pool will be divided equitably between all jury members, who assess the amount of work that the community has done to make the solution ready for production during the first month of operation. The result should be a proposal to send part of the prize pool of the winners to community members involved in finalizing the solution in proportion to their contribution. This can be formalized as an additional contest between the contributors, if any.


My submission:
Pull request to common repo: LINK
Description: (attached to contest submission);
Telegram: @SuperArmor
Wallet: 0:cba39007bdb0f025aac0609b25e96a7d2153f06d22fa47b5f6c26cf756b8b2d6

1 Like

Our submission (TON Labs + R-Squad Teams):
Repositories (also added as per instructions to SG repository):
More information available in the PDF description file.

1 Like

How do I resolve a domain name with this DeNS? (currently trying with the given address on devnet):

Looks like some problem with tonos-cli because there is Error: 1 even before the initial menu.
Maybe should add more error handling that are not too expected.