grants-and-bounties icon indicating copy to clipboard operation
grants-and-bounties copied to clipboard

Tutorial: "How to interact with the main contracts of TON"

Open aSpite opened this issue 1 year ago • 7 comments

Summary

"How to interact with the main contracts of TON" tutorial creation.

Context

In TON, users actively use several types of contracts: Wallet, NFT, Jetton, and DNS. Consequently, developers often have to interact with these contracts in order to develop products based on these contracts. However, they may face the problem of a lack of information about the nuances of working with these contracts and the absence of code examples in various languages.

The goal of this tutorial is to provide information so that developers can quickly learn to fully work with these contracts (except for the wallet, as there is already a tutorial for it). This tutorial aims to provide information so

Goals

  • A brief explanation of sharding principles, computation of smart contract addresses based on State Init, and other minor details that apply to all contracts.

  • Description of NFT contracts. This will be a separate section that will cover issues related to various opcodes in NFT Collection and NFT Item with examples.

  • Description of Jetton contracts.

  • Most attention will be paid to DNS contracts, as this tool is very powerful. The process of resolving and each stage after the start of resolving until receiving the address in the TON blockchain will be detailed.

  • Examples for each stage of resolving. However, there will be no subdomains, as the principles of resolving do not change, and there is no need for this. Besides, such a tutorial already exists.

  • The most important thing: How to understand how to build a transaction for a specific opcode in a smart contract? Where should you look? Which libraries, repositories, articles, and tutorials? This will be so that the developer will learn how to work with a certain part of the smart contract, even if this is not in this tutorial. It will be not only knowledge but also skill.

Examples will be shown based on libraries ton (JS/TS) and tonutils-go (GO).

Important. This tutorial will reveal the details quite extensively, but without delving too deep into describing absolutely every line of all contracts, as this would make it difficult to read. The information will cover the most basic points with indications of nuances necessary for familiarization so that the developer can continue studying without any issues afterward.

The purpose of the tutorial is to speed up the study of these contracts, as indicated in the last point. The style of the tutorial will be the same as in my previous tutorial.

Deliverables

  • Create a tutorial
  • Publish a repository with all the code examples

Definition of Done

  • [ ] Tutorial created
  • [ ] Repository published

Reward

  • Standart TON Footstep NFT
  • TBD

Oriental Release Date

TBD

aSpite avatar Jul 29 '23 17:07 aSpite

I can take this issue. Please, assign it to me

Razzwan avatar Aug 19 '23 22:08 Razzwan

If I'm not mistaken, @aSpite wanted to implement his idea on his own. @aSpite can you confirm?

delovoyhomie avatar Aug 20 '23 07:08 delovoyhomie

If I'm not mistaken, @aSpite wanted to implement his idea on his own. @aSpite can you confirm?

Yes

aSpite avatar Aug 20 '23 08:08 aSpite

LGTM! @reveloper, what do you think?

delovoyhomie avatar Aug 20 '23 09:08 delovoyhomie

Indeed, LGTM! I think this guide will be very useful for developer community, thanks to deeply detailed and accurate style of @aSpite.

Just my understanding of priorities for chapters:

  1. Sharding Paradigm
  2. Jettons
  3. NFTs
  4. DNS

In the final chapter, as a summary abstraction: common basics of a contract designing.

reveloper avatar Aug 20 '23 20:08 reveloper

Hiya @delovoyhomie @aSpite

has this been completed Or would you like extra hand jumping on this ?

it happens to be on the top list of bounties still opened for last month

Phenzic avatar Mar 13 '24 22:03 Phenzic

Hiya @delovoyhomie @reveloper

Phenzic avatar Mar 18 '24 09:03 Phenzic