Π’Π΅ΡΡ‚ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ TON (Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠ° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° ΠΌΡ€Π΅ΠΆΠ°) ΠΈ Π½ΠΎΠ² јазик Fift Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ

ΠŸΡ€Π΅Π΄ повСќС ΠΎΠ΄ Π΅Π΄Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π°, сС Π΄ΠΎΠ·Π½Π° Π·Π° ΠΏΠ»Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ Π½Π° гласникот Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π΄Π° објави сопствСна Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΌΡ€Π΅ΠΆΠ° Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠ° Π½Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° ΠΌΡ€Π΅ΠΆΠ°. ΠŸΠΎΡ‚ΠΎΠ° стана достапСн ΠΎΠ±Π΅ΠΌΠ΅Π½ Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, кој Π½Π°Π²ΠΎΠ΄Π½ΠΎ Π³ΠΎ напишал Николај Π”ΡƒΡ€ΠΎΠ² ΠΈ ја опишал структурата Π½Π° ΠΈΠ΄Π½Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ°. Π—Π° ΠΎΠ½ΠΈΠ΅ ΠΊΠΎΠΈ Π³ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡˆΡ‚ΠΈΡ˜Π°, ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡ΡƒΠ²Π°ΠΌ Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π°Ρ‚ ΠΌΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅Ρ€Π°ΡΠΊΠ°ΠΆΡƒΠ²Π°ΡšΠ΅ Π½Π° овој Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ (Π”Π΅Π» 1, Π”Π΅Π» 2; Ρ‚Ρ€Π΅Ρ‚ΠΈΠΎΡ‚ Π΄Π΅Π», Π·Π° ΠΆΠ°Π», сè ΡƒΡˆΡ‚Π΅ собира ΠΏΡ€Π°ΡˆΠΈΠ½Π° Π²ΠΎ ΠΏΡ€ΠΎΠ²Π΅Π²).

ΠžΡ‚Ρ‚ΠΎΠ³Π°Ρˆ, нСмашС Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΈ вСсти Π·Π° статусот Π½Π° Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° TON Π΄ΠΎ ΠΏΡ€Π΅Π΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π΄Π΅Π½Π° (Π²ΠΎ Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½Π΅ΠΎΡ„ΠΈΡ†ΠΈΡ˜Π°Π»Π½ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ) врската Π΄ΠΎ страницата Π½Π΅ сС појави https://test.ton.org/download.html, ΠΊΠ°Π΄Π΅ сС Π½Π°ΠΎΡ“Π°Π°Ρ‚:
β—¦ ton-test-liteclient-full.tar.xz β€” ΠΈΠ·Π²ΠΎΡ€ΠΈ Π½Π° лСсСн ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ TON;
β—¦ ton-lite-client-test1.config.json β€” конфигурациска Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π·Π° ΠΏΠΎΠ²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ со ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅;
β—¦ README β€” ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ ΠΈ Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚;
β—¦ КАКО ДА β€” Ρ‡Π΅ΠΊΠΎΡ€-ΠΏΠΎ-Ρ‡Π΅ΠΊΠΎΡ€ инструкции Π·Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚;
β—¦ Ρ‚ΠΎΠ½.pdf β€” Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π½ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ (ΠΎΠ΄ 2 ΠΌΠ°Ρ€Ρ‚ 2019 Π³ΠΎΠ΄ΠΈΠ½Π°) со Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠΈ ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° TON;
β—¦ tvm.pdf β€” Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠΈ опис Π½Π° Π’Π’Πœ (ВОН Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π° машина, ВОН Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π° машина);
β—¦ tblkch.pdf β€” Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠΈ опис Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ΠΎΡ‚ TON;
β—¦ fifthbase.pdf β€” опис Π½Π° Π½ΠΎΠ²ΠΈΠΎΡ‚ јазик Fift, Π΄ΠΈΠ·Π°Ρ˜Π½ΠΈΡ€Π°Π½ Π·Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ Π²ΠΎ TON.

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡƒΠ²Π°ΠΌ, нСмашС ΠΎΡ„ΠΈΡ†ΠΈΡ˜Π°Π»Π½Π° ΠΏΠΎΡ‚Π²Ρ€Π΄Π° Π·Π° страницата ΠΈ ситС ΠΎΠ²ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΠ΄ Telegram, Π½ΠΎ ΠΎΠ±Π΅ΠΌΠΎΡ‚ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈ Π³ΠΈ ΠΏΡ€Π°Π²ΠΈ сосСма Π²Π΅Ρ€ΠΎΠ΄ΠΎΡΡ‚ΠΎΡ˜Π½ΠΈ. Π‘Ρ‚Π°Ρ€Ρ‚ΡƒΠ²Π°Ρ˜Ρ‚Π΅ Π³ΠΎ ΠΎΠ±Ρ˜Π°Π²Π΅Π½ΠΈΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π° сопствСн Ρ€ΠΈΠ·ΠΈΠΊ.

Π˜Π·Π³Ρ€Π°Π΄Π±Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅

ΠŸΡ€Π²ΠΎ, Π΄Π° сС ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌΠ΅ ΠΈ Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΠΌΠ΅ тСст ΠΊΠ»ΠΈΠ΅Π½Ρ‚ - Π·Π° ΡΡ€Π΅ΡœΠ°, README Π΄Π΅Ρ‚Π°Π»Π½ΠΎ Π³ΠΎ ΠΎΠΏΠΈΡˆΡƒΠ²Π° овој СдноставСн процСс. ЌС Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²Π°ΠΌ ΠΎΠ²Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ macOS 10.14.5 ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€; Π½Π΅ ΠΌΠΎΠΆΠ°ΠΌ Π΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°ΠΌ Π·Π° успСхот Π½Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ систСми.

  1. ΠŸΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΈ ΠΎΡ‚ΠΏΠ°ΠΊΡƒΠ²Π°Ρ˜Ρ‚Π΅ ΠΈΠ·Π²ΠΎΡ€Π½Π° Π°Ρ€Ρ…ΠΈΠ²Π°. Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ја ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ Π½Π°Ρ˜Π½ΠΎΠ²Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° бидСјќи компатибилноста Π½Π°Π½Π°Π·Π°Π΄ Π½Π΅ Π΅ Π·Π°Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½Π° Π²ΠΎ ΠΎΠ²Π°Π° Ρ„Π°Π·Π°.

  2. ΠžΡΠΈΠ³ΡƒΡ€Π°Ρ˜Ρ‚Π΅ сС Π΄Π΅ΠΊΠ° Π½Π°Ρ˜Π½ΠΎΠ²ΠΈΡ‚Π΅ Π²Π΅Ρ€Π·ΠΈΠΈ Π½Π° make, cmake (Π²Π΅Ρ€Π·ΠΈΡ˜Π° 3.0.2 ΠΈΠ»ΠΈ ΠΏΠΎΠ½ΠΎΠ²Π°), OpenSSL (Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ со Π·Π°Π³Π»Π°Π²ΠΈΠ΅ C), g++ ΠΈΠ»ΠΈ clang сС инсталирани Π½Π° систСмот. НС ΠΌΠΎΡ€Π°Π² Π΄Π° инсталирам Π½ΠΈΡˆΡ‚ΠΎ, сè сС собра вСднаш.

  3. Π”Π° прСтпоставимС Π΄Π΅ΠΊΠ° ΠΈΠ·Π²ΠΎΡ€ΠΈΡ‚Π΅ сС распакувани Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ° ~/lite-client. ОддСлно ΠΎΠ΄ Π½Π΅Π³ΠΎ, ΠΊΡ€Π΅ΠΈΡ€Π°Ρ˜Ρ‚Π΅ ΠΏΡ€Π°Π·Π½Π° ΠΏΠ°ΠΏΠΊΠ° Π·Π° собраниот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ~/liteclient-build), ΠΈ ΠΎΠ΄ Π½Π΅Π³ΠΎ (cd ~/liteclient-build) ΠΏΠΎΠ²ΠΈΠΊΠ°Ρ˜Ρ‚Π΅ Π³ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅:

    cmake ~/lite-client
    cmake --build . --target test-lite-client

    Π’Π΅ΡΡ‚ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ TON (Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠ° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° ΠΌΡ€Π΅ΠΆΠ°) ΠΈ Π½ΠΎΠ² јазик Fift Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ

    Π—Π° Π΄Π° Π³ΠΎ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌΠ΅ ΠΏΡ€Π΅Π²Π΅Π΄ΡƒΠ²Π°Ρ‡ΠΎΡ‚ Π½Π° Ρ˜Π°Π·ΠΈΡ†ΠΈ Fift Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ (повСќС Π·Π° Ρ‚ΠΎΠ° ΠΏΠΎΠ΄ΠΎΠ»Ρƒ), Π½ΠΈΠ΅ исто Ρ‚Π°ΠΊΠ° сС Ρ˜Π°Π²ΡƒΠ²Π°ΠΌΠ΅

    cmake --build . --target fift

  4. ΠŸΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ Π³ΠΎ Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ‚ конфигурациска Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π·Π° Π΄Π° сС ΠΏΠΎΠ²Ρ€Π·Π΅Ρ‚Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ ΠΈ Π΄Π° ја ставитС Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° со собраниот ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

  5. Ѐиниш, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ стартуватС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚:

    ./test-lite-client -C ton-lite-client-test1.config.json

Ако сè Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π΅ΡˆΡ‚ΠΎ ΠΊΠ°ΠΊΠΎ ΠΎΠ²Π°:

Π’Π΅ΡΡ‚ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ TON (Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠ° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° ΠΌΡ€Π΅ΠΆΠ°) ΠΈ Π½ΠΎΠ² јазик Fift Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ

Како ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅, ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ достапни ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ:
β—¦ help β€” ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅Ρ‚Π΅ ја ΠΎΠ²Π°Π° листа Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ;
β—¦ quit - ΠΈΠ·Π»Π΅Π·ΠΈ;
β—¦ time β€” ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π³ΠΎ Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° сСрвСрот;
β—¦ status β€” ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅Ρ‚Π΅ ја врската ΠΈ статусот Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π°Ρ‚Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ;
β—¦ last β€” Π°ΠΆΡƒΡ€ΠΈΡ€Π°Ρ˜Ρ‚Π΅ ја ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ΠΎΡ‚ (ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ Π³ΠΎ послСдниот Π±Π»ΠΎΠΊ). Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° ја ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ ΠΎΠ²Π°Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€Π΅Π΄ ΠΊΠ°ΠΊΠ²ΠΈ Π±ΠΈΠ»ΠΎ Π±Π°Ρ€Π°ΡšΠ° Π·Π° Π΄Π° Π±ΠΈΠ΄Π΅Ρ‚Π΅ сигурни Π΄Π΅ΠΊΠ° ја Π³Π»Π΅Π΄Π°Ρ‚Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½Π°Ρ‚Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°.
β—¦ sendfile <filename> β€” Π²Ρ‡ΠΈΡ‚Π°Ρ˜Ρ‚Π΅ Π»ΠΎΠΊΠ°Π»Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° TON. Π’Π°ΠΊΠ° сС случува ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° со ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° - Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, создавањС Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ ΠΈ Π±Π°Ρ€Π°ΡšΠ° Π·Π° прСнос Π½Π° срСдства ΠΏΠΎΠΌΠ΅Ρ“Ρƒ смСткитС;
β—¦ getaccount <address> - ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅Ρ‚Π΅ ја ΡΡ‚Ρ€ΡƒΡ˜Π°Ρ‚Π° (Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΡ‚ ΠΊΠΎΠ³Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° бСшС ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½Π°) last) статусот Π½Π° смСтката со Π½Π°Π²Π΅Π΄Π΅Π½Π°Ρ‚Π° адрСса;
β—¦ privkey <filename> β€” Π²Ρ‡ΠΈΡ‚Π°Ρ˜Ρ‚Π΅ Π³ΠΎ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡ ΠΎΠ΄ Π»ΠΎΠΊΠ°Π»Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°.

Ако, ΠΏΡ€ΠΈ ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚, ΠΏΡ€Π΅Ρ„Ρ€Π»ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΠ° Π²ΠΎ Π½Π΅Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ја ΠΎΠΏΡ†ΠΈΡ˜Π°Ρ‚Π° -D, Ρ‚ΠΎΠ³Π°Ρˆ Ρ‚ΠΎΡ˜ ќС Π³ΠΎ Π΄ΠΎΠ΄Π°Π΄Π΅ послСдниот Π±Π»ΠΎΠΊ ΠΎΠ΄ Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ ΡΠΈΠ½ΡŸΠΈΡ€ Π²ΠΎ Π½Π΅Π³ΠΎ:

./test-lite-client -C ton-lite-client-test1.config.json -D ~/ton-db-dir

Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌΠ΅ Π½Π° поинтСрСсни Ρ€Π°Π±ΠΎΡ‚ΠΈ - Π΄Π° Π³ΠΎ Π½Π°ΡƒΡ‡ΠΈΠΌΠ΅ Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Fift, Π΄Π° сС ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° составимС ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΠΌΠ΅ тСст-ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊ), Π΄Π° Π³ΠΎ ΠΏΡ€ΠΈΠΊΠ°Ρ‡ΠΈΠΌΠ΅ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ Π΄Π° сС ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° ΠΏΡ€Π΅Ρ„Ρ€Π»Π°ΠΌΠ΅ срСдства ΠΏΠΎΠΌΠ΅Ρ“Ρƒ смСткитС.

Јазик ΠΏΠ΅Ρ‚Ρ‚ΠΈ

Од Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΡ‚ fifthbase.pdf ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄ΠΎΠ·Π½Π°Π΅Ρ‚Π΅ Π΄Π΅ΠΊΠ° Ρ‚ΠΈΠΌΠΎΡ‚ Π½Π° Telegram создадС Π½ΠΎΠ² јазик Π½Π° стСк Π·Π° создавањС ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ ΠŸΠ΅Ρ‚ΠΊΠ° (ΠΎΡ‡ΠΈΠ³Π»Π΅Π΄Π½ΠΎ ΠΎΠ΄ Ρ†ΠΈΡ„Ρ€Π°Ρ‚Π° ΠΏΠ΅Ρ‚Ρ‚ΠΈΠΎΡ‚, слично Π½Π° Π€ΠΎΡ€Ρ‚, јазик со кој ΠΏΠ΅Ρ‚Ρ‚ΠΈΠΎΡ‚ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρƒ Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΎ).

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΡ‚ Π΅ доста ΠΎΠ±Π΅ΠΌΠ΅Π½, 87 страници ΠΈ Π½Π΅ΠΌΠ° Π΄Π° ја прСраскаТувам Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° содрТина Π΄Π΅Ρ‚Π°Π»Π½ΠΎ Π²ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° овој напис (Π±Π°Ρ€Π΅ΠΌ Π·Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ сам Π½Π΅ сум Π³ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π» :). ЌС сС фокусирам Π½Π° Π³Π»Π°Π²Π½ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ ќС Π΄Π°Π΄Π°ΠΌ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π½Π° ΠΊΠΎΠ΄ Π½Π° овој јазик.

На основно Π½ΠΈΠ²ΠΎ, синтаксата Π½Π° Fift Π΅ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Сдноставна: Π½Π΅Ρ˜Π·ΠΈΠ½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ сС состои ΠΎΠ΄ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ, ΠΎΠ±ΠΈΡ‡Π½ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈ со ΠΏΡ€Π°Π·Π½ΠΈ мСста ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΊΠΈΠ½ΠΈ Π½Π° Π»ΠΈΠ½ΠΈΠΈ (посСбСн ΡΠ»ΡƒΡ‡Π°Ρ˜: Π½Π΅ΠΊΠΎΠΈ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ Π½Π΅ Π±Π°Ρ€Π°Π°Ρ‚ Ρ€Π°Π·Π΄Π²ΠΎΡ˜ΡƒΠ²Π°Ρ‡ ΠΏΠΎ сСбС). Π‘ΠΈΠ»ΠΎ кој слово Π΅ Π½ΠΈΠ·Π° ΠΎΠ΄ Π·Π½Π°Ρ†ΠΈ чувствитСлна Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π±ΡƒΠΊΠ²ΠΈ ΡˆΡ‚ΠΎ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π° Π½Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡƒΠ²Π°ΡšΠ΅ Π½Π° (ΠΎΡ‚ΠΏΡ€ΠΈΠ»ΠΈΠΊΠ°, ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ»ΠΊΡƒΠ²Π°Ρ‡ΠΎΡ‚ ΠΊΠΎΠ³Π° ќС Π³ΠΎ срСтнС овој Π·Π±ΠΎΡ€). Ако Π½Π΅ΠΌΠ° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π° Π·Π° Π·Π±ΠΎΡ€, Ρ‚ΠΎΠ»ΠΊΡƒΠ²Π°Ρ‡ΠΎΡ‚ сС ΠΎΠ±ΠΈΠ΄ΡƒΠ²Π° Π΄Π° Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° ΠΊΠ°ΠΊΠΎ Π±Ρ€ΠΎΡ˜ ΠΈ Π΄Π° Π³ΠΎ стави Π½Π° ΠΎΡŸΠ°ΠΊΠΎΡ‚. ΠŸΠ°Ρ‚Π΅ΠΌ, Π±Ρ€ΠΎΠ΅Π²ΠΈΡ‚Π΅ ΠΎΠ²Π΄Π΅ сС - одСднаш - 257-Π±ΠΈΡ‚Π½ΠΈ Ρ†Π΅Π»ΠΈ Π±Ρ€ΠΎΠ΅Π²ΠΈ, ΠΈ Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ Π½Π΅ΠΌΠ° Π΄Ρ€ΠΎΠΏΠΊΠΈ - ΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎ, Ρ‚ΠΈΠ΅ вСднаш сС ΠΏΡ€Π΅Ρ‚Π²ΠΎΡ€Π°Π°Ρ‚ Π²ΠΎ ΠΏΠ°Ρ€ Ρ†Π΅Π»ΠΈ Π±Ρ€ΠΎΠ΅Π²ΠΈ, Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ˜ΡœΠΈ Π±Ρ€ΠΎΠΈΡ‚Π΅Π» ΠΈ ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π» Π½Π° Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»Π½Π° Π΄Ρ€ΠΎΠΏΠΊΠ°.

Π—Π±ΠΎΡ€ΠΎΠ²ΠΈΡ‚Π΅ ΠΈΠΌΠ°Π°Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡ˜Π° Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°Π°Ρ‚ со врСдноститС Π½Π° Π²Ρ€Π²ΠΎΡ‚ Π½Π° ΠΎΡŸΠ°ΠΊΠΎΡ‚. ПосСбСн Ρ‚ΠΈΠΏ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ - прСфикс β€” Π½Π΅ Π³ΠΎ користи стСкот, Ρ‚ΡƒΠΊΡƒ слСднитС Π·Π½Π°Ρ†ΠΈ ΠΎΠ΄ ΠΈΠ·Π²ΠΎΡ€Π½Π°Ρ‚Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π°ΠΊΠ° сС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π°Ρ‚ стринговитС Π±ΡƒΠΊΠ²Π°Π»Π½ΠΎ - Π·Π½Π°ΠΊΠΎΡ‚ Π½Π° Ρ†ΠΈΡ‚Π°Ρ‚ (") Π΅ прСфикс Π·Π±ΠΎΡ€ кој Π³ΠΎ Π±Π°Ρ€Π° слСдниот (Π·Π°Ρ‚Π²ΠΎΡ€Π°ΡšΠ΅) Ρ†ΠΈΡ‚Π°Ρ‚ ΠΈ ја Ρ‚ΡƒΡ€ΠΊΠ° Π½ΠΈΠ·Π°Ρ‚Π° ΠΌΠ΅Ρ“Ρƒ Π½ΠΈΠ² Π½Π° ΠΎΡŸΠ°ΠΊΠΎΡ‚. Π•Π΄Π½ΠΎΡΠ»ΠΎΡ˜Π½ΠΈΡ‚Π΅ сС однСсуваат Π½Π° ист Π½Π°Ρ‡ΠΈΠ½ (//) ΠΈ повСќСлиниски (/*) ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ.

Π’ΡƒΠΊΠ° Π·Π°Π²Ρ€ΡˆΡƒΠ²Π° рСчиси Ρ†Π΅Π»Π°Ρ‚Π° Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½Π° структура Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚. Π‘Γ¨ Π΄Ρ€ΡƒΠ³ΠΎ (Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ конструкции) сС Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° ΠΊΠ°ΠΊΠΎ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ (ΠΈΠ»ΠΈ Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½ΠΈ, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС Π°Ρ€ΠΈΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‡ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π° Π½Π° Π½ΠΎΠ²ΠΈ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ; ΠΈΠ»ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΎ Π²ΠΎ β€žΡΡ‚Π°Π½Π΄Π°Ρ€Π΄Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°β€œ Fift.fif, кој Π΅ Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° crypto/fift Π²ΠΎ ΠΈΠ·Π²ΠΎΡ€ΠΈΡ‚Π΅).

ЕдноставСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π²ΠΎ Fift:

{ dup =: x dup * =: y } : setxy
3 setxy x . y . x y + .
7 setxy x . y . x y + .

ΠŸΡ€Π²Π°Ρ‚Π° линија Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° Π½ΠΎΠ² Π·Π±ΠΎΡ€ setxy (Π·Π°Π±Π΅Π»Π΅ΠΆΠ΅Ρ‚Π΅ Π³ΠΎ прСфиксот {, ΡˆΡ‚ΠΎ создава Π±Π»ΠΎΠΊ ΠΏΡ€Π΅Π΄ Π·Π°Ρ‚Π²ΠΎΡ€Π°ΡšΠ΅Ρ‚ΠΎ } ΠΈ прСфикс :, ΡˆΡ‚ΠΎ Π²ΡΡƒΡˆΠ½ΠΎΡΡ‚ Π³ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° Π·Π±ΠΎΡ€ΠΎΡ‚). setxy Π·Π΅ΠΌΠ° Π±Ρ€ΠΎΡ˜ ΠΎΠ΄ Π²Ρ€Π²ΠΎΡ‚ Π½Π° ΠΎΡŸΠ°ΠΊΠΎΡ‚, Π³ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° (ΠΈΠ»ΠΈ Π³ΠΎ Ρ€Π΅Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°) ΠΊΠ°ΠΊΠΎ Π³Π»ΠΎΠ±Π°Π»Π΅Π½ константна x, Π° ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΡ‚ Π½Π° овој Π±Ρ€ΠΎΡ˜ ΠΊΠ°ΠΊΠΎ константа y (Π‘ΠΎ ΠΎΠ³Π»Π΅Π΄ Π½Π° Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ врСдноститС Π½Π° константитС ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС Ρ€Π΅Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π°Ρ‚, ΠΏΠΎΠΏΡ€Π²ΠΎ Π±ΠΈ Π³ΠΈ Π½Π°Ρ€Π΅ΠΊΠΎΠ» ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Π½ΠΎ ја слСдам ΠΊΠΎΠ½Π²Π΅Π½Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° ΠΈΠΌΠ΅Π½ΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚).

Π‘Π»Π΅Π΄Π½ΠΈΡ‚Π΅ Π΄Π²Π΅ Π»ΠΈΠ½ΠΈΠΈ ставаат Π±Ρ€ΠΎΡ˜ Π½Π° ΠΌΠ°Π³Π°Ρ†ΠΈΠ½ΠΎΡ‚ ΠΈ ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π°Π°Ρ‚ setxy, ΠΏΠΎΡ‚ΠΎΠ° сС ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π°Π°Ρ‚ врСдноститС Π½Π° константитС x, y (Π·Π±ΠΎΡ€ΠΎΡ‚ сС користи Π·Π° ΠΈΠ·Π»Π΅Π· .), Π΄Π²Π΅Ρ‚Π΅ константи сС ставаат Π½Π° ΠΎΡŸΠ°ΠΊΠΎΡ‚, сС сумираат, Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ исто Ρ‚Π°ΠΊΠ° сС ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ. Како Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ќС Π²ΠΈΠ΄ΠΈΠΌΠ΅:

3 9 12 ok
7 49 56 ok

(Π Π΅Π½ΠΈΡ†Π°Ρ‚Π° β€žokβ€œ ја ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Ρ‚ΠΎΠ»ΠΊΡƒΠ²Π°Ρ‡ΠΎΡ‚ ΠΊΠΎΠ³Π° ќС Π·Π°Π²Ρ€ΡˆΠΈ со ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° линија Π²ΠΎ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Π²Π»Π΅Π·)

Па, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° цСлосСн ΠΊΠΎΠ΄:

"Asm.fif" include

-1 constant wc  // create a wallet in workchain -1 (masterchain)

// Create new simple wallet
<{  SETCP0 DUP IFNOTRET INC 32 THROWIF  // return if recv_internal, fail unless recv_external
    512 INT LDSLICEX DUP 32 PLDU   // sign cs cnt
    c4 PUSHCTR CTOS 32 LDU 256 LDU ENDS  // sign cs cnt cnt' pubk
    s1 s2 XCPU            // sign cs cnt pubk cnt' cnt
    EQUAL 33 THROWIFNOT   // ( seqno mismatch? )
    s2 PUSH HASHSU        // sign cs cnt pubk hash
    s0 s4 s4 XC2PU        // pubk cs cnt hash sign pubk
    CHKSIGNU              // pubk cs cnt ?
    34 THROWIFNOT         // signature mismatch
    ACCEPT
    SWAP 32 LDU NIP 
    DUP SREFS IF:<{
      8 LDU LDREF         // pubk cnt mode msg cs
      s0 s2 XCHG SENDRAWMSG  // pubk cnt cs ; ( message sent )
    }>
    ENDS
    INC NEWC 32 STU 256 STU ENDC c4 POPCTR
}>c
// code
<b 0 32 u, 
   newkeypair swap dup constant wallet_pk 
   "new-wallet.pk" B>file
   B, 
b> // data
// no libraries
<b b{00110} s, rot ref, swap ref, b>  // create StateInit
dup ."StateInit: " <s csr. cr
dup hash dup constant wallet_addr
."new wallet address = " wc . .": " dup x. cr
wc over 7 smca>$ type cr
256 u>B "new-wallet.addr" B>file
<b 0 32 u, b>
dup ."signing message: " <s csr. cr
dup hash wallet_pk ed25519_sign_uint rot
<b b{1000100} s, wc 8 i, wallet_addr 256 u, b{000010} s, swap <s s, b{0} s, swap B, swap <s s, b>
dup ."External message for initialization is " <s csr. cr
2 boc+>B dup Bx. cr
"new-wallet-query.boc" tuck B>file
."(Saved to file " type .")" cr

Оваа Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° со Π·Π°ΡΡ‚Ρ€Π°ΡˆΡƒΠ²Π°Ρ‡ΠΊΠΈ ΠΈΠ·Π³Π»Π΅Π΄ Π΅ Π·Π° создавањС ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ - Ρ‚Π°Π° ќС Π±ΠΈΠ΄Π΅ ставСна Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° new-wallet-query.boc ΠΏΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ. Π’Π΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅ ΠΈΠΌΠ°Ρ˜Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° ΠΎΠ²Π΄Π΅ сС користи Π΄Ρ€ΡƒΠ³ јазик Π·Π° Π°ΡΠ΅ΠΌΠ±Π»ΠΈΡ€Π°ΡšΠ΅ Π·Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π°Ρ‚Π° машина TON (Π½Π΅ΠΌΠ° Π΄Π° сС Π·Π°Π΄Ρ€ΠΆΠ°ΠΌ Π½Π° Π½Π΅Π³ΠΎ Π²ΠΎ Π΄Π΅Ρ‚Π°Π»ΠΈ), Ρ‡ΠΈΠΈ упатства ќС Π±ΠΈΠ΄Π°Ρ‚ поставСни Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ΠΎΡ‚.

Π’Π°ΠΊΠ°, асСмблСрот Π·Π° Π’Π’Πœ Π΅ напишан Π²ΠΎ Fift - ΠΈΠ·Π²ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° овој асСмблСр сС Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° crypto/fift/Asm.fif ΠΈ сС ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚ Π½Π° Π³ΠΎΡ€Π½ΠΈΠΎΡ‚ Π΄Π΅Π» ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡ‚.

Π¨Ρ‚ΠΎ ΠΌΠΎΠΆΠ°ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ°ΠΌ, ΠΎΡ‡ΠΈΠ³Π»Π΅Π΄Π½ΠΎ Николај Π”ΡƒΡ€ΠΎΠ² само сака Π΄Π° создава Π½ΠΎΠ²ΠΈ програмски Ρ˜Π°Π·ΠΈΡ†ΠΈ :)

БоздавањС ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° со TON

Π—Π½Π°Ρ‡ΠΈ, Π΄Π° прСтпоставимС Π΄Π΅ΠΊΠ° Π³ΠΈ составивмС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ TON ΠΈ ΠΏΡ€Π΅Π²Π΅Π΄ΡƒΠ²Π°Ρ‡ΠΎΡ‚ Fift ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ опишано ΠΏΠΎΠ³ΠΎΡ€Π΅ ΠΈ сС Π·Π°ΠΏΠΎΠ·Π½Π°Π²ΠΌΠ΅ со Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚. Како Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ сСга? Ова Π΅ опишано Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° КАКО ДА, Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠ³ Π½Π° ΠΈΠ·Π²ΠΎΡ€ΠΈΡ‚Π΅.

Π‘ΠΌΠ΅Ρ‚ΠΊΠΈ Π²ΠΎ TON

Како ΡˆΡ‚ΠΎ опишав Π²ΠΎ ΠŸΡ€Π΅Π³Π»Π΅Π΄ Π½Π° ВОН, ΠΎΠ²Π°Π° ΠΌΡ€Π΅ΠΆΠ° содрТи повСќС ΠΎΠ΄ Π΅Π΄Π΅Π½ Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ - ΠΈΠΌΠ° Π΅Π΄Π΅Π½ Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ, Ρ‚.Π½. β€žΠ³Π»Π°Π²Π΅Π½ ΡΠΈΠ½ΡŸΠΈΡ€β€œ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π±Ρ€ΠΎΡ˜ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ β€žΡ€Π°Π±ΠΎΡ‚Π½ΠΈ ΡΠΈΠ½ΡŸΠΈΡ€ΠΈβ€œ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°Π½ΠΈ со 32-Π±ΠΈΡ‚Π΅Π½ Π±Ρ€ΠΎΡ˜. Π“Π»Π°Π²Π½ΠΈΠΎΡ‚ ΡΠΈΠ½ΡŸΠΈΡ€ ΠΈΠΌΠ° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΠ΄ -1, ΠΏΠΎΠΊΡ€Π°Ρ˜ Π½Π΅Π³ΠΎ, ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи ΠΈ β€žΠΎΡΠ½ΠΎΠ²Π΅Π½β€œ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΡΠΈΠ½ΡŸΠΈΡ€ со ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ 0. БСкој Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΡΠΈΠ½ΡŸΠΈΡ€ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° своја ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°. Π’Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½ΠΎ, сСкој Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΡΠΈΠ½ΡŸΠΈΡ€ Π΅ ΠΏΠΎΠ΄Π΅Π»Π΅Π½ Π½Π° ситни ΡΠΈΠ½ΡŸΠΈΡ€ΠΈ, Π½ΠΎ ΠΎΠ²Π° Π΅ Π΄Π΅Ρ‚Π°Π» ΠΎΠ΄ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΡˆΡ‚ΠΎ Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΈΠΌΠ° Π½Π° ΡƒΠΌ.

Π’ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π΅Π΄Π΅Π½ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΡΠΈΠ½ΡŸΠΈΡ€, сС складираат ΠΌΠ½ΠΎΠ³Ρƒ смСтки ΠΊΠΎΠΈ ΠΈΠΌΠ°Π°Ρ‚ свои ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π½Π° account_id. Π—Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ ΡΠΈΠ½ΡŸΠΈΡ€ ΠΈ Π½ΡƒΠ»Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΎΡ‚ ΡΠΈΠ½ΡŸΠΈΡ€, Ρ‚ΠΈΠ΅ сС Π΄ΠΎΠ»Π³ΠΈ 256 Π±ΠΈΡ‚Π°. Π’Π°ΠΊΠ°, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΡ‚ Π½Π° смСтката Π΅ напишан, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π°ΠΊΠ°:

-1:8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d

Ова Π΅ β€žΡΡƒΡ€ΠΎΠ²β€œ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: ΠΏΡ€Π²ΠΎ ID Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΎΡ‚ ΡΠΈΠ½ΡŸΠΈΡ€, ΠΏΠΎΡ‚ΠΎΠ° Π΄Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ ID Π½Π° смСтката Π²ΠΎ хСксадСцимална Π½ΠΎΡ‚Π°Ρ†ΠΈΡ˜Π°.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, постои скратСн Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ - Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΎΡ‚ ΡΠΈΠ½ΡŸΠΈΡ€ ΠΈ адрСсата Π½Π° смСтката сС ΠΊΠΎΠ΄ΠΈΡ€Π°Π½ΠΈ Π²ΠΎ Π±ΠΈΠ½Π°Ρ€Π½Π° Ρ„ΠΎΡ€ΠΌΠ°, Π½Π° Π½ΠΈΠ² сС Π΄ΠΎΠ΄Π°Π²Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° сума ΠΈ сСто Ρ‚ΠΎΠ° Π΅ ΡˆΠΈΡ„Ρ€ΠΈΡ€Π°Π½ΠΎ Π²ΠΎ Base64:

Ef+BVndbeTJeXWLnQtm5bDC2UVpc0vH2TF2ksZPAPwcODSkb

Π—Π½Π°Π΅Ρ˜ΡœΠΈ Π³ΠΎ овој Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° запис, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ја ΠΏΠΎΠ±Π°Ρ€Π°ΠΌΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½Π°Ρ‚Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π½Π° смСтката ΠΏΡ€Π΅ΠΊΡƒ тСст-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ ја ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°

getaccount -1:8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d

ЌС Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ Π²Π°ΠΊΠ²ΠΎ Π½Π΅ΡˆΡ‚ΠΎ:

[ 3][t 2][1558746708.815218925][test-lite-client.cpp:631][!testnode]    requesting account state for -1:8156775B79325E5D62E742D9B96C30B6515A5CD2F1F64C5DA4B193C03F070E0D
[ 3][t 2][1558746708.858564138][test-lite-client.cpp:652][!testnode]    got account state for -1:8156775B79325E5D62E742D9B96C30B6515A5CD2F1F64C5DA4B193C03F070E0D with respect to blocks (-1,8000000000000000,72355):F566005749C1B97F18EDE013EBA7A054B9014961BC1AD91F475B9082919A2296:1BD5DE54333164025EE39D389ECE2E93DA2871DA616D488253953E52B50DC03F and (-1,8000000000000000,72355):F566005749C1B97F18EDE013EBA7A054B9014961BC1AD91F475B9082919A2296:1BD5DE54333164025EE39D389ECE2E93DA2871DA616D488253953E52B50DC03F
account state is (account
  addr:(addr_std
    anycast:nothing workchain_id:-1 address:x8156775B79325E5D62E742D9B96C30B6515A5CD2F1F64C5DA4B193C03F070E0D)
  storage_stat:(storage_info
    used:(storage_used
      cells:(var_uint len:1 value:3)
      bits:(var_uint len:2 value:539)
      public_cells:(var_uint len:0 value:0)) last_paid:0
    due_payment:nothing)
  storage:(account_storage last_trans_lt:74208000003
    balance:(currencies
      grams:(nanograms
        amount:(var_uint len:7 value:999928362430000))
      other:(extra_currencies
        dict:hme_empty))
    state:(account_active
      (
        split_depth:nothing
        special:nothing
        code:(just
          value:(raw@^Cell 
            x{}
             x{FF0020DDA4F260D31F01ED44D0D31FD166BAF2A1F80001D307D4D1821804A817C80073FB0201FB00A4C8CB1FC9ED54}
            ))
        data:(just
          value:(raw@^Cell 
            x{}
             x{0000000D}
            ))
        library:hme_empty))))
x{CFF8156775B79325E5D62E742D9B96C30B6515A5CD2F1F64C5DA4B193C03F070E0D2068086C000000000000000451C90E00DC0E35B7DB5FB8C134_}
 x{FF0020DDA4F260D31F01ED44D0D31FD166BAF2A1F80001D307D4D1821804A817C80073FB0201FB00A4C8CB1FC9ED54}
 x{0000000D}

Ја Π³Π»Π΅Π΄Π°ΠΌΠ΅ структурата ΡˆΡ‚ΠΎ Π΅ Π·Π°Ρ‡ΡƒΠ²Π°Π½Π° Π²ΠΎ DHT Π½Π° Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΡΠΈΠ½ΡŸΠΈΡ€. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Ρ‚Π΅Ρ€Π΅Π½ storage.balance Π΅ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° смСтка, Π²ΠΎ storage.state.code - ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ ΠΊΠΎΠ΄ Π·Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€, ΠΈ Π²ΠΎ storage.state.data - Π½Π΅Ρ˜Π·ΠΈΠ½ΠΈΡ‚Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ TON - ЌСлија, ќСлии - Π΅ слично Π½Π° Π΄Ρ€Π²ΠΎ, сСкоја ќСлија ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΈ свои ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ дСтски ќСлии. Ова Π΅ ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ°Π½ΠΎ ΠΊΠ°ΠΊΠΎ Π²ΠΎΠ²Π»Π΅ΠΊΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ послСднитС Ρ€Π΅Π΄ΠΎΠ²ΠΈ.

Π“Ρ€Π°Π΄Π΅ΡšΠ΅ ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€

Π‘Π΅Π³Π° ајдС сами Π΄Π° создадСмС Ρ‚Π°ΠΊΠ²Π° структура (Ρ‚ΠΎΠ° сС Π²ΠΈΠΊΠ° Π‘ΠžΠ¦ - Π²Ρ€Π΅ΡœΠ° со ΠΊΠ»Π΅Ρ‚ΠΊΠΈ) ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Fift. Π—Π° ΡΡ€Π΅ΡœΠ°, Π½Π΅ ΠΌΠΎΡ€Π° сами Π΄Π° ΠΏΠΈΡˆΡƒΠ²Π°Ρ‚Π΅ ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ - Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° crypto/block ΠΈΠΌΠ° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΎΠ΄ ΠΈΠ·Π²ΠΎΡ€Π½Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΠ²Π° new-wallet.fif, ΡˆΡ‚ΠΎ ќС Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° создадСмС Π½ΠΎΠ² ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊ. АјдС Π΄Π° Π³ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°ΠΌΠ΅ Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° со собраниот ΠΊΠ»ΠΈΠ΅Π½Ρ‚ (~/liteclient-build, Π°ΠΊΠΎ Π³ΠΈ слСдСвтС упатствата ΠΏΠΎΠ³ΠΎΡ€Π΅). Ја Π½Π°Π²Π΅Π΄ΠΎΠ² Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° содрТина ΠΏΠΎΠ³ΠΎΡ€Π΅ ΠΊΠ°ΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΊΠΎΠ΄ Π½Π° Fift.

Π˜Π·Π²Ρ€ΡˆΠ΅Ρ‚Π΅ ја ΠΎΠ²Π°Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π½Π° слСдниов Π½Π°Ρ‡ΠΈΠ½:

./crypto/fift -I"<source-directory>/crypto/fift" new-wallet.fif

Π’ΡƒΠΊΠ° <source-directory> ΠΌΠΎΡ€Π° Π΄Π° сС Π·Π°ΠΌΠ΅Π½ΠΈ со ΠΏΠ°Ρ‚Π΅ΠΊΠ°Ρ‚Π° Π΄ΠΎ Π½Π΅ΠΎΡ‚ΠΏΠ°ΠΊΡƒΠ²Π°Π½ΠΈΡ‚Π΅ ΠΈΠ·Π²ΠΎΡ€ΠΈ (симболот β€ž~β€œ, Π·Π° ΠΆΠ°Π», Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи ΠΎΠ²Π΄Π΅, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π° Π΅ цСлосна ΠΏΠ°Ρ‚Π΅ΠΊΠ°). НамСсто Π΄Π° користитС ΠΊΠ»ΡƒΡ‡ -I ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° FIFTPATH ΠΈ ставСтС Π³ΠΎ овој ΠΏΠ°Ρ‚ Π²ΠΎ Π½Π΅Π³ΠΎ.

ΠžΡ‚ΠΊΠ°ΠΊΠΎ Π³ΠΎ лансиравмС Fift со ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° new-wallet.fif, ќС Π³ΠΎ ΠΈΠ·Π²Ρ€ΡˆΠΈ ΠΈ ќС ΠΈΠ·Π»Π΅Π·Π΅. Ако Π³ΠΎ ΠΈΡΠΏΡƒΡˆΡ‚ΠΈΡ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° ΠΈΠ³Ρ€Π°Ρ‚Π΅ со ΠΏΡ€Π΅Π²Π΅Π΄ΡƒΠ²Π°Ρ‡ΠΎΡ‚.

По ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ, Π½Π΅ΡˆΡ‚ΠΎ ΠΊΠ°ΠΊΠΎ ΠΎΠ²Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ΅ Π²ΠΎ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π°:

StateInit: x{34_}
 x{FF0020DDA4F260810200D71820D70B1FED44D0D31FD3FFD15112BAF2A122F901541044F910F2A2F80001D31F3120D74A96D307D402FB00DED1A4C8CB1FCBFFC9ED54}
 x{0000000055375F730EDC2292E8CB15C42E8036EE9C25AA958EE002D2DE48A205E3A3426B}

new wallet address = -1 : 4fcd520b8fcca096b567d734be3528edc6bed005f6930a9ec9ac1aa714f211f2 
0f9PzVILj8yglrVn1zS-NSjtxr7QBfaTCp7JrBqnFPIR8nhZ
signing message: x{00000000}

External message for initialization is x{89FEE120E20C7E953E31546F64C23CD654002C1AA919ADD24DB12DDF85C6F3B58AE41198A28AD8DAF3B9588E7A629252BA3DB88F030D00BC1016110B2073359EAC3C13823C53245B65D056F2C070B940CDA09789585935C7ABA4D2AD4BED139281CFA1200000001_}
 x{FF0020DDA4F260810200D71820D70B1FED44D0D31FD3FFD15112BAF2A122F901541044F910F2A2F80001D31F3120D74A96D307D402FB00DED1A4C8CB1FCBFFC9ED54}
 x{0000000055375F730EDC2292E8CB15C42E8036EE9C25AA958EE002D2DE48A205E3A3426B}

B5EE9C724104030100000000D60002CF89FEE120E20C7E953E31546F64C23CD654002C1AA919ADD24DB12DDF85C6F3B58AE41198A28AD8DAF3B9588E7A629252BA3DB88F030D00BC1016110B2073359EAC3C13823C53245B65D056F2C070B940CDA09789585935C7ABA4D2AD4BED139281CFA1200000001001020084FF0020DDA4F260810200D71820D70B1FED44D0D31FD3FFD15112BAF2A122F901541044F910F2A2F80001D31F3120D74A96D307D402FB00DED1A4C8CB1FCBFFC9ED5400480000000055375F730EDC2292E8CB15C42E8036EE9C25AA958EE002D2DE48A205E3A3426B6290698B
(Saved to file new-wallet-query.boc)

Ова Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊΠΎΡ‚ со Π»ΠΈΡ‡Π½Π° ΠΊΠ°Ρ€Ρ‚Π° -1:4fcd520b8fcca096b567d734be3528edc6bed005f6930a9ec9ac1aa714f211f2 (ΠΈΠ»ΠΈ, ΡˆΡ‚ΠΎ Π΅ истото, 0f9PzVILj8yglrVn1zS-NSjtxr7QBfaTCp7JrBqnFPIR8nhZ) ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создадСн. Π‘ΠΎΠΎΠ΄Π²Π΅Ρ‚Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ ќС Π±ΠΈΠ΄Π΅ Π²ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° new-wallet-query.boc, Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° адрСса Π΅ Π²ΠΎ new-wallet.addr, Π° ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΈΠΎΡ‚ ΠΊΠ»ΡƒΡ‡ Π΅ Π²Π½Π°Ρ‚Ρ€Π΅ new-wallet.pk (Π±ΠΈΠ΄Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΈ - ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΡ‚ΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° скриптата ќС Π³ΠΈ ΠΏΡ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅ ΠΎΠ²ΠΈΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ).

Π‘Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°, ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° TON сè ΡƒΡˆΡ‚Π΅ Π½Π΅ Π·Π½Π°Π΅ Π·Π° овој ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊ, Ρ‚ΠΎΡ˜ сС Ρ‡ΡƒΠ²Π° само Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π° ΠΎΠ²ΠΈΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ. Π‘Π΅Π³Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС постави Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ Π΅ ΡˆΡ‚ΠΎ Π·Π° Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΠ»Π°Ρ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²ΠΈΠ·ΠΈΡ˜Π°, Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° смСтка Π΅ сè ΡƒΡˆΡ‚Π΅ Π½ΡƒΠ»Π°.

Π’ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ, овој ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ќС сС Ρ€Π΅ΡˆΠΈ со ΠΊΡƒΠΏΡƒΠ²Π°ΡšΠ΅ Π³Ρ€Π°ΠΌΠΎΠ²ΠΈ Π½Π° Π±Π΅Ρ€Π·Π°Ρ‚Π° (ΠΈΠ»ΠΈ ΠΏΡ€Π΅Ρ„Ρ€Π»Π°ΡšΠ΅ ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊ). Па, Π²ΠΎ ΡΠ΅Π³Π°ΡˆΠ½ΠΈΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅, создадСн Π΅ посСбСн смарт Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€, ΠΎΠ΄ кој ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΠ±Π°Ρ€Π°Ρ‚Π΅ Π΄ΠΎ 20 Π³Ρ€Π°ΠΌΠ° исто Ρ‚Π°ΠΊΠ°.

Π“Π΅Π½Π΅Ρ€ΠΈΡ€Π°ΡšΠ΅ Π±Π°Ρ€Π°ΡšΠ΅ Π΄ΠΎ Ρ‚ΡƒΡ“ ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€

Π£ΠΏΠ°Ρ‚ΡƒΠ²Π°ΠΌΠ΅ Π±Π°Ρ€Π°ΡšΠ΅ Π΄ΠΎ смарт Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ кој Π²Π°ΠΊΠ° дистрибуира Π³Ρ€Π°ΠΌΠΎΠ²ΠΈ Π»Π΅Π²ΠΎ-дСсно. Π’ΠΎ истата ΠΏΠ°ΠΏΠΊΠ° crypto/block Π½Π°Ρ˜Π΄Π΅Ρ‚Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° testgiver.fif:

// "testgiver.addr" file>B 256 B>u@ 
0x8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d
dup constant wallet_addr ."Test giver address = " x. cr

0x4fcd520b8fcca096b567d734be3528edc6bed005f6930a9ec9ac1aa714f211f2
constant dest_addr

-1 constant wc
0x00000011 constant seqno

1000000000 constant Gram
{ Gram swap */ } : Gram*/

6.666 Gram*/ constant amount

// b x --> b'  ( serializes a Gram amount )
{ -1 { 1+ 2dup 8 * ufits } until
  rot over 4 u, -rot 8 * u, } : Gram, 

// create a message (NB: 01b00.., b = bounce)
<b b{010000100} s, wc 8 i, dest_addr 256 u, amount Gram, 0 9 64 32 + + 1+ 1+ u, "GIFT" $, b>
<b seqno 32 u, 1 8 u, swap ref, b>
dup ."enveloping message: " <s csr. cr
<b b{1000100} s, wc 8 i, wallet_addr 256 u, 0 Gram, b{00} s,
   swap <s s, b>
dup ."resulting external message: " <s csr. cr
2 boc+>B dup Bx. cr
"wallet-query.boc" B>file

ЌС Π³ΠΎ Π·Π°Ρ‡ΡƒΠ²Π°ΠΌΠ΅ ΠΈ Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° со собраниот ΠΊΠ»ΠΈΠ΅Π½Ρ‚, Π½ΠΎ ќС ја ΠΏΠΎΠΏΡ€Π°Π²ΠΈΠΌΠ΅ ΠΏΠ΅Ρ‚Ρ‚Π°Ρ‚Π° линија - ΠΏΡ€Π΅Π΄ Π»ΠΈΠ½ΠΈΡ˜Π°Ρ‚Π° β€œconstant dest_addrβ€œ. АјдС Π΄Π° Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠ΅ со адрСсата Π½Π° ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊΠΎΡ‚ ΡˆΡ‚ΠΎ стС Π³ΠΎ создалС ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ (цСлосна, Π½Π΅ скратСна). НСма ΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΠΈΡˆΡƒΠ²Π°Ρ‚Π΅ β€ž-1:β€œ Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚, намСсто Π΄Π° ставитС β€ž0xβ€œ Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ исто Ρ‚Π°ΠΊΠ° Π΄Π° ја ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π»ΠΈΠ½ΠΈΡ˜Π°Ρ‚Π° 6.666 Gram*/ constant amount β€” ΠΎΠ²Π° Π΅ износот Π²ΠΎ Π³Ρ€Π°ΠΌΠΎΠ²ΠΈ ΡˆΡ‚ΠΎ Π³ΠΎ Π±Π°Ρ€Π°Ρ‚Π΅ (Π½Π΅ повСќС ΠΎΠ΄ 20). Π”ΡƒΡ€ΠΈ ΠΈ Π°ΠΊΠΎ Π½Π°Π²Π΅Π΄Π΅Ρ‚Π΅ Ρ†Π΅Π» Π±Ρ€ΠΎΡ˜, оставСтС ја Π΄Π΅Ρ†ΠΈΠΌΠ°Π»Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ°.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‚Ρ€Π΅Π±Π° Π΄Π° ја ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π»ΠΈΠ½ΠΈΡ˜Π°Ρ‚Π° 0x00000011 constant seqno. ΠŸΡ€Π²ΠΈΠΎΡ‚ Π±Ρ€ΠΎΡ˜ ΠΎΠ²Π΄Π΅ Π΅ Ρ‚Π΅ΠΊΠΎΠ²Π½ΠΈΠΎΡ‚ сСквСнционСн Π±Ρ€ΠΎΡ˜, кој сС Ρ‡ΡƒΠ²Π° Π²ΠΎ смСтката ΡˆΡ‚ΠΎ Π³ΠΈ ΠΈΠ·Π΄Π°Π²Π° Π³Ρ€Π°ΠΌΠΈΡ‚Π΅. Од ΠΊΠ°Π΄Π΅ ΠΌΠΎΠΆΠ°ΠΌ Π΄Π° Π³ΠΎ Π·Π΅ΠΌΠ°ΠΌ? Како ΡˆΡ‚ΠΎ Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ ΠΏΠΎΠ³ΠΎΡ€Π΅, ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°Ρ˜Ρ‚Π΅ Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ΠΈ ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°Ρ˜Ρ‚Π΅:

last
getaccount -1:8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d

На самиот ΠΊΡ€Π°Ρ˜, ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈΠΎΡ‚ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ ќС содрТат

...
x{FF0020DDA4F260D31F01ED44D0D31FD166BAF2A1F80001D307D4D1821804A817C80073FB0201FB00A4C8CB1FC9ED54}
 x{0000000D}

Π‘Ρ€ΠΎΡ˜ΠΎΡ‚ 0000000D (Ρ‚Π²ΠΎΡ˜ΠΎΡ‚ ќС Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌ) Π΅ сСквСнцискиот Π±Ρ€ΠΎΡ˜ ΡˆΡ‚ΠΎ ΠΌΠΎΡ€Π° Π΄Π° сС Π·Π°ΠΌΠ΅Π½ΠΈ Π²ΠΎ testgiver.fif.

Π’ΠΎΠ° Π΅ сè, Π·Π°Ρ‡ΡƒΠ²Π°Ρ˜Ρ‚Π΅ ја Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΠΈ ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°Ρ˜Ρ‚Π΅ (./crypto/fift testgiver.fif). Π˜Π·Π»Π΅Π·ΠΎΡ‚ ќС Π±ΠΈΠ΄Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° wallet-query.boc. Ова Π΅ ΠΎΠ½Π° ΡˆΡ‚ΠΎ сС Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° сообщСниС Π½Π° Ρ‚ΡƒΡ“ ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ - Π±Π°Ρ€Π°ΡšΠ΅ β€žΠΏΡ€Π΅Ρ„Ρ€Π»ΠΈ Ρ‚ΠΎΠ»ΠΊΡƒ ΠΌΠ½ΠΎΠ³Ρƒ Π³Ρ€Π°ΠΌΠ° Π½Π° Ρ‚Π°ΠΊΠ²Π° ΠΈ Ρ‚Π°ΠΊΠ²Π° ΡΠΌΠ΅Ρ‚ΠΊΠ°β€œ.

ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚, Π³ΠΎ ΠΈΡΠΏΡ€Π°ΡœΠ°ΠΌΠ΅ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°:

> sendfile wallet-query.boc
[ 1][t 1][1558747399.456575155][test-lite-client.cpp:577][!testnode]    sending query from file wallet-query.boc
[ 3][t 2][1558747399.500236034][test-lite-client.cpp:587][!query]   external message status is 1

Ако сСга сС Ρ˜Π°Π²ΠΈΡ‚Π΅ last, Π° ΠΏΠΎΡ‚ΠΎΠ° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΠΎΠ±Π°Ρ€Π°Ρ˜Ρ‚Π΅ Π³ΠΎ статусот Π½Π° смСтката ΠΎΠ΄ која Π±Π°Ρ€Π°Π²ΠΌΠ΅ Π³Ρ€Π°ΠΌΠΎΠ²ΠΈ, Ρ‚ΠΎΠ³Π°Ρˆ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° Π½Π΅Ρ˜Π·ΠΈΠ½ΠΈΠΎΡ‚ сСквСнционСн Π±Ρ€ΠΎΡ˜ Π΅ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½ Π·Π° Π΅Π΄Π΅Π½ - Ρ‚ΠΎΠ° Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° испрати ΠΏΠ°Ρ€ΠΈ Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° смСтка.

ΠžΡΡ‚Π°Π½ΡƒΠ²Π° послСдниот Ρ‡Π΅ΠΊΠΎΡ€ - ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ ја ΡˆΠΈΡ„Ρ€Π°Ρ‚Π° Π½Π° Π½Π°ΡˆΠΈΠΎΡ‚ ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊ (Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ салдо Π΅ вСќС Π½Π°Π΄ΠΎΠΏΠΎΠ»Π½Π΅Ρ‚ΠΎ, Π½ΠΎ Π±Π΅Π· ΠΊΠΎΠ΄ΠΎΡ‚ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ Π½Π΅ΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΠΌΠ΅ со Π½Π΅Π³ΠΎ). НиС спровСдувамС sendfile new-wallet-query.boc - ΠΈ Ρ‚ΠΎΠ° Π΅ Ρ‚ΠΎΠ°, ΠΈΠΌΠ°Ρ‚Π΅ сопствСн ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° TON (Π΄ΡƒΡ€ΠΈ ΠΈ Π°ΠΊΠΎ Ρ‚ΠΎΠ° Π΅ само тСст Π·Π° сСга).

ΠšΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ појдовни трансакции

Π—Π° Π΄Π° ΠΏΡ€Π΅Ρ„Ρ€Π»ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΈ ΠΎΠ΄ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° ΠΊΡ€Π΅ΠΈΡ€Π°Π½Π°Ρ‚Π° смСтка, постои Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° crypto/block/wallet.fif, кој исто Ρ‚Π°ΠΊΠ° Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС стави Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° со собраниот ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

Π‘Π»ΠΈΡ‡Π½ΠΎ Π½Π° ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ Ρ‡Π΅ΠΊΠΎΡ€ΠΈ, Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄ΠΈΡ‚Π΅ износот ΡˆΡ‚ΠΎ Π³ΠΎ ΠΏΡ€Π΅Ρ„Ρ€Π»Π°Ρ‚Π΅, адрСсата Π½Π° ΠΏΡ€ΠΈΠΌΠ°Ρ‡ΠΎΡ‚ (dest_addr) ΠΈ сСкно Π½Π° Π²Π°ΡˆΠΈΠΎΡ‚ ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊ (Ρ‚ΠΎΠ° Π΅ Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π½Π° 1 ΠΏΠΎ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊΠΎΡ‚ ΠΈ сС Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π° Π·Π° 1 ΠΏΠΎ сСкоја појдовна Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π° - ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄Π΅Ρ‚Π΅ Π³ΠΎ со Π±Π°Ρ€Π°ΡšΠ΅ статус Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° смСтка) . Π—Π° тСстови, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ користитС, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΡ˜ΠΎΡ‚ ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊ - 0x4fcd520b8fcca096b567d734be3528edc6bed005f6930a9ec9ac1aa714f211f2.

ΠΏΡ€ΠΈ ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°ΡšΠ΅ (./crypto/fift wallet.fif) скриптата ќС ја Π·Π΅ΠΌΠ΅ адрСсата Π½Π° Π²Π°ΡˆΠΈΠΎΡ‚ ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊ (ΠΎΠ΄ ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ ΠΏΡ€Π΅Ρ„Ρ€Π»Π°Ρ‚Π΅) ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π΅Π½ ΠΊΠ»ΡƒΡ‡ ΠΎΠ΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ new-wallet.addr ΠΈ new-wallet.pk, Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π°Ρ‚Π° ΠΏΠΎΡ€Π°ΠΊΠ° ќС Π±ΠΈΠ΄Π΅ напишана new-wallet-query.boc.

Како ΠΈ досСга, Π·Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π°, Ρ˜Π°Π²Π΅Ρ‚Π΅ сС sendfile new-wallet-query.boc кај ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚. ПослС ΠΎΠ²Π°, Π½Π΅ Π·Π°Π±ΠΎΡ€Π°Π²Π°Ρ˜Ρ‚Π΅ Π΄Π° ја Π°ΠΆΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° Π±Π»ΠΎΠΊΡ‡Π΅Ρ˜Π½ΠΎΡ‚ (last) ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π°Π»ΠΈ билансот ΠΈ сСкно Π½Π° Π½Π°ΡˆΠΈΠΎΡ‚ ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»Π΅ (getaccount <account_id>).

Π’Π΅ΡΡ‚ΠΈΡ€Π°Ρ˜Ρ‚Π΅ Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ TON (Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠ° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° ΠΌΡ€Π΅ΠΆΠ°) ΠΈ Π½ΠΎΠ² јазик Fift Π·Π° ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ

Π’ΠΎΠ° Π΅ сè, сСга ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΠΌΠ΅ ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈ Π²ΠΎ TON ΠΈ Π΄Π° ΠΈΡΠΏΡ€Π°ΡœΠ°ΠΌΠ΅ Π±Π°Ρ€Π°ΡšΠ° Π΄ΠΎ Π½ΠΈΠ². Како ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΡΠ΅Π³Π°ΡˆΠ½Π°Ρ‚Π° функционалност Π΅ вСќС Π΄ΠΎΠ²ΠΎΠ»Π½Π° Π·Π°, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΠΎΠΏΡ€ΠΈΡ˜Π°Ρ‚Π΅Π»ΡΠΊΠΈ ΠΏΠ°Ρ€ΠΈΡ‡Π½ΠΈΠΊ со Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ (сСпак, сС ΠΎΡ‡Π΅ΠΊΡƒΠ²Π° Ρ‚ΠΎΡ˜ вСќС Π΄Π° станС достапСн ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ гласникот).

Π‘Π°ΠΌΠΎ рСгистрирани корисници ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° учСствуваат Π²ΠΎ Π°Π½ΠΊΠ΅Ρ‚Π°Ρ‚Π°. Најави сС, Π²ΠΈΠ΅ стС Π΄ΠΎΠ±Ρ€Π΅Π΄ΠΎΡ˜Π΄Π΅Π½ΠΈ.

Π”Π°Π»ΠΈ стС заинтСрСсирани Π΄Π° Π³ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅ написитС со Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ВОН, Π’Π’Πœ, Π€ΠΈΡ„Ρ‚?

  • Π”Π°, Π³ΠΎ Ρ‡Π΅ΠΊΠ°ΠΌ Π·Π°Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΡΠ΅Ρ€ΠΈΡ˜Π°Ρ‚Π° написи со ΠΎΠΏΡˆΡ‚ ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° ВОН

  • Π”Π°, интСрСсно Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚Π΅ повСќС Π·Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Fift

  • Π”Π°, сакам Π΄Π° Π΄ΠΎΠ·Π½Π°Π°ΠΌ повСќС Π·Π° TON Virtual Machine ΠΈ асСмблСрот Π·Π° Π½Π΅Π°

  • НС, Π½ΠΈΡˆΡ‚ΠΎ ΠΎΠ΄ ΠΎΠ²Π° Π½Π΅ Π΅ интСрСсно

Гласаа 39 корисници. 12 корисници Π±Π΅Π° Π²ΠΎΠ·Π΄Ρ€ΠΆΠ°Π½ΠΈ.

Π¨Ρ‚ΠΎ мислитС Π·Π° ΠΏΠ»Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ Π½Π° Telegram Π΄Π° Π³ΠΎ лансира TON?

  • Имам Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π°Π΄Π΅ΠΆΠΈ Π·Π° овој ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

  • Π‘Π°ΠΌΠΎ со интСрСс Π³ΠΎ слСдам Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ Ρ€Π°Π·Π²ΠΎΡ˜.

  • Π‘ΠΊΠ΅ΠΏΡ‚ΠΈΡ‡Π΅Π½ сум ΠΈ сС сомнСвам Π²ΠΎ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ‚ успСх.

  • Јас сум склон ΠΎΠ²Π°Π° ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Ρ‚ΠΈΠ²Π° Π΄Π° ја смСтам Π·Π° Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½Π° ΠΈ Π½Π΅ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π° Π·Π° ΡˆΠΈΡ€ΠΎΠΊΠΈΡ‚Π΅ Π½Π°Ρ€ΠΎΠ΄Π½ΠΈ маси

Гласаа 47 корисници. 12 корисници Π±Π΅Π° Π²ΠΎΠ·Π΄Ρ€ΠΆΠ°Π½ΠΈ.

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€