เบซเบผเบฒเบเบเบงเปเบฒเบซเบเบถเปเบเบเบตเบเปเบญเบเบซเบเปเบฒเบเบตเป, เบกเบฑเบเปเบเปเบเบฒเบเปเบเบฑเบเบเบตเปเบฎเบนเปเบเบฑเบเบเปเบฝเบงเบเบฑเบเปเบเบเบเบฒเบเบเบญเบ Telegram messenger เบเบตเปเบเบฐเบเปเบญเบเปเบเบทเบญเบเปเบฒเบเบเบฒเบเบเบฐเบเบฒเบเบญเปเบฒเบเบฒเบเบเบญเบเบเบปเบเปเบญเบ. เปเบเบตเบเปเบเบทเบญเบเปเบฒเบเปเบเบฅเบฐเปเบฅเบ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เปเบญเบเบฐเบชเบฒเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบ voluminous เปเบเปเบเบฒเบเปเบเบฑเบ, เปเบเบดเปเบเปเบเปเบเบทเบเบเปเบฒเบงเบซเบฒเบงเปเบฒเบเบฝเบเปเบเบ Nikolai Durov เปเบฅเบฐเบญเบฐเบเบดเบเบฒเบเปเบเบเบชเปเบฒเบเบเบญเบเปเบเบทเบญเบเปเบฒเบเปเบเบญเบฐเบเบฒเบเบปเบ. เบชเปเบฒเบฅเบฑเบเบเบนเปเบเบตเปเบเบฒเบเบกเบฑเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเบฐเบเปเบฒเปเบซเปเบเปเบฒเบเบญเปเบฒเบ retelling เบเบญเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเบฝเบงเบเบฑเบเปเบญเบเบฐเบชเบฒเบเบเบตเป (
เบเบฑเบเบเบฑเปเบเปเบเปเบเบฑเปเบเบกเบฒ, เบเปเปเบกเบตเบเปเบฒเบงเบเบตเปเบชเปเบฒเบเบฑเบเบเปเบฝเบงเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบญเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ TON เบเบปเบเบเปเบงเบฒเบชเบญเบเบชเบฒเบกเบกเบทเปเบเปเบญเบเบซเบเปเบฒเบเบตเป (เปเบเบซเบเบถเปเบเบเบญเบ
โฆ
โฆ
โฆ
โฆ
โฆ
โฆ
โฆ
โฆ
เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบงเบปเปเบฒเบเบทเบเบงเปเบฒ, เบเปเปเบกเบตเบเบฒเบเบขเบทเบเบขเบฑเบเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบเบญเบเบซเบเปเบฒเปเบฅเบฐเปเบญเบเบฐเบชเบฒเบเบเบฑเบเบซเบกเบปเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบฒเบ Telegram, เปเบเปเบเบฐเบฅเบดเบกเบฒเบเบเบญเบเบญเบธเบเบฐเบเบญเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบฎเบฑเบเปเบซเปเบเบงเบเปเบเบปเบฒเบเปเบญเบเบเปเบฒเบเปเบเบฑเบเปเบเปเบเป. เปเบเบตเบเบเบปเบงเบฅเบนเบเบเปเบฒเบเบตเปเปเบเบตเบเปเบเป เบขเบนเปเปเบเบเบงเบฒเบกเบชเปเบฝเบเบเบญเบเบเบปเบเปเบญเบ.
เบเบฒเบเบเปเปเบชเปเบฒเบเบฅเบนเบเบเปเบฒเบเบปเบเบชเบญเบ
เบเปเบฒเบญเบดเบ, เปเบซเปเบเบฐเบเบฒเบเบฒเบกเบชเปเบฒเบเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบฅเบนเบเบเปเบฒเบเบฒเบเบเบปเบเบชเบญเบ - เปเบเบเบเบต,
-
เบเบฒเบงโเบโเปโเปเบซเบฅเบโเปเบฅเบฐ unpackโ
เบฎเบงเบเบฎเบงเบกเปเบซเบผเปเบ . เบกเบฑเบเปเบเบฑเบเบชเบดเปเบ เบชเบณ เบเบฑเบเบเบตเปเบเบฐเบเบฒเบงเปเบซเบฅเบเบฅเบธเปเบเบฅเปเบฒเบชเบธเบเปเบเบฒเบฐเบงเปเบฒเบเบงเบฒเบกเปเบเบปเปเบฒเบเบฑเบเปเบเปเปเบเบเปเบฒเบเบซเบฅเบฑเบเบเปเปเปเบเปเบเบทเบเบฎเบฑเบเบเบฐเบเบฑเบเปเบเบเบฑเปเบเบเบญเบเบเบตเป. -
เปเบซเปเปเบเปเปเบเบงเปเบฒเปเบงเบตเบเบฑเบเบซเบผเปเบฒเบชเบธเบเบเบญเบ make, cmake (เบฎเบธเปเบ 3.0.2 เบซเบผเบทเบชเบนเบเบเบงเปเบฒ), OpenSSL (เบฅเบงเบกเบเบฑเบเปเบเบฅเปเบชเปเบงเบเบซเบปเบง C), g++ เบซเบผเบท clang เบเบทเบเบเบดเบเบเบฑเปเบเบขเบนเปเปเบเบฅเบฐเบเบปเบ. เบเปเบญเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเบเบเบฑเปเบเบซเบเบฑเบ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบกเบฒเบฎเปเบงเบกเบเบฑเบเบเบฑเบเบเบต.
-
เปเบซเปเบชเบปเบกเบกเบธเบเบงเปเบฒเปเบซเบผเปเบเบเปเปเบกเบนเบเปเบเปเบเบทเบ unpacked เปเบเบปเปเบฒเปเบเปเบเปเบเบเปเบเบต
~/lite-client
. เปเบเบเบเปเบฒเบเบซเบฒเบเบเบฒเบเบกเบฑเบ, เบชเปเบฒเบเปเบเบเปเบเบตเบซเบงเปเบฒเบเปเบเบปเปเบฒเบชเปเบฒเบฅเบฑเบเปเบเบเบเบฒเบเบเบฐเบเบญเบ (เบเบปเบงเบขเปเบฒเบ,~/liteclient-build
), เปเบฅเบฐโเบเบฒเบโเบกเบฑเบ (cd ~/liteclient-build
) เปเบโเบซเบฒโเบเปเบฒโเบชเบฑเปเบโ:cmake ~/lite-client cmake --build . --target test-lite-client
เปเบเบทเปเบญเบชเปเบฒเบเบเบฒเบเบเบฒเบชเบฒ Fift เบชเปเบฒเบฅเบฑเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ (เปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบกเบฑเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป), เบเบงเบเปเบฎเบปเบฒเบเบฑเบเปเบเบซเบฒcmake --build . --target fift
-
เบเบฒเบงโเปเบซเบฅเบโเบเบฑเบโเบเบธโเบเบฑเบโ
เปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒ เปเบเบทเปเบญเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเปเบเบทเบญเบเปเบฒเบเบเบฒเบเบเบปเบเบชเบญเบเปเบฅเบฐเปเบญเบปเบฒเปเบชเปเปเบเปเบเบเปเบเบตเบเบตเปเบกเบตเบฅเบนเบเบเปเบฒเบเบฐเบเบญเบ. -
เปเบฎเบฑเบเปเบฅเปเบง, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบฅเบนเบเบเปเบฒ:
./test-lite-client -C ton-lite-client-test1.config.json
เบเปเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบทเบเปเบฎเบฑเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ, เบเปเบฒเบเบเบงเบเปเบซเบฑเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเปเบเบฑเปเบเบเบตเป:
เบเบฑเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเป, เบกเบตเบเปเบฒเบชเบฑเปเบเบเบตเปเบกเบตเบขเบนเปเบเปเบฒเบเบงเบเบซเบเปเบญเบ:
โฆ 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, เบเบฐเบเบฒเบเบฒเบกเบฅเบงเบเบฅเบงเบกเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ (เบเบปเบงเบขเปเบฒเบ, เบชเปเบฒเบเบเบฐเปเบเบปเบฒเปเบเบดเบเบเบปเบเบชเบญเบ), เบญเบฑเบเปเบซเบผเบเบกเบฑเบเปเบชเปเปเบเบทเบญเบเปเบฒเบเปเบฅเบฐเบเบฐเบเบฒเบเบฒเบกเปเบญเบเปเบเบดเบเบฅเบฐเบซเบงเปเบฒเบเบเบฑเบเบเบต.
เบเบฒเบชเบฒเบซเปเบฒ
เบเบฒเบเปเบญเบเบฐเบชเบฒเบ
เปเบญเบเบฐเบชเบฒเบเปเบกเปเบเบเปเบญเบเบเปเบฒเบ 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
เบเบฑเปเบเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบญเบฐเบเบดเบเบฒเบเปเบงเปเปเบ
เบเบฒเบเปเบ 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 เปเบฅเบฐเบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเปเปเบซเปเบเบงเบเปเบเบปเบฒ. เบเบฑเปเบเบเบตเปเปเบเบปเปเบฒเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเป, เบซเบเปเบฒเบเบตเปเบเบฐเบเบธเบเบฑเบเปเบกเปเบเบเบฝเบเบเปเปเบฅเปเบง, เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เปเบฎเบฑเบเปเบซเปเบเบฐเปเบเบปเบฒเปเบเบดเบเบเบตเปเปเบเบฑเบเบกเบดเบเบเบฑเบเบเบฒเบเปเบเปเบเบญเบเบเบตเปเบกเบตเบเบฒเบเบดเบ (เบขเปเบฒเบเปเบเบเปเปเบเบฒเบก, เบเบฒเบเบงเปเบฒเบเบฐเบกเบตเบขเบนเปเปเบเบชเปเบงเบเบเบญเบเบเบนเปเบชเบปเปเบเบเปเบฒเบง).
เบเบฝเบเปเบเปเบเบนเปเปเบเปเบฅเบปเบเบเบฐเบเบฝเบเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเบฎเปเบงเบกเปเบเบเบฒเบเบชเปเบฒเบซเบผเบงเบ.
เบเปเบฒเบเบกเบตเบเบงเบฒเบกเบชเบปเบเปเบเปเบเบเบฒเบเบชเบทเบเบเปเปเบเบปเบเบเบงเบฒเบกเบเบตเปเบกเบตเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบญเบ TON, TVM, Fift เบเป?
-
เปเบกเปเบเปเบฅเปเบง, เบเปเบญเบ เบเบณ เบฅเบฑเบเบฅเปเบเปเบฒเบเบฒเบ เบชเบณ เปเบฅเบฑเบเบเบญเบเบเบธเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบกเบตเบเบฒเบเบฅเบงเบกเบเบญเบ TON
-
เปเบกเปเบเปเบฅเปเบง, เบกเบฑเบเบซเบเปเบฒเบชเบปเบเปเบเบเบตเปเบเบฐเบญเปเบฒเบเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบเบฒเบชเบฒ Fift
-
เปเบกเปเบเปเบฅเปเบง, เบเปเบญเบเบเปเบญเบเบเบฒเบเบฎเบฝเบเบฎเบนเปเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบ TON Virtual Machine เปเบฅเบฐเปเบเบทเปเบญเบเบเบฐเบเบญเบเบชเปเบฒเบฅเบฑเบเบกเบฑเบ
-
เบเปเป, เบเปเปเบกเบตเบซเบเบฑเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบ
39 เบเบนเปเปเบเปเบฅเบปเบเบเบฐเปเบเบเบชเบฝเบ. 12 เบเบนเปเปเบเปเบเบปเบ.
เบเปเบฒเบเบเบดเบเปเบเบงเปเบเบเปเบฝเบงเบเบฑเบเปเบเบเบเบฒเบเบเบญเบ Telegram เบเบตเปเบเบฐเปเบเบตเบเบเบปเบง TON?
-
เบเปเบฒเบเบฐเปเบเบปเปเบฒเบกเบตเบเบงเบฒเบกเบซเบงเบฑเบเบชเบนเบเบชเปเบฒเบฅเบฑเบเปเบเบเบเบฒเบเบเบตเป
-
เบเปเบญเบเบเบฝเบเปเบเปเบเบดเบเบเบฒเบกเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบกเบฑเบเบเปเบงเบเบเบงเบฒเบกเบชเบปเบเปเบ.
-
เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเปเปโเปเบเบทเปเบญโเปเบฅเบฐโเบชเบปเบโเปเบชโเบเบงเบฒเบกโเบชเปเบฒโเปเบฅเบฑเบโเบเบญเบโเบเบปเบโ.
-
เบเปเบฒเบเบฐเปเบเบปเปเบฒเบกเบตเปเบเบงเปเบเปเบกเบเบตเปเบเบฐเบเบดเบเบฒเบฅเบฐเบเบฒเบเบฒเบเบฅเบดเปเบฅเบตเปเบกเบเบตเปเปเบเบฑเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบงเปเบฅเบฐเบเปเปเบเปเบฒเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบกเบฐเบซเบฒเบเบปเบเบขเปเบฒเบเบเบงเปเบฒเบเบเบงเบฒเบ
47 เบเบนเปเปเบเปเบฅเบปเบเบเบฐเปเบเบเบชเบฝเบ. 12 เบเบนเปเปเบเปเบเบปเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com