ื˜ืขืกื˜ ืงืœื™ืขื ื˜ TON (ื˜ืขืœืขื’ืจืึทื ืขืคึฟืŸ ื ืขื˜ื•ื•ืึธืจืง) ืื•ืŸ ื ื™ื™ึท ืคื™ืคื˜ ืฉืคึผืจืึทืš ืคึฟืึทืจ ืงืœื•ื’ ืงืึทื ื˜ืจืึทืงืฅ

ืžืขืจ ื•ื•ื™ ืึท ื™ืึธืจ ืฆื•ืจื™ืง, ืขืก ืื™ื– ื’ืขื•ื•ืืจืŸ ื‘ืึทื•ื•ื•ืกื˜ ื•ื•ืขื’ืŸ ื“ื™ ืคึผืœืึทื ื– ืคื•ืŸ ื“ื™ ื˜ืขืœืขื’ืจืึทื ืฉืœื™ื— ืฆื• ืžืขืœื“ื•ื ื’ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื“ื™ืกืขื ื˜ืจืึทืœื™ื™ื–ื“ ื ืขืฅ ื˜ืขืœืขื’ืจืึทื ืขืคึฟืŸ ื ืขื˜ื•ื•ืึธืจืง. ื“ืขืจื ืึธืš ืื™ื– ื‘ื ื™ืžืฆื ืึท ื•ื•ืึทืœื•ืžืึทื ืึทืก ื˜ืขื›ื ื™ืฉ ื“ืึธืงื•ืžืขื ื˜, ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ืึทืœืขื“ื–ืฉืึทื“ืœื™ ื’ืขืฉืจื™ื‘ืŸ ื“ื•ืจืš ื ื™ืงืึธืœืึทื™ ื“ื•ืจืึธื•ื• ืื•ืŸ ื“ื™ืกืงืจื™ื™ื‘ื“ ื“ื™ ืกื˜ืจื•ืงื˜ื•ืจ ืคื•ืŸ ื“ื™ ืฆื•ืงื•ื ืคึฟื˜ ื ืขืฅ. ืคึฟืึทืจ ื“ื™ ื•ื•ืืก ืžื™ืกื˜ ืขืก, ืื™ืš ืจืขืงืึธืžืขื ื“ื™ืจืŸ ืึทื– ืื™ืจ ืœื™ื™ืขื ืขืŸ ืžื™ื™ืŸ ืจื™ื˜ื™ื™ืœื™ื ื’ ืคื•ืŸ ื“ืขื ื“ืึธืงื•ืžืขื ื˜ (ื˜ื™ื™ืœ 1, ื˜ื™ื™ืœ 2; ื“ืข ืจ ื“ืจื™ื˜ืข ืจ ื˜ืฒ ืœ ื”ื ื˜ ืฐืฒ , ื ื ืš ื’ืขื–ืืžืœ ื˜ ืฉื˜ื•ื™ื‘ ืข ืื™ ืŸ ื“ืจื•ื™ืืŸ) .

ื–ื™ื ื˜ ื“ืขืžืึธืœื˜, ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืงื™ื™ืŸ ื‘ืึทื˜ื™ื™ื˜ื™ืง ื ื™ื™ึทืขืก ื•ื•ืขื’ืŸ ื“ืขื ืกื˜ืึทื˜ื•ืก ืคื•ืŸ TON ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื‘ื™ื– ืึท ืคึผืึธืจ ืคื•ืŸ ื˜ืขื’ ืฆื•ืจื™ืง (ืื™ืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ืึทื ืึทืคื™ืฉืึทืœ ื˜ืฉืึทื ืึทืœื–) ื“ืขืจ ืœื™ื ืง ืฆื• ื“ืขื ื‘ืœืึทื˜ ืื™ื– ื ื™ืฉื˜ ืืจื•ื™ืก https://test.ton.org/download.html, ื•ื•ื• ื–ืขื ืขืŸ ืœื™ื’ืŸ:
โ—ฆ ton-test-liteclient-full.tar.xz - ืงื•ื•ืืœืŸ ืคื•ืŸ ืึท ืœื™ื›ื˜ ืงืœื™ืขื ื˜ ืคึฟืึทืจ ื“ื™ TON ืคึผืจื•ื‘ื™ืจืŸ ื ืขืฅ;
โ—ฆ ton-lite-client-test1.config.json - ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข ืคึฟืึทืจ ืงืึทื ืขืงื˜ื™ื ื’ ืฆื• ื“ื™ ืคึผืจืึธื‘ืข ื ืขืฅ;
โ—ฆ ืจืขืึทื“ืžืข - ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื‘ื ื™ืŸ ืื•ืŸ ืงืึทื˜ืขืจ ืคื•ืŸ ื“ืขื ืงืœื™ืขื ื˜;
โ—ฆ ื•ื•ื™ ืื–ื•ื™ ืฆื• - ืฉืจื™ื˜-ื“ื•ืจืš-ืฉืจื™ื˜ ื™ื ืกื˜ืจืึทืงืฉืึทื ื– ืื•ื™ืฃ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ืงืœื•ื’ ืงืึธื ื˜ืจืึทืงื˜ ืžื™ื˜ ืึท ืงืœื™ืขื ื˜;
โ—ฆ ton.pdf - ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ื“ืึธืงื•ืžืขื ื˜ (ื“ื™ื™ื˜ื™ื“ 2 ืžืขืจืฅ 2019) ืžื™ื˜ ืึท ื˜ืขื›ื ื™ืฉ ืื™ื‘ืขืจื‘ืœื™ืง ืคื•ืŸ ื“ื™ TON ื ืขืฅ;
โ—ฆ tvm.pdf - ื˜ืขื›ื ื™ืฉ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ TVM (TON ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ, TON ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ);
โ—ฆ tblkch.pdf - ื˜ืขื›ื ื™ืฉ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื“ื™ TON ื‘ืœืึธืงื˜ืฉื™ื™ืŸ;
โ—ฆ fifthbase.pdf - ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื“ื™ ื ื™ื™ึทืข ืคื™ืคื˜ ืฉืคึผืจืึทืš, ื“ื™ื–ื™ื™ื ื“ ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืงืœื•ื’ ืงืึทื ื˜ืจืึทืงืฅ ืื™ืŸ TON.

ืื™ืš ืื™ื‘ืขืจื—ื–ืจืŸ, ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืงื™ื™ืŸ ื‘ืึทืึทืžื˜ืขืจ ื‘ืึทืฉื˜ืขื˜ื™ืงื•ื ื’ ืคื•ืŸ ื“ื™ ื‘ืœืึทื˜ ืื•ืŸ ืึทืœืข ื“ื™ ื“ืึธืงื•ืžืขื ื˜ืŸ ืคึฟื•ืŸ ื˜ืขืœืขื’ืจืึทื, ืึธื‘ืขืจ ื“ื™ ื‘ืึทื ื“ ืคื•ืŸ ื“ื™ ืžืึทื˜ืขืจื™ืึทืœืก ืžืื›ื˜ ื–ื™ื™ ื’ืึทื ืฅ ื’ืœื™ื™ื‘ืœืขืš. ืงืึทื˜ืขืจ ื“ื™ ืืจื•ื™ืก ืงืœื™ืขื ื˜ ืื•ื™ืฃ ื“ื™ ืื™ื™ื’ืขื ืข ืจื™ื–ื™ืงื™ืจืŸ.

ื‘ื•ื™ืขืŸ ืึท ืคึผืจืึธื‘ืข ืงืœื™ืขื ื˜

ืขืจืฉื˜ืขืจ, ืœืึธืžื™ืจ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื‘ื•ื™ืขืŸ ืื•ืŸ ืœื•ื™ืคืŸ ืึท ืคึผืจืึธื‘ืข ืงืœื™ืขื ื˜ - ื’ืœื™ืง, ืจืขืึทื“ืžืข ื‘ืืฉืจื™ื™ื‘ื˜ ื“ืขื ืคึผืฉื•ื˜ ืคึผืจืึธืฆืขืก ืื™ืŸ ื“ืขื˜ืึทืœ. ืื™ืš ื•ื•ืขืœ ื˜ืึธืŸ ื“ืึธืก ืžื™ื˜ macOS 10.14.5 ื•ื•ื™ ืึท ื‘ื™ื™ืฉืคึผื™ืœ; ืื™ืš ืงืขืŸ ื ื™ืฉื˜ ืฉื˜ื™ืžืขืŸ ืคึฟืึทืจ ื“ื™ ื”ืฆืœื—ื” ืคื•ืŸ ื“ื™ ื‘ื•ื™ืขืŸ ืื•ื™ืฃ ืื ื“ืขืจืข ืกื™ืกื˜ืขืžืขืŸ.

  1. ืืจืืคืงืืคื™ืข ืื•ืŸ ืึทื ืคึผืึทืง ืžืงื•ืจ ืึทืจืงื™ื™ื•ื•. ืขืก ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืฆื• ืึธืคึผืœืึธื“ื™ืจืŸ ื“ื™ ืœืขืฆื˜ืข ื•ื•ืขืจืกื™ืข ื•ื•ื™ื™ึทืœ ืฆื•ืจื™ืง ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืื™ื– ื ื™ืฉื˜ ื’ืขืจืึทื ื˜ื™ื“ ืื™ืŸ ื“ืขื ื‘ื™ื ืข.

  2. ืžืึทื›ืŸ ื–ื™ื›ืขืจ ืึทื– ื“ื™ ืœืขืฆื˜ืข ื•ื•ืขืจืกื™ืขืก ืคื•ืŸ ืžืึทื›ืŸ, ืงืžืึทืงืข (ื•ื•ืขืจืกื™ืข 3.0.2 ืึธื“ืขืจ ื”ืขื›ืขืจ), OpenSSL (ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ C ื›ืขื“ืขืจ ื˜ืขืงืขืก), ื’ ++ ืึธื“ืขืจ ืงืœืึทื ื’ ื–ืขื ืขืŸ ืื™ื ืกื˜ืึทืœื™ืจืŸ ืื•ื™ืฃ ื“ื™ ืกื™ืกื˜ืขื. ืื™ืš ื”ืื˜ ื ื™ื˜ ื”ืึธื‘ืŸ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ืขืคึผืขืก, ืึทืœืฅ ื’ืขืงื•ืžืขืŸ ืฆื•ื–ืึทืžืขืŸ.

  3. ื–ืืœ ืก ื™ื‘ืขืจื ืขืžืขืŸ ื“ื™ ืงื•ื•ืืœืŸ ื–ืขื ืขืŸ ืึทื ืคึผืึทืงื˜ ืื™ืŸ ืึท ื˜ืขืงืข ~/lite-client. ืกืขืคึผืขืจืึทื˜ืœื™ ืคึฟื•ืŸ ืขืก, ืฉืึทืคึฟืŸ ืึท ืœื™ื™ื“ื™ืง ื˜ืขืงืข ืคึฟืึทืจ ื“ื™ ืคืืจื–ืืžืœื˜ ืคึผืจื•ื™ืขืงื˜ (ืœืžืฉืœ, ~/liteclient-build), ืื•ืŸ ืคื•ืŸ ืื™ื (cd ~/liteclient-build) ืจื•ืคืŸ ื“ื™ ืงืึทืžืึทื ื“ื–:

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

    ื˜ืขืกื˜ ืงืœื™ืขื ื˜ TON (ื˜ืขืœืขื’ืจืึทื ืขืคึฟืŸ ื ืขื˜ื•ื•ืึธืจืง) ืื•ืŸ ื ื™ื™ึท ืคื™ืคื˜ ืฉืคึผืจืึทืš ืคึฟืึทืจ ืงืœื•ื’ ืงืึทื ื˜ืจืึทืงืฅ

    ืฆื• ื‘ื•ื™ืขืŸ ื“ื™ ืคื™ืคื˜ ืฉืคึผืจืึทืš ื™ื‘ืขืจื–ืขืฆืขืจ ืคึฟืึทืจ ืงืœื•ื’ ืงืึทื ื˜ืจืึทืงืฅ (ืžืขืจ ื•ื•ืขื’ืŸ ืื™ื ืื•ื ื˜ืŸ), ืžื™ืจ ืื•ื™ืš ืจื•ืคืŸ

    cmake --build . --target fift

  4. ืึธืคึผืœืึธื“ื™ืจืŸ ื“ื™ ืื™ืฆื˜ื™ืงืข ืงืึธื ืคื™ื’ื•ืจืึทื˜ื™ืึธืŸ ื˜ืขืงืข ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืฆื• ื“ื™ ืคึผืจืึธื‘ืข ื ืขืฅ ืื•ืŸ ืฉื˜ืขืœืŸ ืขืก ืื™ืŸ ื“ืขืจ ื˜ืขืงืข ืžื™ื˜ ื“ื™ ืคืืจื–ืืžืœื˜ ืงืœื™ืขื ื˜.

  5. ื’ืขืฉืขืŸ, ืื™ืจ ืงืขื ืขืŸ ืึธื ื”ื™ื™ื‘ืŸ ื“ืขื ืงืœื™ืขื ื˜:

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

ืื•ื™ื‘ ืึทืœืฅ ืื™ื– ื’ืขื˜ืืŸ ืจื™ื›ื˜ื™ืง, ืื™ืจ ื–ืึธืœ ื–ืขืŸ ืขืคึผืขืก ื•ื•ื™ ื“ืึธืก:

ื˜ืขืกื˜ ืงืœื™ืขื ื˜ TON (ื˜ืขืœืขื’ืจืึทื ืขืคึฟืŸ ื ืขื˜ื•ื•ืึธืจืง) ืื•ืŸ ื ื™ื™ึท ืคื™ืคื˜ ืฉืคึผืจืึทืš ืคึฟืึทืจ ืงืœื•ื’ ืงืึทื ื˜ืจืึทืงืฅ

ื•ื•ื™ ืžื™ืจ ืงืขื ืขืŸ ื–ืขืŸ, ืขืก ื–ืขื ืขืŸ ืขื˜ืœืขื›ืข ื‘ื ื™ืžืฆื ืงืึทืžืึทื ื“ื–:
โ—ฆ 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

ืื™ืฆื˜ ืžื™ืจ ืงืขื ืขืŸ ืžืึทืš ืื•ื™ืฃ ืฆื• ืžืขืจ ื˜ืฉื™ืงืึทื•ื•ืข ื˜ื™ื ื’ื– - ืœืขืจื ืขืŸ ื“ื™ ืคื™ืคื˜ ืฉืคึผืจืึทืš, ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื–ืึทืžืœืขืŸ ืึท ืงืœื•ื’ ืงืึธื ื˜ืจืึทืงื˜ (ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืฉืึทืคึฟืŸ ืึท ืคึผืจืึธื‘ืข ื‘ื™ื™ึทื˜ืœ), ืฆื•ืคึฟืขืœื™ืงืขืจ ืขืก ืฆื• ื“ื™ ื ืขืฅ ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื’ืขืœื˜ ืฆื•ื•ื™ืฉืŸ ืึทืงืึทื•ื ืฅ.

ืฉืคึผืจืึทืš ืคื™ืคื˜

ืคื•ืŸ ื“ืขื ื“ืึธืงื•ืžืขื ื˜ fifthbase.pdf ืื™ืจ ืงืขื ื˜ ื’ืขืคึฟื™ื ืขืŸ ืึทื– ื“ื™ ื˜ืขืœืขื’ืจืึทื ืžืึทื ืฉืึทืคึฟื˜ ื”ืื˜ ื‘ืืฉืืคืŸ ืึท ื ื™ื™ึทืข ืึธื ืœื™ื™ื’ืŸ ืฉืคึผืจืึทืš ืฆื• ืฉืึทืคึฟืŸ ืงืœื•ื’ ืงืึทื ื˜ืจืึทืงืฅ ืคื™ืคื˜ (ืžืฉืžืขื•ืช ืคื•ืŸ ื“ื™ ื ื•ืžืขืจ ืคื™ื ืคื˜, ืขื ืœืขืš ืฆื• Forth, ืึท ืฉืคึผืจืึทืš ืžื™ื˜ ื•ื•ืึธืก ืคื™ื ืคื˜ ื”ืื˜ ืคื™ืœ ืื™ืŸ ืคึผืจืึธืกื˜).

ื“ืขืจ ื“ืึธืงื•ืžืขื ื˜ ืื™ื– ื’ืึทื ืฅ ื•ื•ืึทืœื•ืžืึทื ืึทืก, 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

(ื“ื™ ืฉื•ืจื” "ื’ื•ื˜" ืื™ื– ื’ืขื“ืจื•ืงื˜ ื“ื•ืจืš ื“ื™ ื™ื‘ืขืจื–ืขืฆืขืจ ื•ื•ืขืŸ ืขืก ืขื ื“ื™ืงืŸ ืคึผืจืึทืกืขืกื™ื ื’ ื“ื™ ืงืจืึทื ื˜ ืฉื•ืจื” ืื™ืŸ ื™ื ื˜ืขืจืึทืงื˜ื™ื•ื• ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืžืึธื“ืข)

ื ื•, ืึท ื’ืึทื ืฅ ืงืึธื“ ื‘ื™ื™ึทืฉืคึผื™ืœ:

"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 ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ (ืื™ืš ื•ื•ืขืœ ื ื™ืฉื˜ ื•ื•ื•ื™ื ืขืŸ ืื•ื™ืฃ ืขืก ืื™ืŸ ื“ืขื˜ืึทืœ), ื“ื™ ื™ื ืกื˜ืจืึทืงืฉืึทื ื– ืคื•ืŸ ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืฉื˜ืขืœื˜ ืื•ื™ืฃ ื“ื™ ื‘ืœืึทืงื›ื™ื™ื•ื•ืึทืŸ.

ืื–ื•ื™, ื“ืขืจ ืึทืกืขืžื‘ืœืขืจ ืคึฟืึทืจ TVM ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ ืคื™ืคื˜ - ื“ื™ ืงื•ื•ืืœืŸ ืคื•ืŸ ื“ืขื ืึทืกืขืžื‘ืึทืœืขืจ ื–ืขื ืขืŸ ืื™ืŸ ื“ืขืจ ื˜ืขืงืข crypto/fift/Asm.fif ืื•ืŸ ื–ืขื ืขืŸ ืคืืจื‘ื•ื ื“ืŸ ืื™ืŸ ื“ื™ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ื“ื™ ืื•ื™ื‘ืŸ ืฉื˜ื™ืง ืคื•ืŸ ืงืึธื“.

ื•ื•ืึธืก ืงืขืŸ ืื™ืš ื–ืึธื’ืŸ, ืžืฉืžืขื•ืช ื ื™ืงืึธืœืึทื™ ื“ื•ืจืึธื•ื• ื ืึธืจ ืœื™ื‘ ืฆื• ืฉืึทืคึฟืŸ ื ื™ื™ึทืข ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทื›ืŸ :)

ืฉืึทืคึฟืŸ ืึท ืงืœื•ื’ ืงืึธื ื˜ืจืึทืงื˜ ืื•ืŸ ื™ื ื˜ืขืจืึทืงื˜ื™ื ื’ ืžื™ื˜ TON

ืœืืžื™ืจ ืื ื ืขืžืขืŸ ืื– ืžื™ืจ ื”ืื‘ืŸ ืคืืจื–ืืžืœื˜ ื“ืขื TON ืงืœื™ืขื ื˜ ืื•ืŸ ื“ื™ ืคื™ืคื˜ ืื™ื‘ืขืจื–ืขืฆืขืจ ื•ื•ื™ ืื•ื™ื‘ืŸ ื“ื™ืกืงืจื™ื™ื‘ื“ ืื•ืŸ ื–ื™ืš ื‘ืืงืขื ืขืŸ ืžื™ื˜ ื“ื™ ืฉืคืจืืš. ื•ื•ื™ ืฆื• ืฉืึทืคึฟืŸ ืึท ืงืœื•ื’ ืงืึธื ื˜ืจืึทืงื˜ ืื™ืฆื˜? ื“ืึธืก ืื™ื– ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ื“ืขืจ ื˜ืขืงืข ื•ื•ื™ ืื–ื•ื™ ืฆื•, ืฆื•ื’ืขื‘ื•ื ื“ืŸ ืฆื• ื“ื™ ืžืงื•ืจื•ืช.

ืึทืงืึทื•ื ืฅ ืื™ืŸ TON

ื•ื•ื™ ืื™ืš ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ TON ืจืขืฆืขื ื–ื™ืข, ื“ืขื ื ืขืฅ ื›ึผื•ืœืœ ืžืขืจ ื•ื•ื™ ืื™ื™ืŸ ื‘ืœืึทืงื›ื™ื™ื•ื•ืึทืŸ - ืขืก ืื™ื– ืื™ื™ืŸ ืคึผืจืึธืกื˜ ืื™ื™ื ืขืจ, ื“ื™ ืึทื–ื•ื™ ื’ืขืจื•ืคืขื ืข. "ื‘ืขืœ ืงื™ื™ื˜", ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืึท ืึทืจื‘ื™ื˜ืจืึทืจื™ืฉ ื ื•ืžืขืจ ืคื•ืŸ ื ืึธืš "ืึทืจื‘ืขื˜ ืงื™ื™ื˜ืŸ", ื™ื™ื“ืขื ืึทืคื™ื™ื“ ื“ื•ืจืš ืึท 32-ื‘ื™ืกืœ ื ื•ืžืขืจ. ื“ืขืจ ืžืึทืกื˜ืขืจื˜ืฉืึทื™ืŸ ื”ืื˜ ืึท ื™ื™ื“ืขื ืึทืคื™ื™ื“ -1, ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ืื™ื, ืึท "ื‘ืึทื–ืข" ื•ื•ืึธืจืงื˜ืฉืึทื™ืŸ ืžื™ื˜ ืึท ืื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจื˜ ืคื•ืŸ 0. ื™ืขื“ืขืจ ื•ื•ืึธืจืงื˜ืฉืึทื™ืŸ ืงืขื ืขืŸ ื”ืึธื‘ืŸ ื–ื™ื™ึทืŸ ืื™ื™ื’ืขื ืข ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ. ื™ื ืขืจืœืขืš, ื™ืขื“ืขืจ ื•ื•ืึธืจืงื˜ืฉืึทื™ืŸ ืื™ื– ืฆืขื˜ื™ื™ืœื˜ ืื™ืŸ ืฉืึทืจื“ื˜ืฉืึทื™ื ืก, ืึธื‘ืขืจ ื“ืึธืก ืื™ื– ืึทืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ื“ืขื˜ืึทืœ ื•ื•ืึธืก ื“ืึทืจืฃ ื ื™ื˜ ื–ื™ื™ืŸ ื’ืขื”ืืœื˜ืŸ ืื™ืŸ ื–ื™ื ืขืŸ.

ืื™ืŸ ืื™ื™ืŸ ื•ื•ืึธืจืงื˜ืฉืึทื™ืŸ, ืคื™ืœืข ืึทืงืึทื•ื ืฅ ื–ืขื ืขืŸ ืกื˜ืึธืจื“ ื•ื•ืึธืก ื”ืึธื‘ืŸ ื–ื™ื™ืขืจ ืื™ื™ื’ืขื ืข ืึทืงืึทื•ื ื˜_ื™ื“ ื™ื“ืขื ื˜ื™ืคื™ืขืจืก. ืคึฟืึทืจ ื“ื™ ื‘ืขืœ ืงื™ื™ื˜ ืื•ืŸ ื ื•ืœ ืึทืจื‘ืขื˜ ืงื™ื™ื˜, ื–ื™ื™ ื–ืขื ืขืŸ 256 ื‘ื™ื˜ืŸ ืœืึทื ื’. ืื–ื•ื™, ื“ืขืจ ื—ืฉื‘ื•ืŸ ื™ื“ืขื ื˜ื™ืคื™ืขืจ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ, ืœืžืฉืœ, ื•ื•ื™ ื“ืึธืก:

-1:8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d

ื“ืึธืก ืื™ื– ื“ืขืจ "ืจื•ื™" ืคึฟืึธืจืžืึทื˜: ืขืจืฉื˜ืขืจ ื“ื™ ื•ื•ืึธืจืงื˜ืฉืึทื™ืŸ ืฉื™ื™ึทืŸ, ื“ืขืžืึธืœื˜ ืึท ืฆื•ื•ื™ื™ืคึผื™ื ื˜ืœ, ืื•ืŸ ื“ื™ ื—ืฉื‘ื•ืŸ ืฉื™ื™ึทืŸ ืื™ืŸ ื”ืขืงืกืึทื“ืขืกื™ืžืึทืœ ื ืึธื•ื˜ื™ื™ืฉืึทืŸ.

ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ืขืก ืื™ื– ืึท ืคืึทืจืงื™ืจืฆื˜ ืคึฟืึธืจืžืึทื˜ - ื“ื™ ื•ื•ืึธืจืงื˜ืฉืึทื™ืŸ ื ื•ืžืขืจ ืื•ืŸ ื—ืฉื‘ื•ืŸ ืึทื“ืจืขืก ื–ืขื ืขืŸ ืงืึธื“ืขื“ ืื™ืŸ ื‘ื™ื™ื ืขืจื™ ืคืึธืจืขื, ืึท ื˜ืฉืขืงืงืกื•ื ืื™ื– ืžื•ืกื™ืฃ ืฆื• ื–ื™ื™, ืื•ืŸ ืึทืœืข ื“ืขื ืื™ื– ืงืึธื“ืขื“ ืื™ืŸ 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 ื“ืึทื˜ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ - ืฆืขืœ, ืกืขืœื– - ืื™ื– ื‘ื•ื™ื-ื•ื•ื™, ื™ืขื“ืขืจ ืฆืขืœ ืงืขื ืขืŸ ื”ืึธื‘ืŸ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื“ืึทื˜ืŸ ืื•ืŸ ืงื™ื ื“ ืกืขืœื–. ื“ืึธืก ืื™ื– ื’ืขื•ื•ื™ื–ืŸ ื•ื•ื™ ื™ื ื“ืขื ื˜ื™ื™ืฉืึทืŸ ืื™ืŸ ื“ื™ ืœืขืฆื˜ืข ืฉื•ืจื•ืช.

ื‘ื•ื™ืขืŸ ืึท ืงืœื•ื’ ืงืึธื ื˜ืจืึทืงื˜

ืื™ืฆื˜ ืœืึธื–ืŸ ืื•ื ื“ื– ืžืึทื›ืŸ ืึทื–ืึท ืึท ืกื˜ืจื•ืงื˜ื•ืจ ื–ื™ืš (ืขืก ืื™ื– ื’ืขืจื•ืคืŸ BOC - ื–ืขืงืœ ืคื•ืŸ ืกืขืœื–) ื ื™ืฆืŸ ื“ื™ ืคื™ืคื˜ ืฉืคึผืจืึทืš. ืฆื•ืž ื’ืœื™ืง, ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืึท ืงืœื•ื’ ืงืึธื ื˜ืจืึทืงื˜ ื–ื™ืš - ืื™ืŸ ื“ืขืจ ื˜ืขืงืข 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 (ื˜ืขืœืขื’ืจืึทื ืขืคึฟืŸ ื ืขื˜ื•ื•ืึธืจืง) ืื•ืŸ ื ื™ื™ึท ืคื™ืคื˜ ืฉืคึผืจืึทืš ืคึฟืึทืจ ืงืœื•ื’ ืงืึทื ื˜ืจืึทืงืฅ

ืึทื– ืก ืึทืœืข, ืื™ืฆื˜ ืžื™ืจ ืงืขื ืขืŸ ืžืึทื›ืŸ ืงืœื•ื’ ืงืึทื ื˜ืจืึทืงืฅ ืื™ืŸ TON ืื•ืŸ ืฉื™ืงืŸ ืจื™ืงื•ื•ืขืก ืฆื• ื–ื™ื™. ื•ื•ื™ ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ, ื“ื™ ืงืจืึทื ื˜ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ื– ืฉื•ื™ืŸ ื’ืขื ื•ื’ ืฆื•, ืœืžืฉืœ, ืžืึทื›ืŸ ืึท ืžืขืจ ืคืจื™ื™ึทื ื“ืœืขืš ื‘ื™ื™ึทื˜ืœ ืžื™ื˜ ืึท ื’ืจืึทืคื™ืงืึทืœ ืฆื•ื‘ื™ื ื“ (ืึธื‘ืขืจ, ืขืก ืื™ื– ื“ืขืจื•ื•ืึทืจื˜ ืึทื– ืขืก ื•ื•ืขื˜ ืฉื•ื™ืŸ ื–ื™ื™ืŸ ื‘ื ื™ืžืฆื ื•ื•ื™ ืึท ื˜ื™ื™ืœ ืคื•ืŸ ื“ืขืจ ืฉืœื™ื—).

ื‘ืœื•ื™ื– ืจืขื’ื™ืกื˜ืจื™ืจื˜ ื ื™ืฆืขืจืก ืงืขื ืขืŸ ืึธื ื˜ื™ื™ืœ ื ืขืžืขืŸ ืื™ืŸ ื“ื™ ื™ื‘ืขืจื‘ืœื™ืง. ืกื™ื™ืŸ ืืจื™ื™ืŸื‘ื™ื˜ืข.

ื–ืขื ื˜ ืื™ืจ ืื™ื ื˜ืขืจืขืกื™ืจื˜ ืื™ืŸ ืคืึธืจื–ืขืฆืŸ ื“ื™ ืึทืจื˜ื™ืงืœืขืŸ ืžื™ื˜ ืึทื ืึทืœื™ืกื™ืก ืคื•ืŸ TON, TVM, Fift?

  • ื™ืึธ, ืื™ืš ื•ื•ืึทืจื˜ืŸ ืคึฟืึทืจ ื“ื™ ืงืึทืžืคึผืœื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืกืขืจื™ืข ืคื•ืŸ โ€‹โ€‹ืึทืจื˜ื™ืงืœืขืŸ ืžื™ื˜ ืึท ื’ืขื ืขืจืึทืœ ืื™ื‘ืขืจื‘ืœื™ืง ืคื•ืŸ TON

  • ื™ืึธ, ืขืก ืื™ื– ื˜ืฉื™ืงืึทื•ื•ืข ืฆื• ืœื™ื™ืขื ืขืŸ ืžืขืจ ื•ื•ืขื’ืŸ ื“ื™ ืคื™ืคื˜ ืฉืคึผืจืึทืš

  • ื™ืึธ, ืื™ืš ื•ื•ื™ืœืŸ ืฆื• ืœืขืจื ืขืŸ ืžืขืจ ื•ื•ืขื’ืŸ TON Virtual Machine ืื•ืŸ ื“ื™ ืึทืกืขืžื‘ืึทืœืขืจ ืคึฟืึทืจ ืื™ื

  • ื ื™ื™ืŸ, ื’ืึธืจื ื™ื˜ ืคื•ืŸ ื“ืขื ืื™ื– ื˜ืฉื™ืงืึทื•ื•ืข

39 ื‘ืื ื•ืฆืขืจ ื”ืื‘ืŸ ื’ืขืฉื˜ื™ืžื˜. 12 ื‘ืื ื•ืฆืขืจ ื”ืื‘ืŸ ื–ื™ืš ืืคื’ืขื”ืืœื˜ืŸ.

ื•ื•ืึธืก ื˜ืึธืŸ ืื™ืจ ื˜ืจืึทื›ื˜ืŸ ื•ื•ืขื’ืŸ ื˜ืขืœืขื’ืจืึทื ืก ืคึผืœืึทื ื– ืฆื• ืงืึทื˜ืขืจ TON?

  • ืื™ืš ื”ืึธื‘ืŸ ื”ื•ื™ืš ื”ืืคืขื ื•ื ื’ืขืŸ ืคึฟืึทืจ ื“ืขื ืคึผืจื•ื™ืขืงื˜

  • ืื™ืš ื ืึธืจ ื ืึธื›ืคืึธืœื’ืŸ ื–ื™ื™ึทืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืžื™ื˜ ืื™ื ื˜ืขืจืขืก.

  • ืื™ืš ื‘ื™ืŸ ืกืงืขืคึผื˜ื™ืงืึทืœ ืื•ืŸ ืฆื•ื•ื™ื™ืคืœ ื–ื™ื™ืŸ ื”ืฆืœื—ื”.

  • ืื™ืš ื‘ื™ืŸ ื’ืขื ื™ื™ื’ื˜ ืฆื• ื‘ืึทื˜ืจืึทื›ื˜ืŸ ื“ื™ ืื™ื ื™ืฆื™ืื˜ื™ื•ื• ืคึฟืึทืจ ืึท ื“ื•ืจื›ืคืึทืœ ืื•ืŸ ื•ืžื ื™ื™ื˜ื™ืง ืคึฟืึทืจ ื“ื™ ื‘ืจื™ื™ื˜ ืžืึทืกืข

47 ื‘ืื ื•ืฆืขืจ ื”ืื‘ืŸ ื’ืขืฉื˜ื™ืžื˜. 12 ื‘ืื ื•ืฆืขืจ ื”ืื‘ืŸ ื–ื™ืš ืืคื’ืขื”ืืœื˜ืŸ.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’