เบ—เบปเบ”เบชเบญเบšเบฅเบนเบเบ„เป‰เบฒ TON (Telegram Open Network) เปเบฅเบฐเบžเบฒเบชเบฒ Fift เปƒเปเปˆเบชเบณเบฅเบฑเบšเบชเบฑเบ™เบเบฒเบญเบฑเบ”เบชเบฐเบฅเบดเบเบฐ

เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ›เบตเบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เบกเบฑเบ™เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเบเปˆเบฝเบงเบเบฑเบšเปเบœเบ™เบเบฒเบ™เบ‚เบญเบ‡ Telegram messenger เบ—เบตเปˆเบˆเบฐเบ›เปˆเบญเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเบฒเบ™เบเบฐเบˆเบฒเบเบญเปเบฒเบ™เบฒเบ”เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡. เป€เบ›เบตเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบเป‚เบ—เบฅเบฐเป€เบฅเบ. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เป€เบญเบเบฐเบชเบฒเบ™เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™ voluminous เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบเปˆเบฒเบงเบซเบฒเบงเปˆเบฒเบ‚เบฝเบ™เป‚เบ”เบ Nikolai Durov เปเบฅเบฐเบญเบฐเบ—เบดเบšเบฒเบเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”. เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบžเบฒเบ”เบกเบฑเบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ—เปˆเบฒเบ™เบญเปˆเบฒเบ™ retelling เบ‚เบญเบ‡เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเป€เบญเบเบฐเบชเบฒเบ™เบ™เบตเป‰ (เบชเปˆเบงเบ™ 1, เบชเปˆเบงเบ™ 2; เบชเปˆเบงเบ™เบ—เบตเบชเบฒเบก, เบญเบฐเบ™เบดเบˆเบฒ, เบเบฑเบ‡เป€เบเบฑเบšเบ‚เบตเป‰เบเบธเปˆเบ™เบขเบนเปˆเปƒเบ™เบฎเปˆเบฒเบ‡).

เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ™เบฑเป‰เบ™เบกเบฒ, เบšเปเปˆเบกเบตเบ‚เปˆเบฒเบงเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบเปˆเบฝเบงเบเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบžเบฒเบšเบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ TON เบˆเบปเบ™เบเปˆเบงเบฒเบชเบญเบ‡เบชเบฒเบกเบกเบทเป‰เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰ (เปƒเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡ เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบ—เบตเปˆเบšเปเปˆเป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™) เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบ›เบซเบฒเบซเบ™เป‰เบฒเบšเปเปˆเบ›เบฒเบเบปเบ” https://test.ton.org/download.html, เบ—เบตเปˆโ€‹เบ•เบฑเป‰เบ‡โ€‹เบขเบนเปˆโ€‹:
โ—ฆ ton-test-liteclient-full.tar.xz โ€” เปเบซเบผเปˆเบ‡เบฅเบนเบเบ„เป‰เบฒเปเบชเบ‡เบชเบฐเบซเบงเปˆเบฒเบ‡เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš TON;
โ—ฆ ton-lite-client-test1.config.json โ€” เป„เบŸเบฅโ€‹เปŒโ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เบเบฑเบšโ€‹เป€เบ„เบทเบญโ€‹เบ‚เปˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹;
โ—ฆ README โ€” เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบเปเปˆโ€‹เบชเป‰เบฒเบ‡โ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เป€เบ›เบตเบ”โ€‹เบ•เบปเบงโ€‹เบฅเบนเบโ€‹เบ„เป‰เบฒโ€‹;
โ—ฆ เบงเบดเบ—เบต โ€” เบ„เปเบฒโ€‹เปเบ™เบฐโ€‹เบ™เปเบฒโ€‹เบšเบฒเบ”โ€‹เบเป‰เบฒเบงโ€‹เป‚เบ”เบโ€‹เบ‚เบฑเป‰เบ™โ€‹เบ•เบญเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡โ€‹เบชเบฑเบ™โ€‹เบเบฒ smart เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบฅเบนเบโ€‹เบ„เป‰เบฒโ€‹;
โ—ฆ ton.pdf โ€” เป€เบญเบเบฐเบชเบฒเบ™เบชเบฐเบšเบฑเบšเบ›เบฑเบšเบ›เบธเบ‡ (เบงเบฑเบ™เบ—เบต 2 เบกเบตเบ™เบฒ 2019) เบเบฑเบšเบชเบฐเบžเบฒเบšเบฅเบงเบกเบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™เบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบ TON;
โ—ฆ tvm.pdf โ€” เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ”โ€‹เบ”เป‰เบฒเบ™โ€‹เบงเบดโ€‹เบŠเบฒโ€‹เบเบฒเบ™โ€‹เบ‚เบญเบ‡ TVM (TON Virtual Machine, TON virtual machine);
โ—ฆ tblkch.pdf โ€” เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ”โ€‹เบ”เป‰เบฒเบ™โ€‹เบงเบดโ€‹เบŠเบฒโ€‹เบเบฒเบ™โ€‹เบ‚เบญเบ‡ TON blockchainโ€‹;
โ—ฆ fifthbase.pdf โ€” เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ”โ€‹เบ‚เบญเบ‡โ€‹เบžเบฒโ€‹เบชเบฒ Fift เปƒเบซเบกเปˆโ€‹, เบญเบญเบโ€‹เปเบšเบšโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡โ€‹เบชเบฑเบ™โ€‹เบเบฒ smart เปƒเบ™ TONโ€‹.

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป€เบงเบปเป‰เบฒเบ„เบทเบ™เบงเปˆเบฒ, เบšเปเปˆเบกเบตเบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบซเบ™เป‰เบฒเปเบฅเบฐเป€เบญเบเบฐเบชเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฒเบ Telegram, เปเบ•เปˆเบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰. เป€เบ›เบตเบ”เบ•เบปเบงเบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเป€เบœเบตเบเปเบœเปˆ เบขเบนเปˆเปƒเบ™เบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡.

เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบฅเบนเบเบ„เป‰เบฒเบ—เบปเบ”เบชเบญเบš

เบ—เปเบฒเบญเบดเบ”, เปƒเบซเป‰เบžเบฐเบเบฒเบเบฒเบกเบชเป‰เบฒเบ‡เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบฅเบนเบเบ„เป‰เบฒเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš - เป‚เบŠเบเบ”เบต, README เบญเบฐเบ—เบดเบšเบฒเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบ™เบตเป‰เปƒเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”. เบ‚เป‰เบญเบเบˆเบฐเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰เป‚เบ”เบเปƒเบŠเป‰ macOS 10.14.5 เป€เบ›เบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡; เบ‚เป‰เบญเบเบšเปเปˆเบชเบฒเบกเบฒเบ”เบขเบทเบ™เบขเบฑเบ™เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบชเปเบฒเป€เบฅเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปƒเบ™เบฅเบฐเบšเบปเบšเบญเบทเปˆเบ™เป†.

  1. เบ”เบฒเบงโ€‹เบ™โ€‹เปŒโ€‹เป‚เบซเบฅเบ”โ€‹เปเบฅเบฐ unpackโ€‹ เบฎเบงเบšเบฎเบงเบกเปเบซเบผเปˆเบ‡. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡ เบชเบณ เบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ”เบฒเบงเป‚เบซเบฅเบ”เบฅเบธเป‰เบ™เบฅเป‰เบฒเบชเบธเบ”เป€เบžเบฒเบฐเบงเปˆเบฒเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เปƒเบ™เบ”เป‰เบฒเบ™เบซเบฅเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ™เบตเป‰.

  2. เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเป€เบงเบตเบŠเบฑเบ™เบซเบผเป‰เบฒเบชเบธเบ”เบ‚เบญเบ‡ make, cmake (เบฎเบธเปˆเบ™ 3.0.2 เบซเบผเบทเบชเบนเบ‡เบเบงเปˆเบฒ), OpenSSL (เบฅเบงเบกเบ—เบฑเบ‡เป„เบŸเบฅเปŒเบชเปˆเบงเบ™เบซเบปเบง C), g++ เบซเบผเบท clang เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบš. เบ‚เป‰เบญเบเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบซเบเบฑเบ‡, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบกเบฒเบฎเปˆเบงเบกเบเบฑเบ™เบ—เบฑเบ™เบ—เบต.

  3. เปƒเบซเป‰เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เบ–เบทเบ unpacked เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป‚เบŸเบ™เป€เบ”เบต ~/lite-client. เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบˆเบฒเบเบกเบฑเบ™, เบชเป‰เบฒเบ‡เป‚เบŸเบ™เป€เบ”เบตเบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒเบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ›เบฐเบเบญเบš (เบ•เบปเบงเบขเปˆเบฒเบ‡, ~/liteclient-build), เปเบฅเบฐโ€‹เบˆเบฒเบโ€‹เบกเบฑเบ™ (cd ~/liteclient-build) เป‚เบ—โ€‹เบซเบฒโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹:

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

    เบ—เบปเบ”เบชเบญเบšเบฅเบนเบเบ„เป‰เบฒ TON (Telegram Open Network) เปเบฅเบฐเบžเบฒเบชเบฒ Fift เปƒเปเปˆเบชเบณเบฅเบฑเบšเบชเบฑเบ™เบเบฒเบญเบฑเบ”เบชเบฐเบฅเบดเบเบฐ

    เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบ™เบฒเบเบžเบฒเบชเบฒ Fift เบชเปเบฒเบฅเบฑเบšเบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ” (เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰), เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เป‚เบ—เบซเบฒ

    cmake --build . --target fift

  4. เบ”เบฒเบงโ€‹เป‚เบซเบฅเบ”โ€‹เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹ เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ เป€เบžเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบฅเบฐเป€เบญเบปเบฒเปƒเบชเปˆเปƒเบ™เป‚เบŸเบ™เป€เบ”เบตเบ—เบตเปˆเบกเบตเบฅเบนเบเบ„เป‰เบฒเบ›เบฐเบเบญเบš.

  5. เป€เบฎเบฑเบ”เปเบฅเป‰เบง, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบฅเบนเบเบ„เป‰เบฒ:

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

เบ–เป‰เบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ–เบทเบเป€เบฎเบฑเบ”เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡, เบ—เปˆเบฒเบ™เบ„เบงเบ™เป€เบซเบฑเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

เบ—เบปเบ”เบชเบญเบšเบฅเบนเบเบ„เป‰เบฒ TON (Telegram Open Network) เปเบฅเบฐเบžเบฒเบชเบฒ Fift เปƒเปเปˆเบชเบณเบฅเบฑเบšเบชเบฑเบ™เบเบฒเบญเบฑเบ”เบชเบฐเบฅเบดเบเบฐ

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰, เบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบกเบตเบขเบนเปˆเบˆเปเบฒเบ™เบงเบ™เบซเบ™เป‰เบญเบ:
โ—ฆ help โ€” เบชเบฐโ€‹เปเบ”เบ‡โ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบฅเบฒเบโ€‹เบเบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เบ™เบตเป‰โ€‹;
โ—ฆ quit - เบญเบญเบโ€‹เป„เบ›โ€‹เบ™เบญเบ;
โ—ฆ time โ€” เบชเบฐโ€‹เปเบ”เบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ›เบฐโ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เปเบกเปˆโ€‹เบ‚เปˆเบฒเบโ€‹;
โ—ฆ status โ€” เบชเบฐโ€‹เปเบ”เบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เปเบฅเบฐโ€‹เบชเบฐโ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เบžเบฒเบšโ€‹เบ–เบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ—เป‰เบญเบ‡โ€‹เบ–เบดเปˆเบ™โ€‹;
โ—ฆ last โ€” เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบชเบฐโ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เบ‚เบญเบ‡ blockchain (เบ”เบฒเบงโ€‹เป‚เบซเบฅเบ” block เบชเบธเบ”โ€‹เบ—เป‰เบฒเบโ€‹)โ€‹. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบฎเป‰เบญเบ‡เบ‚เปเปƒเบ”เป†เป€เบžเบทเปˆเบญเปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบ—เปˆเบฒเบ™เป€เบซเบฑเบ™เบชเบฐเบ–เบฒเบ™เบฐเบ›เบฐเบˆเบธเบšเบฑเบ™เบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบ.
โ—ฆ sendfile <filename> โ€” เบญเบฑเบšเป‚เบซเบผเบ”เป„เบŸเบฅเปŒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปƒเบชเปˆเป€เบ„เบทเบญเบ‚เปˆเบฒเบ TON. เบ™เบตเป‰เปเบกเปˆเบ™เบงเบดเบ—เบตเบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเป€เบเบตเบ”เบ‚เบถเป‰เบ™ - เบฅเบงเบกเบ—เบฑเบ‡, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบชเป‰เบฒเบ‡เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปƒเบซเบกเปˆเปเบฅเบฐเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เป‚เบญเบ™เป€เบ‡เบดเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบšเบฑเบ™เบŠเบต;
โ—ฆ getaccount <address> - เบชเบฐโ€‹เปเบ”เบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เบ›เบฐโ€‹เบˆเบธโ€‹เบšเบฑเบ™ (เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹) last) เบชเบฐโ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เบžเบฒเบšโ€‹เบ‚เบญเบ‡โ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบ—เบตเปˆโ€‹เบขเบนเปˆโ€‹เบฅเบฐโ€‹เบšเบธโ€‹เป„เบงเป‰โ€‹;
โ—ฆ privkey <filename> โ€” เป‚เบซเบผเบ”เบฅเบฐเบซเบฑเบ”เบชเปˆเบงเบ™เบ•เบปเบงเบˆเบฒเบเป„เบŸเบฅเปŒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™.

เบ–เป‰เบฒ, เป€เบกเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบฅเบนเบเบ„เป‰เบฒ, เบ—เปˆเบฒเบ™เป‚เบญเบ™เป‚เบŸเบ™เป€เบ”เบตเป„เบ›เบซเบฒเบกเบฑเบ™เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบ -D, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบฅเบฒเบงเบˆเบฐเป€เบžเบตเปˆเบก block เบชเบธเบ”เบ—เป‰เบฒเบเบ‚เบญเบ‡ masterchain เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบกเบฑเบ™:

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

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบเป‰เบฒเบงเป„เบ›เบชเบนเปˆเบชเบดเปˆเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบซเบผเบฒเบ - เบฎเบฝเบ™เบฎเบนเป‰เบžเบฒเบชเบฒ Fift, เบžเบฐเบเบฒเบเบฒเบกเบฅเบงเบšเบฅเบงเบกเบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ” (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเป‰เบฒเบ‡เบเบฐเป€เบ›เบปเบฒเป€เบ‡เบดเบ™เบ—เบปเบ”เบชเบญเบš), เบญเบฑเบšเป‚เบซเบผเบ”เบกเบฑเบ™เปƒเบชเปˆเป€เบ„เบทเบญเบ‚เปˆเบฒเบเปเบฅเบฐเบžเบฐเบเบฒเบเบฒเบกเป‚เบญเบ™เป€เบ‡เบดเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบšเบฑเบ™เบŠเบต.

เบžเบฒเบชเบฒเบซเป‰เบฒ

เบˆเบฒเบเป€เบญเบเบฐเบชเบฒเบ™ fifthbase.pdf เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ„เบปเป‰เบ™เบžเบปเบšเบงเปˆเบฒเบ—เบตเบกเบ‡เบฒเบ™ Telegram เป„เบ”เป‰เบชเป‰เบฒเบ‡เบžเบฒเบชเบฒ stack เปƒเบซเบกเปˆเป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ” เบซเป‰เบฒ (เบ›เบฒเบเบปเบ”เบ‚เบทเป‰เบ™เบˆเบฒเบเบ•เบปเบงเป€เบฅเบ เบซเป‰เบฒ, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš Forth, เบžเบฒเบชเบฒเบ—เบตเปˆเบซเป‰เบฒเบกเบตเบซเบผเบฒเบเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™).

เป€เบญเบเบฐเบชเบฒเบ™เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡ voluminous, 87 เบซเบ™เป‰เบฒ, เปเบฅเบฐเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบšเปเปˆ retel เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบ•เบปเบ™เปƒเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบžเบฒเบเปƒเบ™เบ‚เบญเบšเบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰ (เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบญเปˆเบฒเบ™เบกเบฑเบ™เป€เบญเบ‡เบชเปเบฒเป€เบฅเบฑเบ” :). เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบชเบธเบกเปƒเบชเปˆเบˆเบธเบ”เบ•เบปเป‰เบ™เบ•เปเปเบฅเบฐเปƒเบซเป‰เบชเบญเบ‡เบชเบฒเบกเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เปƒเบ™เบžเบฒเบชเบฒเบ™เบตเป‰.

เปƒเบ™เบฅเบฐเบ”เบฑเบšเบžเบทเป‰เบ™เบ–เบฒเบ™, syntax เบ‚เบญเบ‡ Fift เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ: เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบกเบฑเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบ เบ„เปเบฒเป€เบงเบปเป‰เบฒ, เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบ–เบทเบเปเบเบเบญเบญเบเป‚เบ”เบเบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡เบซเบผเบทเป€เบชเบฑเป‰เบ™เปเบšเปˆเบ‡ (เบเปเบฅเบฐเบ™เบตเบžเบดเป€เบชเบ”: เบšเบฒเบ‡เบ„เปเบฒเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบ•เบปเบงเปเบเบเบซเบผเบฑเบ‡เบˆเบฒเบเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡). เปƒเบ” เบ„เปเบฒเบงเปˆเบฒ เปเบกเปˆเบ™เบฅเบณเบ”เบฑเบšเบ•เบปเบงเบฅเบฐเบ„เบญเบ™เบ—เบตเปˆเบฅเบฐเบญเบฝเบ”เบญเปˆเบญเบ™เบ‚เบญเบ‡เบ•เบปเบงเบฅเบฐเบ„เบญเบ™เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบšเบญเบฑเบ™เปƒเบ”เบ™เบถเปˆเบ‡ เบ™เบดเบเบฒเบก (เป‚เบ”เบเบ›เบฐเบกเบฒเบ™, เบชเบดเปˆเบ‡เบ—เบตเปˆเบ™เบฒเบเบžเบฒเบชเบฒเบ„เบงเบ™เป€เบฎเบฑเบ”เป€เบกเบทเปˆเบญเบกเบฑเบ™เบžเบปเบšเบเบฑเบšเบ„เปเบฒเบ™เบตเป‰). เบ–เป‰เบฒเบšเปเปˆเบกเบตเบ„เปเบฒเบ™เบดเบเบฒเบกเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเบšเปƒเบ”เบซเบ™เบถเปˆเบ‡, เบ™เบฒเบเบžเบฒเบชเบฒเบžเบฐเบเบฒเบเบฒเบกเปเบเบเบกเบฑเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเป€เบฅเบเปเบฅเบฐเบงเบฒเบ‡เป„เบงเป‰เปƒเบ™ stack. เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบ•เบปเบงเป€เบฅเบเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เปเบกเปˆเบ™ - เบ—เบฑเบ™เบ—เบตเบ—เบฑเบ™เปƒเบ” - เบˆเปเบฒเบ™เบงเบ™ 257-เบšเบดเบ”, เปเบฅเบฐเบšเปเปˆเบกเบตเป€เบชเบ”เบชเปˆเบงเบ™เปƒเบ”เป† - เบซเบผเบฒเบเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™, เบžเบงเบเบกเบฑเบ™เบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™เบˆเปเบฒเบ™เบงเบ™เป€เบ•เบฑเบก, เบ›เบฐเบเบญเบšเป€เบ›เบฑเบ™เบ•เบปเบงเป€เบฅเบเปเบฅเบฐเบ•เบปเบงเบซเบฒเบ™เบ‚เบญเบ‡เป€เบชเบ”เบชเปˆเบงเบ™เบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™.

เบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป†เบกเบตเปเบ™เบงเป‚เบ™เป‰เบกเบ—เบตเปˆเบˆเบฐเบžเบปเบงเบžเบฑเบ™เบเบฑเบšเบ„เปˆเบฒเบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡ stack. เบ›เบฐโ€‹เป€เบžเบ”โ€‹เปเบเบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบซเบฒเบโ€‹เบ‚เบญเบ‡โ€‹เบ„เปเบฒโ€‹เบชเบฑเบšโ€‹เบ•เปˆเบฒเบ‡เป† - เบ„เบณเบ™เบณเปœเป‰เบฒ โ€” เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ stack เป„เบ”เป‰โ€‹, เปเบ•เปˆโ€‹เบงเปˆเบฒโ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบ•เปเปˆโ€‹เบกเบฒโ€‹เบˆเบฒเบโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เปเบซเบผเปˆเบ‡โ€‹. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ™เบตเป‰เปเบกเปˆเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบซเบ™เบฑเบ‡เบชเบทเบชเบฐเบ•เบฃเบดเบ‡ - เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡ (") เปเบกเปˆเบ™เบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆเบŠเบญเบเบซเบฒเบ„เปเบฒเบญเป‰เบฒเบ‡เบญเบตเบ‡เบ•เปเปˆเป„เบ› (เบ›เบดเบ”), เปเบฅเบฐเบเบนเป‰เบชเบฒเบเบฅเบฐเบซเบงเปˆเบฒเบ‡เบžเบงเบเบกเบฑเบ™เปƒเบชเปˆ stack. เป€เบชเบฑเป‰เบ™เปœเบถเปˆเบ‡เบ›เบฐเบžเบถเบ”เบ•เบปเบงเปเบšเบšเบ”เบฝเบงเบเบฑเบ™ (//) เปเบฅเบฐเบซเบผเบฒเบเปเบ–เบง (/*) เบ„เปเบฒโ€‹เป€เบซเบฑเบ™โ€‹.

เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเป€เบเบทเบญเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบฒเบเปƒเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡. เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบญเบทเปˆเบ™ (เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ„เบงเบšเบ„เบธเบก) เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™เบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป† (เบžเบฒเบเปƒเบ™, เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เป€เบฅเบเบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เปเบฅเบฐเบ„เปเบฒเบ™เบดเบเบฒเบกเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเบšเปƒเบซเบกเปˆ; เบซเบผเบทเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™ "เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™" Fift.fif, เป€เบŠเบดเปˆเบ‡เบขเบนเปˆเปƒเบ™เป‚เบŸเบ™เป€เบ”เบต crypto/fift เปƒเบ™เปเบซเบผเปˆเบ‡).

เป‚เบ„เบ‡เบเบฒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเป†เปƒเบ™ Fift:

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

เปเบ–เบงเบ—เปเบฒเบญเบดเบ”เบเปเบฒเบ™เบปเบ”เบ„เปเบฒเปƒเบซเบกเปˆ setxy (เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹เบ„เปเบฒโ€‹เบ™เปเบฒโ€‹เบซเบ™เป‰เบฒโ€‹ {, เป€เบŠเบดเปˆเบ‡เบชเป‰เบฒเบ‡เบ•เบฑเบ™เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ›เบดเบ”เบซเบ™เบถเปˆเบ‡ } เปเบฅเบฐเบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒ :, เบŠเบถเปˆเบ‡เปƒเบ™เบ•เบปเบงเบˆเบดเบ‡เปเบกเปˆเบ™เบเปเบฒเบ™เบปเบ”เบ„เปเบฒเบชเบฑเบš). setxy เป€เบญเบปเบฒเบ•เบปเบงเป€เบฅเบเบˆเบฒเบเบ”เป‰เบฒเบ™เป€เบ—เบดเบ‡เบ‚เบญเบ‡ stack, เบเปเบฒเบ™เบปเบ” (เบซเบผเบท redefines) เบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบปเปˆเบงเป‚เบฅเบ เบ„เบปเบ‡เบ—เบตเปˆ x, เปเบฅเบฐเบชเบตเปˆเบซเบผเปˆเบฝเบกเบ‚เบญเบ‡เบ•เบปเบงเป€เบฅเบเบ™เบตเป‰เป€เบ›เบฑเบ™เบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆ y (เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ„เบธเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เปƒเบซเบกเปˆ, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบญเบตเป‰เบ™เบงเปˆเบฒเบ•เบปเบงเปเบ›, เปเบ•เปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบชเบปเบ™เบ—เบดเบชเบฑเบ™เบเบฒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบŠเบทเปˆเปƒเบ™เบžเบฒเบชเบฒ).

เบชเบญเบ‡เบชเบฒเบเบ•เปเปˆเป„เบ›เปƒเบชเปˆเบ•เบปเบงเป€เบฅเบเปƒเบชเปˆ stack เปเบฅเบฐเป‚เบ—เบซเบฒ setxy, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆเบˆเบฐเบ–เบทเบเบชเบฐเปเบ”เบ‡ x, y (เบ„เปเบฒเบ—เบตเปˆเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” .), เบ—เบฑเบ‡เบชเบญเบ‡เบ„เปˆเบฒเบ„เบปเบ‡เบ—เบตเปˆเปเบกเปˆเบ™เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™ stack, summed, เปเบฅเบฐเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฑเบ‡เบ–เบทเบเบžเบดเบกเบญเบญเบ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบซเบฑเบ™:

3 9 12 ok
7 49 56 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 Virtual Machine (เบ‚เป‰เบญเบเบˆเบฐเบšเปเปˆเบขเบนเปˆเปƒเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”), เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ—เบตเปˆเบˆเบฐเบงเบฒเบ‡เป„เบงเป‰เปƒเบ™ blockchain.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ•เบปเบงเบ›เบฐเบเบญเบšเบชเปเบฒเบฅเบฑเบš TVM เปเบกเปˆเบ™เบ‚เบฝเบ™เปƒเบ™ Fift - เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เบ•เบปเบงเบ›เบฐเบเบญเบšเบ™เบตเป‰เบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒ crypto/fift/Asm.fif เปเบฅเบฐเบ–เบทเบเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡.

เบ‚เป‰เบญเบเบชเบฒเบกเบฒเบ”เป€เบงเบปเป‰เบฒเบซเบเบฑเบ‡เป„เบ”เป‰, เบ›เบฒเบเบปเบ”เบ‚เบทเป‰เบ™ Nikolai Durov เบžเบฝเบ‡เปเบ•เปˆเบฎเบฑเบเบเบฒเบ™เบชเป‰เบฒเบ‡เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเปƒเบซเบกเปˆ :)

เบเบฒเบ™เบชเป‰เบฒเบ‡เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปเบฅเบฐเบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบเบฑเบš TON

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบซเป‰เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฅเบงเบšเบฅเบงเบกเบฅเบนเบเบ„เป‰เบฒ TON เปเบฅเบฐเบ™เบฒเบเบžเบฒเบชเบฒ Fift เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เปเบฅเบฐเบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบšเบžเบฒเบชเบฒ. เบงเบดเบ—เบตเบเบฒเบ™เบชเป‰เบฒเบ‡เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™? เบ™เบตเป‰เปเบกเปˆเบ™เบญเบฐเบ—เบดเบšเบฒเบเบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒ เบงเบดเบ—เบต, เบ•เบดเบ”เบเบฑเบšเปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™.

เบšเบฑเบ™เบŠเบตเปƒเบ™ TON

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™ TON เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™, เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ™เบตเป‰เบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡ blockchain - เบกเบตเบซเบ™เบถเปˆเบ‡เบ—เบปเปˆเบงเป„เบ›, เบญเบฑเบ™เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ. "เบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš", เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบˆเปเบฒเบ™เบงเบ™ arbitrary เบ‚เบญเบ‡ "เบ•เปˆเบญเบ‡เป‚เบชเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ", เบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบˆเปเบฒเบ™เบงเบ™ 32-bit. เป€เบŠเบ™เบซเบผเบฑเบเบกเบตเบ•เบปเบงเบฅเบฐเบšเบธเบ‚เบญเบ‡ -1; เบ™เบญเบเป€เปœเบทเบญเป„เบ›เบˆเบฒเบเบ™เบฑเป‰เบ™, เบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ "เบžเบทเป‰เบ™เบ–เบฒเบ™" เบ—เบตเปˆเบกเบตเบ•เบปเบงเบฅเบฐเบšเบธ 0 เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰. เบžเบฒเบเปƒเบ™, เปเบ•เปˆเบฅเบฐ workchain เปเบšเปˆเบ‡เบญเบญเบเป€เบ›เบฑเบ™ shardchains, เปเบ•เปˆเบ™เบตเป‰เปเบกเปˆเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เปƒเบˆ.

เบžเบฒเบเปƒเบ™ one workchain, เบซเบผเบฒเบเบšเบฑเบ™เบŠเบตเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เบ—เบตเปˆเบกเบตเบ•เบปเบงเบฅเบฐเบšเบธ account_id เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡. เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเปเบฅเบฐเบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบชเบนเบ™, เบžเบงเบเบกเบฑเบ™เบเบฒเบง 256 เบšเบดเบ”. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ•เบปเบงเบฅเบฐเบšเบธเบšเบฑเบ™เบŠเบตเปเบกเปˆเบ™เบ‚เบฝเบ™, เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

-1:8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d

เบ™เบตเป‰เปเบกเปˆเบ™เบฎเบนเบšเปเบšเบš "เบงเบฑเบ”เบ–เบธเบ”เบดเบš": เบ—เปเบฒเบญเบดเบ” ID เบŠเปˆเบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบ›เบฑเบ™เบˆเปเป‰เบฒเบชเบญเบ‡เป€เบกเบฑเบ”, เปเบฅเบฐ ID เบšเบฑเบ™เบŠเบตเบขเบนเปˆเปƒเบ™เบซเบกเบฒเบเป€เบฅเบเบ–เบฒเบ™เบชเบดเบšเบซเบปเบ.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฑเบ‡เบกเบตเบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบชเบฑเป‰เบ™เบฅเบปเบ‡ - เบˆเปเบฒเบ™เบงเบ™ workchain เปเบฅเบฐเบ—เบตเปˆเบขเบนเปˆเบšเบฑเบ™เบŠเบตเบ–เบทเบเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เปƒเบ™เบฎเบนเบšเปเบšเบšเบ–เบฒเบ™เบชเบญเบ‡, checksum เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเบžเบงเบเป€เบ‚เบปเบฒ, เปเบฅเบฐเบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบ–เบทเบเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เปƒเบ™ 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 - เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เบชเบฑเบ™โ€‹เบเบฒ smartโ€‹, เปเบฅเบฐโ€‹เปƒเบ™โ€‹ storage.state.data - เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เปƒเบ™โ€‹เบ›เบฐโ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹. เบเบฐเบฅเบธเบ™เบฒเบฎเบฑเบšเบŠเบฒเบšเบงเปˆเบฒเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™ TON - เป€เบŠเบ™, เป€เบŠเบ™ - เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบ•เบปเป‰เบ™เป„เบกเป‰, เปเบ•เปˆเบฅเบฐเป€เบŠเบ™เบชเบฒเบกเบฒเบ”เบกเบตเบ—เบฑเบ‡เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เปเบฅเบฐเบˆเบธเบฅเบฑเบ‡เบฅเบนเบ. เบญเบฑเบ™เบ™เบตเป‰เบชเบฐเปเบ”เบ‡เป€เบ›เบฑเบ™เบเบฒเบ™เบซเบเปเป‰เปœเป‰เบฒเปƒเบ™เปเบ–เบงเบชเบธเบ”เบ—เป‰เบฒเบ.

เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ”เป‰เบงเบเบ•เบปเบงเป€เบฎเบปเบฒเป€เบญเบ‡ (เบกเบฑเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒ BOC - เบ–เบปเบ‡เบˆเบธเบฅเบฑเบ‡) เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบžเบฒโ€‹เบชเบฒ 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, เบกเบฑเบ™เบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฑเบ™เปเบฅเบฐเบญเบญเบ. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบฅเบฐเป€เบงเบฑเป‰เบ™เบŠเบทเปˆเป„เบŸเบฅเปŒ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบซเบผเบดเป‰เบ™เบเบฑเบšเบ™เบฒเบเบžเบฒเบชเบฒเปเบšเบšเป‚เบ•เป‰เบ•เบญเบšเป„เบ”เป‰.

เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰เบ„เบงเบ™เบˆเบฐเบ–เบทเบเบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™ console:

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)

เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบเบฐเป€เบ›เบปเบฒเป€เบ‡เบดเบ™เบ—เบตเปˆเบกเบต ID -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), เปเบฅเบฐ seqno เบ‚เบญเบ‡ wallet เบ‚เบญเบ‡เบ—เปˆเบฒเบ™ (เบกเบฑเบ™เป€เบ—เบปเปˆเบฒเบเบฑเบš 1 เบซเบผเบฑเบ‡เบˆเบฒเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ wallet เปเบฅเบฐเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™ 1 เบซเบผเบฑเบ‡เบˆเบฒเบเปเบ•เปˆเบฅเบฐเบ—เบธเบฅเบฐเบเปเบฒเบ—เบตเปˆเบญเบญเบ - เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”. เป€เบšเบดเปˆเบ‡เบกเบฑเบ™เป‚เบ”เบเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบšเบฑเบ™เบŠเบตเบ‚เบญเบ‡เบ—เปˆเบฒเบ™). เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, wallet เบ‚เบญเบ‡เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒ - 0x4fcd520b8fcca096b567d734be3528edc6bed005f6930a9ec9ac1aa714f211f2.

เปƒเบ™โ€‹เบเบฒเบ™โ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™ (./crypto/fift wallet.fif) script เบˆเบฐเป€เบญเบปเบฒเบ—เบตเปˆเบขเบนเปˆเบ‚เบญเบ‡ wallet เบ‚เบญเบ‡เบ—เปˆเบฒเบ™ (เบˆเบฒเบเบšเปˆเบญเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เป‚เบญเบ™) เปเบฅเบฐเบฅเบฐเบซเบฑเบ”เบชเปˆเบงเบ™เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เบˆเบฒเบเป„เบŸเบฅเปŒ new-wallet.addr ะธ new-wallet.pk, เปเบฅเบฐเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เป€เบ–เบดเบ‡ new-wallet-query.boc.

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเป‚เบ”เบเบเบปเบ‡, เป‚เบ—เบซเบฒ sendfile new-wallet-query.boc เปƒเบ™โ€‹เบฅเบนเบโ€‹เบ„เป‰เบฒโ€‹. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบตเป‰, เบขเปˆเบฒเบฅเบทเบกเบ›เบฑเบšเบ›เบธเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡ blockchain (last) เปเบฅเบฐเบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบเบญเบ”เป€เบ‡เบดเบ™เปเบฅเบฐ seqno เบ‚เบญเบ‡เบเบฐเป€เบ›เบปเบฒเป€เบ‡เบดเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ (getaccount <account_id>).

เบ—เบปเบ”เบชเบญเบšเบฅเบนเบเบ„เป‰เบฒ TON (Telegram Open Network) เปเบฅเบฐเบžเบฒเบชเบฒ Fift เปƒเปเปˆเบชเบณเบฅเบฑเบšเบชเบฑเบ™เบเบฒเบญเบฑเบ”เบชเบฐเบฅเบดเบเบฐ

เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบชเบฑเบ™เบเบฒเบชเบฐเบซเบกเบฒเบ”เปƒเบ™ TON เปเบฅเบฐเบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒ. เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰, เบซเบ™เป‰เบฒเบ—เบตเปˆเบ›เบฐเบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™เบžเบฝเบ‡เบžเปเปเบฅเป‰เบง, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฐเป€เบ›เบปเบฒเป€เบ‡เบดเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบกเบดเบ”เบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบกเบตเบเบฒเบŸเบดเบ (เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ„เบฒเบ”เบงเปˆเบฒเบˆเบฐเบกเบตเบขเบนเปˆเปƒเบ™เบชเปˆเบงเบ™เบ‚เบญเบ‡เบœเบนเป‰เบชเบปเปˆเบ‡เบ‚เปˆเบฒเบง).

เบžเบฝเบ‡เปเบ•เปˆเบœเบนเป‰เปƒเบŠเป‰เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปƒเบ™เบเบฒเบ™เบชเปเบฒเบซเบผเบงเบ”. เป€เบ‚เบปเป‰เบฒโ€‹เบชเบนเปˆโ€‹เบฅเบฐโ€‹เบšเบปเบšเบเบฐเบฅเบธเบ™เบฒ.

เบ—เปˆเบฒเบ™เบกเบตเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเปƒเบ™เบเบฒเบ™เบชเบทเบšเบ•เปเปˆเบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบกเบตเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบ‚เบญเบ‡ TON, TVM, Fift เบšเป?

  • เปเบกเปˆเบ™เปเบฅเป‰เบง, เบ‚เป‰เบญเบ เบเบณ เบฅเบฑเบ‡เบฅเปเบ–เป‰เบฒเบเบฒเบ™ เบชเบณ เป€เบฅเบฑเบ”เบ‚เบญเบ‡เบŠเบธเบ”เบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบกเบตเบžเบฒเบšเบฅเบงเบกเบ‚เบญเบ‡ TON

  • เปเบกเปˆเบ™เปเบฅเป‰เบง, เบกเบฑเบ™เบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบ—เบตเปˆเบˆเบฐเบญเปˆเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบžเบฒเบชเบฒ Fift

  • เปเบกเปˆเบ™เปเบฅเป‰เบง, เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบš TON Virtual Machine เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบ›เบฐเบเบญเบšเบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™

  • เบšเปเปˆ, เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆ

39 เบœเบนเป‰เปƒเบŠเป‰เบฅเบปเบ‡เบ„เบฐเปเบ™เบ™เบชเบฝเบ‡. 12 เบœเบนเป‰เปƒเบŠเป‰เบ‡เบปเบ”.

เบ—เปˆเบฒเบ™เบ„เบดเบ”เปเบ™เบงเปƒเบ”เบเปˆเบฝเบงเบเบฑเบšเปเบœเบ™เบเบฒเบ™เบ‚เบญเบ‡ Telegram เบ—เบตเปˆเบˆเบฐเป€เบ›เบตเบ”เบ•เบปเบง TON?

  • เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบกเบตเบ„เบงเบฒเบกเบซเบงเบฑเบ‡เบชเบนเบ‡เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ™เบตเป‰

  • เบ‚เป‰เบญเบเบžเบฝเบ‡เปเบ•เปˆเบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เบกเบฑเบ™เบ”เป‰เบงเบเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆ.

  • เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบšเปเปˆโ€‹เป€เบŠเบทเปˆเบญโ€‹เปเบฅเบฐโ€‹เบชเบปเบ‡โ€‹เปƒเบชโ€‹เบ„เบงเบฒเบกโ€‹เบชเปเบฒโ€‹เป€เบฅเบฑเบ”โ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹.

  • เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบกเบตเปเบ™เบงเป‚เบ™เป‰เบกเบ—เบตเปˆเบˆเบฐเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบเบฒเบ™เบฅเบดเป€เบฅเบตเปˆเบกเบ™เบตเป‰เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบงเปเบฅเบฐเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบกเบฐเบซเบฒเบŠเบปเบ™เบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡

47 เบœเบนเป‰เปƒเบŠเป‰เบฅเบปเบ‡เบ„เบฐเปเบ™เบ™เบชเบฝเบ‡. 12 เบœเบนเป‰เปƒเบŠเป‰เบ‡เบปเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™