เบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเบเบฝเบเปเบฅเบฐเปเบเบตเบเปเบเปเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบ TON
เบเบปเบเบเบงเบฒเบกเบเบตเปเบเปเบฝเบงเบเบฑเบเบซเบเบฑเบ?
เปเบเบเบปเบเบเบงเบฒเบกเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบชเบปเบเบเบฐเบเบฒเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบเบปเปเบฒเบฎเปเบงเบกเปเบเบเบฑเปเบเบเปเบฒเบญเบดเบ (เบชเบญเบ) เบเบฒเบเปเบเปเบเบเบฑเบ Telegram blockchain, เบเปเปเปเบเปเปเบญเบปเบฒเบฅเบฒเบเบงเบฑเบ, เปเบฅเบฐเบเบฑเบเบชเบดเบเปเบเบเบตเปเบเบฐเบเบฑเบเบเบถเบเบเบฐเบชเบปเบเบเบฒเบเบเบญเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเบเบปเบเบเบงเบฒเบกเปเบเบทเปเบญเบเปเปเปเบซเปเบกเบฑเบเบเบปเบกเบฅเบปเบเปเบ oblivion เปเบฅเบฐ, เบเบฒเบเบเบตเบญเบฒเบ, เบเปเบงเบ. เบเบปเบ.
เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเปเบญเบเบเปเปเบขเบฒเบเบเบฝเบเบฅเบฐเบซเบฑเบเบเบตเปเบเปเปเบกเบตเบเบปเบงเบเบปเบ, เปเบเปเปเบฎเบฑเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบ, เบชเปเบฒเบฅเบฑเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบเปเบญเบเบเบฝเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบชเบฐเบซเบฅเบฒเบเบเบฑเบเบเบตเปเบฅเบฐเปเบงเบฑเบเปเบเบเปเบเบตเปเบชเบฐเปเบเบเบเปเปเบกเบนเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบเบเบเบปเบเบเบฒเบ TON เปเบเบเบเปเปเบเปเบญเบเปเบเปเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบฅเบฐเบเบฑเบเบเบฒเบ.
เบเบปเบเบเบงเบฒเบกเบเบฐเปเบเบฑเบเบเบฐเปเบซเบเบเบเปเปเบเบนเปเบเบตเปเบเปเบญเบเบเบฒเบเปเบฎเบฑเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเปเบฒเบญเบดเบเบเบญเบเบเบงเบเปเบเบปเบฒเปเบ TON, เปเบเปเบเปเปเบฎเบนเปเบงเปเบฒเบเบฐเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบช.
เบเบฒเบเบเปเบฒเปเบเป lottery เปเบเบฑเบเบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเปเบเบเบฒเบเบเบฒเบเบเบดเบเบเบฑเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเปเบเบทเปเบญเปเบเบตเบเปเบเปเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ, เบเบปเบงเบเบฑเบเบเบฑเบเบกเบฑเบ, เปเบฅเบฐเบเบฝเบเปเบงเบฑเบเปเบเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบฎเบฑเบเปเบฅเบฐเปเบเบตเบเปเบเปเบเปเปเบกเบนเบ.
เบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเบปเปเบฒเบฎเปเบงเบกเบเบฒเบเปเบเปเบเบเบฑเบ
เปเบเบทเบญเบเบเบธเบฅเบฒเบเบตเปเบเปเบฒเบเบกเบฒ, Telegram เปเบเปเบเบฐเบเบฒเบเบเบฒเบเปเบเปเบเบเบฑเบ blockchain เบเปเบงเบเบเบฒเบชเบฒเปเบซเบกเป Fift ะธ FunC. เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฅเบทเบญเบเบเบฒเบเบเบฒเบเบเบฝเบเปเบเปเปเบเบซเปเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบตเปเบชเบฐเปเบซเบเบต. เบเปเบญเบเบเบดเบเบงเปเบฒเบกเบฑเบเบเบฐเปเบเบฑเบเบเบฒเบเบเบตเบเบตเปเบเบฐเปเบฎเบฑเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เบฎเบฝเบเบฎเบนเปเบเบฒเบชเบฒเปเบฅเบฐเปเบฎเบฑเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเบญเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฝเบเบซเบเบฑเบเบญเบตเบเปเบเบญเบฐเบเบฒเบเบปเบ. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบซเบปเบงเบเปเปเปเบกเปเบเบขเบนเปเบชเบฐเปเบซเบกเบตเบขเบนเปเปเบเบเบฒเบ.
เบกเบฑเบเปเบเบฑเบเบกเบนเบเบเปเบฒเบเบตเปเบเบญเบเบงเปเบฒเบเปเบญเบเบเปเปเบกเบตเบเบฐเบชเบปเบเบเบฒเบเปเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบงเบฒเบเปเบเบเบเบตเปเบเบฐเปเบเบปเปเบฒเบฎเปเบงเบกเบเบปเบเบเปเบงเบฒเบเบตเปเบชเบธเบเบเบปเบเบเปเบงเบฒเบเปเบฒเบเบฐเปเบเบปเปเบฒเบชเบฒเบกเบฒเบเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฝเบเบเบปเบเบเบปเบเบเบงเบเบเบทเบ, เปเบเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบฅเบปเปเบกเปเบซเบฅเบงเบเบฑเบเบเบตเปเบเบเบญเบเบเปเบฒเบญเบดเบ. I เบกเบตเบฅเบฒเบเปเบเบฑเบเบซเบผเบฒเบเบญเบฑเบ FunC เปเบฅเบฐเปเบเบเบเบปเปเบงเปเบเปเบฅเปเบงเบกเบฑเบเปเบเปเปเบฎเบฑเบเบงเบฝเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบญเบปเบฒเบกเบฑเบเปเบเบฑเบเบเบทเปเบเบเบฒเบ .
เปเบเปเบงเบฅเบฒเบเบฑเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบดเบเบงเปเบฒเบเบตเปเปเบเปเบเบญเบเบเบฝเบเบเปเบเบตเปเบเบฐเปเบญเบปเบฒเบขเปเบฒเบเบซเบเปเบญเบเบเบฒเบเบฅเบฒเบเบงเบฑเบ. เบเบฑเปเบเบเบฑเปเบ, เบเบนเปเปเบเบปเปเบฒเบฎเปเบงเบกเบเบฐเบกเบฒเบ 40 เปเบ 60 เบเบปเบเปเบเปเบเบฒเบเปเบเบฑเบเบเบนเปเบเบฐเบเบฐเบฅเบฒเบเบงเบฑเบเปเบฅเบฐเบเปเบญเบเบเปเปเปเบเปเบขเบนเปเปเบเบเบฑเปเบ. เปเบเบเบเบปเปเบงเปเบ, เบเปเปเบกเบตเบซเบเบฑเบเบเบดเบเบเบปเบเบเบฐเบเบดเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเป, เปเบเปเบกเบตเบชเบดเปเบเบซเบเบถเปเบเบเบตเปเบฅเบปเบเบเบงเบเบเปเบญเบ. เปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเบเบฐเบเบฒเบเบเบปเบ, เบเบฒเบเบเบปเบเบเบงเบเบเบทเบเบเบฒเบเบเบปเบเบชเบญเบเบชเปเบฒเบฅเบฑเบเบชเบฑเบเบเบฒเบเบญเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเปเปเบเปเปเบฎเบฑเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฒเบกเบเบนเปเปเบเบปเปเบฒเบฎเปเบงเบกเปเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒเบงเปเบฒเบกเบตเบเบปเบเบญเบทเปเบเบเบตเปเบเปเปเบกเบตเบกเบฑเบ, เบเปเปเบกเบต.
เปเบเบดเปเบเบเบทเบงเปเบฒเปเบเปเปเบญเบปเบฒเปเบเปเบชเปเบเบฑเบเบเปเปเบเบงเบฒเบกเบเบญเบเบเปเบญเบ, เบชเบญเบเบกเบทเปเบเปเปเบกเบฒเบเบนเปเบเบดเบเบฒเบเบชเบฒเปเบเปเบเบดเบกเบเปเบฒเบเบดเบเบเปเบฒเปเบซเบฑเบเปเบฅเบฐเบเปเบญเบเบเบฑเบเบเปเปเปเบเบปเปเบฒเปเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเบเบฒเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบญเบเบเปเบญเบเปเบเบเบเบฑเบเปเบญเบตเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฑเบเบชเบดเบเบซเบผเบทเบเบฝเบเปเบเปเบเบดเบเบงเปเบฒเบกเบฑเบเบเปเปเบเบตเบซเบผเบฒเบเบเบตเปเบกเบฑเบเบเปเปเบเปเบญเบเบเบฒเบเบเปเบฒเบเบดเบเบเปเบฒเปเบซเบฑเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฒเบกเบเปเบฒเบเบฒเบกเบขเบนเปเปเบเบซเบเปเบฒ, เปเบเปเบเปเปเปเบเปเบฎเบฑเบเบเปเบฒเบเบญเบ. เปเบเบดเบโเปเบกเปเบโเบงเปเบฒโเบกเบฑเบโเบเปเปโเบกเบตโเบเบงเบฒเบกโเบฅเบฑเบโเบเบตเปโเบเบฑเบโเบชเบดเบ, เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเบทโเบงเปเบฒโเบกเบฑเบโเบเปเปโเบเปเบฒโเปเบเบฑเบโเบเบตเปโเบเบฐโเบเบฝเบโเบเปเปโเบเบงเบฒเบกโเบชเปเบงเบโเบเบธเบโเบเบปเบ.
เปเบงเบฅเบฒเบซเบผเบฒเบเปเบกเปเบเปเบเปเปเบงเบฅเบฒเปเบเบเบงเบฒเบกเปเบเบปเปเบฒเปเบ, เบเบฑเปเบเบเบฑเปเบเบเบถเปเบเปเบเปเบเบฑเบเบชเบดเบเปเบเบเบฝเบเบเบปเบเบเบงเบฒเบก. เปเบเบทเปเบญเบเบเบฒเบเบเปเปเบกเบตเบเปเปเบกเบนเบเบซเบผเบฒเบ, เบเบปเบเบเบงเบฒเบกเบเบตเปเบเบฐเบเปเบงเบเบเบฐเบซเบเบฑเบเปเบงเบฅเบฒเบชเปเบฒเบฅเบฑเบเบเบธเบเบเบปเบเบเบตเปเบชเบปเบเปเบ.
เปเบเบงเบเบงเบฒเบกเบเบดเบเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบ TON
เบเปเบญเบเบเบตเปเบเปเบฒเบเบเบฐเบเบฝเบเบซเบเบฑเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเบเบญเบญเบเบงเปเบฒเบเปเบฒเบเปเบเบเบตเปเบเบฐเปเบเบปเปเบฒเบซเบฒเปเบฅเบทเปเบญเบเบเบตเปเบเบฒเบ. เปเบเบฒเบฐเบชเบฐเบเบฑเปเบ, เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบเบญเบเบเปเบฒเบเบงเปเบฒเบเบฒเบเบชเปเบงเบเปเบเบเบญเบเบฅเบฐเบเบปเบเบเบฐเบเบญเบเบเปเบงเบ. เบซเบผเบฒเบเบเบตเปเบเบฑเบเปเบเบ, เบเบฒเบเบชเปเบงเบเปเบเบเบตเปเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบฎเบนเปเปเบเบทเปเบญเบเบฝเบเบชเบฑเบเบเบฒเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบขเปเบฒเบเบซเบเปเบญเบเบเบฒเบเบเบฐเปเบเบ.
เบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบธเบกเปเบชเปเบเบฒเบเบเบฝเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบฅเบฐเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ TON Virtual Machine (TVM), Fift ะธ FunC, เบเบฑเปเบเบเบฑเปเบเบเบปเบเบเบงเบฒเบกเปเบกเปเบเบเปเบฒเบเบเบทเบเบฑเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเบญเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบเบเบเบฒเบเบเบปเบเบเบฐเบเบด. เบเบงเบโเปเบฎเบปเบฒโเบเบฐโเบเปเปโเบขเบนเปโเปเบโเบงเบดโเบเบตโเบเบฒเบโเบเบญเบโเปเบงโเบเบตโเบเบปเบงโเบกเบฑเบโเปเบญเบโเปเบฎเบฑเบโเบงเบฝเบโเบขเบนเปโเบเบตเปโเบเบตเปโ.
เปเบเบเบเบปเปเบงเปเบเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ TVM เปเบฅเบฐเบเบฒเบชเบฒ Fift เบกเบตเปเบญเบเบฐเบชเบฒเบเบเบตเปเปเบเบฑเบเบเบฒเบเบเบฒเบเบเบตเปเบเบต. เปเบเบเบฐเบเบฐเบเบตเปเปเบเบปเปเบฒเบฎเปเบงเบกเบเบฒเบเปเบเปเบเบเบฑเบเปเบฅเบฐเปเบเบเบฑเบเบเบธเบเบฑเบเปเบเบเบฐเบเบฐเบเบตเปเบเบฝเบเบชเบฑเบเบเบฒเปเบเบเบฐเบเบธเบเบฑเบ, เบเปเบญเบเบกเบฑเบเบเบฐเบซเบฑเบเปเบเบซเบฒเบเบฒเบ.
เบเบฒเบชเบฒเบเบปเปเบเบเปเบเบตเปเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบกเปเบเบเบฝเบ FunC. เบเปเปเบกเบตเปเบญเบเบฐเบชเบฒเบเบเปเบฝเบงเบเบฑเบเบกเบฑเบเปเบเปเบงเบฅเบฒเบเบตเป, เบเบฑเปเบเบเบฑเปเบเปเบเบทเปเบญเบเบฝเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบชเบถเบเบชเบฒเบเบปเบงเบขเปเบฒเบเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบฒเบเบเบฑเบเปเบเบฑเบเบกเปเบฝเบเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบเปเบฅเบฐเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบชเบฒเบเบญเบเบกเบฑเบเปเบญเบเบขเบนเปเบเบตเปเบเบฑเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบฒเบเบชเบญเบเบเบตเปเบเปเบฒเบเบกเบฒ. เบเบฒเบเปเบเปเบเบเบฑเบ. เบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเบเบญเบเบเปเบฒเบเบเบญเบเบเบปเบเบเบงเบฒเบก.
เปเบซเปเปเบงเบปเปเบฒเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฝเบเปเบฅเปเบงเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบชเปเบฒเบฅเบฑเบ FunC, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบฅเบงเบเบฅเบงเบกเบฅเบฐเบซเบฑเบเปเบเบปเปเบฒเปเบเปเบ Fift assembler.
เบชเบฑเบเบเบฒเบญเบฑเบเบชเบฐเบฅเบดเบเบฐเบเบตเปเบฅเบงเบเบฅเบงเบกเบเบฑเบเบเบปเบเบเบทเบเปเบเบตเบเปเบเป. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฝเบเบซเบเปเบฒเบเบตเปเบขเบนเปเปเบ Fift, เปเบเบดเปเบเบเบฐเปเบญเบปเบฒเบฅเบฐเบซเบฑเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบฅเบฐเบเบฒเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบญเบทเปเบเปเปเบเบฑเบ input, เปเบฅเบฐเบเบปเบเปเบเปเบฎเบฑเบเบเบฐเปเบเบฑเบเปเบเบฅเปเบเบตเปเบกเบตเบเบฒเบกเบชเบฐเบเบธเบ. .boc (เบเบถเปเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ "เบเบปเบเบเบญเบเบเบธเบฅเบฑเบ"), เปเบฅเบฐ, เบเบถเปเบเบเบฑเบเบงเบดเบเบตเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฝเบเบกเบฑเบ, เบฅเบฐเบซเบฑเบเบชเปเบงเบเบเบปเบงเปเบฅเบฐเบเบตเปเบขเบนเป, เปเบเบดเปเบเบเบทเบเบชเปเบฒเบเบเบถเปเบเปเบเบเบญเบตเบเปเบชเปเบฅเบฐเบซเบฑเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ. เปเบเบปเปเบฒเบชเบฒเบกเบฒเบเบชเบปเปเบเบเบผเบฒเบกเปเบเบซเบฒเบเบตเปเบขเบนเปเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบตเปเบเบฑเบเบเปเปเปเบเปเปเบเบตเบเปเบเป.
เปเบเบทเปเบญเปเบเบตเบเปเบเปเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบ TON เปเบเปเบฎเบฑเบ .boc เปเบเบฅเปเบเบฐเบเปเบญเบเบเบทเบเบชเบปเปเบเปเบเบซเบฒ blockchain เปเบเบเปเบเปเบฅเบนเบเบเปเบฒเปเบชเบเบชเบฐเบซเบงเปเบฒเบ (เปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบงเปเบฒเบเปเบฒเบเบฅเบธเปเบกเบเบตเป). เปเบเปเบเปเบญเบเบเบตเปเบเบฐเปเบเบตเบเปเบเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบญเบเบเบผเบฒเบกเปเบเบซเบฒเบเบตเปเบขเบนเปเบเบตเปเบชเปเบฒเบเบเบถเปเบ, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบฐเบเปเปเบเบทเบเปเบเบตเบเปเบเป. เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบดเบกเปเบเบตเบเปเบเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบปเบงเบเบฑเบเบเบฑเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบเบเบเบฒเบเบชเบปเปเบเบเปเปเบเบงเบฒเบกเบเบฒเบเบเบฒเบเบเบญเบ (เบเบปเบงเบขเปเบฒเบ, เบเบฒเบเบเปเบฒเปเบเปเบฅเบนเบเบเปเบฒเปเบชเบเบชเบฐเบซเบงเปเบฒเบ) เบซเบผเบทเบเบฒเบเบเบฒเบเปเบ (เบเบปเบงเบขเปเบฒเบ, เบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบซเบเบถเปเบเบชเบปเปเบเบเปเปเบเบงเบฒเบกเบเบฒเบเปเบ TON).
เปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเปเบเบปเปเบฒเปเบเบงเบดเบเบตเบเบฒเบเปเบเบตเบเปเบเปเบฅเบฐเบซเบฑเบ, เบกเบฑเบเบเบฐเบเปเบฒเบเบเบถเปเบ. เบเบงเบโเปเบฎเบปเบฒโเบเบฐโเบกเบฒเบโเบฎเบนเปโเบงเปเบฒโเบชเบดเปเบโเบเบตเปโเบเบงเบโเปเบฎเบปเบฒโเบเปเบญเบโเบเบฒเบโเบเบตเปโเบเบฐโเบเบฝเบโเปเบฅเบฐโเบงเบดโเบเบตโเบเบฒเบโเปเบเบโเบเบฒเบโเบเบญเบโเบเบงเบโเปเบฎเบปเบฒโเบเบฐโเปเบฎเบฑเบโเบงเบฝเบโ. เปเบฅเบฐเปเบเบเบฐเบเบฐเบเบตเปเบเบฝเบ, เบเบงเบเปเบฎเบปเบฒเบเบญเบเบซเบฒเบงเบดเบเบตเบเบฒเบเบเบตเปเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบฅเปเบงเปเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบตเปเบกเบตเบขเบนเป, เบซเบผเบทเบเบงเบเปเบฎเบปเบฒเปเบเบดเปเบเปเบเบปเปเบฒเปเบเปเบเบฅเบฐเบซเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ Fift ะธ FunC เปเบ repository เบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบ, เบซเบผเบทเปเบเบดเปเบเบขเบนเปเปเบเปเบญเบเบฐเบชเบฒเบเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบ.
เปเบฅเบทเปเบญเบเปเบเปเบญเบเปเบเปเบเบปเปเบเบซเบฒเบเปเบฒเบชเปเบฒเบเบฑเบเปเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒ Telegram เบเปเบญเบเบเบตเปเบเบนเปเปเบเบปเปเบฒเบฎเปเบงเบกเบเบฒเบเปเบเปเบเบเบฑเบเปเบฅเบฐเบเบฐเบเบฑเบเบเบฒเบ Telegram เบเบฑเบเบซเบกเบปเบเปเบเปเบฅเบงเบเบฅเบงเบก, เปเบฅเบฐเบกเบฑเบเบเปเปเปเบเบตเบเบเบทเปเบเบงเปเบฒเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบเปเบเบเบฑเบเบเบธเบเปเบเบปเบเปเบเปเปเบเบปเปเบฒเปเบฎเบกเบเบฑเบเบขเบนเปเบเบตเปเบเบฑเปเบเปเบฅเบฐเปเบฅเบตเปเบกเบชเบปเบเบเบฐเบเบฒ Fift เปเบฅเบฐ FunC. เปเบเบทเปเบญเบกเบเปเปเปเบเบเบญเบเบเปเบฒเบเบเบญเบเบเบปเบเบเบงเบฒเบก.
เบกเบฑเบเปเบเบฑเบเปเบงเบฅเบฒเบเบตเปเบเบฐเบเปเบฒเบเบญเบญเบเบเบฒเบเบเบดเบเบชเบฐเบเบตเปเบเบชเบนเปเบเบฒเบเบเบฐเบเบดเบเบฑเบ.
เบเบฒเบเบเบฐเบเบฝเบกเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ TON
เบเปเบญเบเปเบเปเปเบฎเบฑเบเบเบธเบเบขเปเบฒเบเบเบตเปเบเบฐเบญเบฐเบเบดเบเบฒเบเปเบงเปเปเบเบเบปเบเบเบงเบฒเบกเปเบ MacOS เปเบฅเบฐเบเบงเบเบชเบญเบเบกเบฑเบเบชเบญเบเปเบเบทเปเบญเปเบเบชเบฐเบเบฒเบเบเบตเปเบชเบฐเบญเบฒเบ Ubuntu 18.04 LTS เปเบ Docker.
เบชเบดเปเบเบเปเบฒเบญเบดเบเบเบตเปเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเปเบกเปเบเบเบฒเบงเปเบซเบฅเบเปเบฅเบฐเบเบดเบเบเบฑเปเบ lite-client เบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเปเปเบซเป TON.
เบเบณเปเบเบฐเบเบณเปเบเปเบงเบฑเบเปเบเบเปเบเบฒเบเบเบฒเบเบญเบฐเบเบดเบเบฒเบเบเบฐเบเบงเบเบเบฒเบเบเบดเบเบเบฑเปเบเบขเปเบฒเบเบฅเบฐเบญเบฝเบ เปเบฅเบฐ เบเบฑเบเปเบเบ, เปเบเบเบเปเปเบฅเบฐเบเบธเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบฒเบเบขเปเบฒเบ. เปเบเบเบตเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบดเบเบฑเบเบเบฒเบกเบเบณเปเบเบฐเบเบณ, เบเบดเบเบเบฑเปเบ dependencies เบเบตเปเบเบฒเบเบซเบฒเบเปเบเบเบฒเบกเบเบฒเบ. เบเปเบญเบเบเปเปเปเบเปเบฅเบงเบเบฅเบงเบกเปเบเปเบฅเบฐเปเบเบเบเบฒเบเบเปเบงเบเบเบปเบงเปเบญเบ เปเบฅเบฐ เบเบดเบเบเบฑเปเบเบเบฒเบเบเปเบญเบเปเบเบฑเบเบเปเปเบกเบนเบเบเบฒเบเบเบฒเบ. Ubuntu (เปเบ MacOS เบเบตเปเบเปเบญเบเปเบเป brew).
apt -y install git
apt -y install wget
apt -y install cmake
apt -y install g++
apt -y install zlib1g-dev
apt -y install libssl-dev เปเบกเบทเปเบญเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบฑเบเบซเบกเบปเบเบเบทเบเบเบดเบเบเบฑเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบดเบเบเบฑเปเบเปเบเป lite-client, Fift, FunC.
เบเปเบฒเบญเบดเบ, เบเบงเบเปเบฎเบปเบฒ clone repository TON เบเปเบญเบกเบเบฑเบเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบญเบเบกเบฑเบ. เปเบเบทเปเบญเบเบงเบฒเบกเบชเบฐเบเบงเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฎเบฑเบเบเบธเบเบขเปเบฒเบเปเบเปเบเบเปเบเบต ~/TON.
cd ~/TON
git clone https://github.com/ton-blockchain/ton.git
cd ./ton
git submodule update --init --recursiveเบเบฑเบเปเบเบฑเบเบกเปเบฝเบเบเบฑเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบ Fift ะธ FunC.
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบกเบตเบเบงเบฒเบกเบเปเบญเบกเบเบตเปเบเบฐเบเบฐเบเบญเบเปเบเบเบเบฒเบ. เบฅเบฐเบซเบฑเบ repository เปเบกเปเบ cloned เปเบเบปเปเบฒเปเบเปเบเปเบเบเปเบเบต ~/TON/ton. เบเบฒเบ ~/TON เบชเปเบฒเบเปเบเบเปเบเบต build เปเบฅเบฐเปเบเบฑเบเบเปเบฒเปเบเบเบเบฒเบเบขเบนเปเปเบเบกเบฑเบ.
mkdir ~/TON/build
cd ~/TON/build
cmake ../tonเบเบฑเบเบเบฑเปเบเปเบเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบเบฐเบเบฝเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเปเปเบเบฝเบเปเบเป lite-clientเปเบเป Fift ั FunC, เบชเบฐเบเบฑเปเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบฅเบงเบเบฅเบงเบกเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบ. เบกเบฑเบเบเปเปเปเบกเปเบเบเบฐเบเบงเบเบเบฒเบเบเบตเปเปเบง, เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบฅเปเบเปเบฒ.
cmake --build . --target lite-client
cmake --build . --target fift
cmake --build . --target funcเบเปเปเปเบ, เบเบฒเบงเปเบซเบฅเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเบกเบตเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบ node เบเบตเป lite-client เบเบฐเปเบเบทเปเบญเบกเบเปเป.
wget https://test.ton.org/ton-lite-client-test1.config.jsonเปเบฎเบฑเบเบเบฒเบเบฎเปเบญเบเบเปเบเบฑเปเบเบเปเบฒเบญเบดเบเบเบฑเบ TON
เบเบญเบเบเบตเปเปเบซเปเปเบเบตเบเบเบปเบง lite-client.
cd ~/TON/build
./lite-client/lite-client -C ton-lite-client-test1.config.jsonเบเปเบฒเบเบฒเบเบเปเปเบชเปเบฒเบเบเบฐเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบซเบผเบฑเบเบเบฒเบเบเบฒเบเปเบเบตเบเบเบปเบงเบเปเบฒเบเบเบฐเปเบซเบฑเบเบเบฑเบเบเบถเบเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบญเบเบฅเบนเบเบเปเบฒเปเบชเบเบชเบฐเบซเบงเปเบฒเบเบเบฑเบ node.
[ 1][t 2][1582054822.963129282][lite-client.h:201][!testnode] conn ready
[ 2][t 2][1582054823.085654020][lite-client.cpp:277][!testnode] server version is 1.1, capabilities 7
[ 3][t 2][1582054823.085725069][lite-client.cpp:286][!testnode] server time is 1582054823 (delta 0)
...เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบ help เปเบฅเบฐเปเบเบดเปเบเบงเปเบฒเบเปเบฒเบชเบฑเปเบเปเบเบเบตเปเบกเบตเบขเบนเป.
helpเปเบซเปเบเบญเบเบฅเบฒเบเบเบทเปเบเปเบฒเบชเบฑเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเปเบเบเบปเบเบเบงเบฒเบกเบเบตเป.
list of available commands:
last Get last block and state info from server
sendfile <filename> Load a serialized message from <filename> and send it to server
getaccount <addr> [<block-id-ext>] Loads the most recent state of specified account; <addr> is in [<workchain>:]<hex-or-base64-addr> format
runmethod <addr> [<block-id-ext>] <method-id> <params>... Runs GET method <method-id> of account <addr> with specified parameterslast ะฟะพะปััะฐะตั ะฟะพัะปะตะดะฝะธะน ัะพะทะดะฐะฝะฝัะน ะฑะปะพะบ ั ัะตัะฒะตัะฐ.
sendfile <filename> ะพัะฟัะฐะฒะปัะตั ะฒ TON ัะฐะนะป ั ัะพะพะฑัะตะฝะธะตะผ, ะธะผะตะฝะฝะพ ั ะฟะพะผะพััั ััะพะน ะบะพะผะฐะฝะดั ะฟัะฑะปะธะบัะตััั ัะผะฐัั-ะบะพะฝััะฐะบั ะธ ะทะฐะฟััะพัั ะบ ะฝะตะผั.
getaccount <addr> ะทะฐะณััะถะฐะตั ัะตะบััะตะต ัะพััะพัะฝะธะต ัะผะฐัั-ะบะพะฝััะฐะบัะฐ ั ัะบะฐะทะฐะฝะฝัะผ ะฐะดัะตัะพะผ.
runmethod <addr> [<block-id-ext>] <method-id> <params> ะทะฐะฟััะบะฐะตั get-ะผะตัะพะดั ัะผะฐััะบะพะฝััะฐะบัะฐ. เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเปเบญเบกเบเบตเปเบเบฐเบเบฝเบเบชเบฑเบเบเบฒเบเบปเบงเบกเบฑเบเปเบญเบ.
ะ ะตะฐะปะธะทะฐัะธั
Idea
เบเบฑเปเบเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฝเบเปเบงเปเบเปเบฒเบเปเบเบดเบ, เบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบเบฝเบเปเบกเปเบ lottery.
เบเบดเปเบเปเบเบเบงเปเบฒเบเบฑเปเบ, เบเบตเปเบเปเปเปเบกเปเบเบซเบงเบเบเบตเปเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบทเปเบเบตเปเปเบฅเบฐเบฅเปเบเปเบฒเบซเบเบถเปเบเบเบปเปเบงเปเบกเบ, เบกเบทเปเบซเบผเบทเปเบเบทเบญเบ, เปเบเปเบเบฑเบเบเบตเบเบตเปเบเบนเปเปเบเปเปเบญเบเปเบเบซเบฒเบเบตเปเบขเบนเปเบชเบฑเบเบเบฒ. N เบเบฃเบฒเบก, เปเบฅเบฐเบเบฑเบเบเบตเปเบเปเบฎเบฑเบเบกเบฑเบเบเบฑเบเบเบทเบเบกเบฒ 2 * N เบเบผเบฒเบกเบซเบผเบทเบชเบนเบเปเบชเบ. เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฎเบฑเบเปเบซเปเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบเบฐเบเบฐเบเบฐเบกเบฒเบ 40%. เบเปเบฒเบเปเปเบกเบตเบเบผเบฒเบกเบเบฝเบเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเบเปเบเบดเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบดเบเบฒเบฅเบฐเบเบฒเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเปเบเบฑเบเบเบฒเบเบเบทเปเบกเปเบเบดเบ.
เบเบดเปเบเปเบเบเบงเปเบฒเบเบฑเปเบ, เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบชเปเบฒเบเบฑเบเบเบตเปเบเบฒเบเปเบเบตเบกเบเบฑเบเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเปเปเบเปเบงเบฅเบฒเบเบตเปเปเบเปเบเบดเบเปเบฅเบฐเปเบเบฎเบนเบเปเบเบเบเบตเปเบชเบฐเบเบงเบเบชเบฐเบเบฒเบ, เปเบเบทเปเบญเปเบซเปเบเบนเปเปเบเปเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเปเบเปเบเบฑเบเบเบตเบงเปเบฒเบฅเบฒเบงเบเบฐเบเบฐเบซเบผเบทเบชเบนเบเปเบชเบ. เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเปเบงเบฑเบเปเบเบเปเบเบตเปเบเบฐเบชเบฐเปเบเบเบเบฒเบเปเบเบตเบกเบเบฑเบเปเบฅเบฐเบเบปเบเปเบเปเบฎเบฑเบเปเบเบเบเบปเบเบเบฒเบ TON.
เบเบฒเบเบเบฝเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ
เปเบเบทเปเบญเบเบงเบฒเบกเบชเบฐเบเบงเบเบชเบฐเบเบฒเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบเบฑเปเบเปเบชเปเบฅเบฐเบซเบฑเบเบชเปเบฒเบฅเบฑเบ FunC; plugin เบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเปเบฅเบฐเบเบดเบเบเบฑเปเบเบขเบนเปเปเบ Visual Studio Code เบเบญเบเบซเบฒ; เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเบตเปเบกเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเปเบฎเบฑเบเปเบซเป plugin เปเบเบตเบเปเบเบตเบเบเปเปเบชเบฒเบเบฒเบฅเบฐเบเบฐ. เบเบญเบเบเบฒเบเบเบตเป, เบเบนเปเปเบเบเบนเปเบซเบเบถเปเบเบเปเบญเบเบซเบเปเบฒเบเบตเปเปเบเปเปเบฎเบฑเบ plugin เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ Fift, เบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเบเบดเบเบเบฑเปเบเบกเบฑเบเปเบฅเบฐเบเบญเบเบซเบฒเบกเบฑเบเบขเบนเปเปเบ VSC.
เปเบซเปเบชเปเบฒเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเปเบเบเบฑเบเบเบตเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฐเบเบดเบเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบ.
เปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเบตเบงเบดเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบเบเบถเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฝเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบฅเบฐเบเบปเบเบชเบญเบเบกเบฑเบเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบเบเบปเบเบเบงเปเบฒเบกเบฑเบเบเบฐเบเบฝเบกเบเปเบญเบก. เบเบฝเบเปเบเปเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบตเบเปเบเปเปเบ TON.
เบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบกเบตเบชเบญเบเบงเบดเบเบตเบเบฒเบเบเบฒเบเบเบญเบเบเบตเปเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเป. เบซเบเปเบฒเบเปเบฒเบญเบดเบ, recv_external() เบเบฑเบเบเบฑเบเบเบตเปเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบฎเปเบญเบเบเปเบเปเปเบชเบฑเบเบเบฒเบกเบฒเบเบฒเบเปเบฅเบเบเบฒเบเบเบญเบ, เบเบฑเปเบเปเบกเปเบ, เบเปเปเปเบกเปเบเบกเบฒเบเบฒเบ TON, เบเบปเบงเบขเปเบฒเบ, เปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบเปเปเบเบงเบฒเบกเปเบฅเบฐเบชเบปเปเบเบเปเบฒเบเบฅเบนเบเบเปเบฒ lite. เบญเบฑเบเบเบตเบชเบญเบ, recv_internal() เบเบตเปเปเบกเปเบเปเบงเบฅเบฒเบเบตเป, เบเบฒเบเปเบ TON เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ, เบชเบฑเบเบเบฒเปเบเปเบซเบกเบฒเบเปเบเบดเบเบเบงเบเปเบฎเบปเบฒ. เปเบเบเบฑเบเบชเบญเบเบเปเบฅเบฐเบเบต, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเปเบเบซเบฒเบซเบเปเบฒเบเบตเป.
เปเบซเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบเปเบฒเบเบเบฒเบเบเบตเปเบเบฐเปเบฎเบฑเบเบงเบฝเบเบเปเบฒเบเบฑเบเบเบตเบกเบกเบฒ, เปเบเปเบเปเปเบกเบตเบเบฒเบเปเบซเบผเบเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบเปเบเบกเบฑเบ.
() recv_internal(slice in_msg) impure {
;; TODO: implementation
}
() recv_external(slice in_msg) impure {
;; TODO: implementation
}เปเบเบเบตเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบญเบฐเบเบดเบเบฒเบเบงเปเบฒเบกเบฑเบเปเบกเปเบเบซเบเบฑเบ slice. เบเปเปเบกเบนเบเบเบฑเบเบซเบกเบปเบเบเบตเปเปเบเบฑเบเปเบงเปเปเบ TON Blockchain เปเบกเปเบเบเบฒเบเบฅเบงเบเบฅเบงเบก TVM cell เบซเบผเบทโเบเบฝเบโเปเบเป cell, เปเบเปเบเบฅเบเบฑเปเบเบเปเบฒเบงเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเปเบเปเปเบเบดเบ 1023 bits เปเบฅเบฐเบชเบนเบเปเบเบดเบ 4 เปเบเบทเปเบญเบกเบเปเปเปเบเบซเบฒเปเบเบฅเบญเบทเปเบ.
TVM cell slice เบซเบผเบท slice เบเบตเปเปเบกเปเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง cell เบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบงเบดเปเบเบฒเบฐเบกเบฑเบ, เบกเบฑเบเบเบฐเบเบฒเบเปเบเบฑเบเบเบตเปเบเบฐเปเบเปเบเบเปเปเบกเบฒ. เบชเบดเปเบเบเบตเปเบชเปเบฒเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบงเบเปเบฎเบปเบฒเปเบกเปเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบญเบ slice เปเบฅเบฐเบเบถเปเบเบเบฑเบเบเบฐเปเบเบเบเบญเบเบเปเปเบเบงเบฒเบก, เบเบฐเบกเบงเบเบเบปเบเบเปเปเบกเบนเบเปเบ recv_external() เบซเบผเบท recv_internal().
impure โ เบเปเบฒเบชเปเบฒเบเบฑเบเบเบตเปเบเบตเปเบเบญเบเบงเปเบฒเบซเบเปเบฒเบเบตเปเบเบฑเบเปเบเบเบเปเปเบกเบนเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
เปเบซเปเบเบฑเบเบเบถเบเบฅเบฐเบซเบฑเบเบชเบฑเบเบเบฒเปเบ lottery-code.fc เปเบฅเบฐเบฅเบงเบเบฅเบงเบก.
~/TON/build/crypto/func -APSR -o lottery-compiled.fif ~/TON/ton/crypto/smartcont/stdlib.fc ./lottery-code.fc เบเบงเบฒเบกเบซเบกเบฒเบเบเบญเบเบเบธเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเปเบเปเปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบ
~/TON/build/crypto/func -helpเบเบงเบเปเบฎเบปเบฒเปเบเปเบฅเบงเบเบฅเบงเบกเบฅเบฐเบซเบฑเบ Fift assembler เปเบ lottery-compiled.fif:
// lottery-compiled.fif
"Asm.fif" include
// automatically generated from `/Users/rajymbekkapisev/TON/ton/crypto/smartcont/stdlib.fc` `./lottery-code.fc`
PROGRAM{
DECLPROC recv_internal
DECLPROC recv_external
recv_internal PROC:<{
// in_msg
DROP //
}>
recv_external PROC:<{
// in_msg
DROP //
}>
}END>cเบกเบฑเบเบชเบฒเบกเบฒเบเปเบเบตเบเบเบปเบงเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฐเบเบฝเบกเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก.
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเบชเบฒเบเบเปเบฒเบญเบดเบเปเบเบทเปเบญเบกเบเปเป Asm.fif, เบเบตเปเปเบกเปเบเบฅเบฐเบซเบฑเบเบเบตเปเบเบฝเบเปเบ Fift เบชเปเบฒเบฅเบฑเบ Fift assembler.
เปเบเบทเปเบญเบเบเบฒเบเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบฅเบฐเบเบปเบเบชเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบขเบนเปเปเบเบเปเบญเบเบเบดเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบชเปเบฒเบเปเบเบฅเป lottery-test-suite.fif เปเบฅเบฐเบเบฑเบเบฅเบญเบเบฅเบฐเบซเบฑเบเบเบตเปเบฅเบงเบเบฅเบงเบกเบขเบนเปเบเบตเปเบเบฑเปเบ, เปเบเบเบเบตเปเปเบเบงเบชเบธเบเบเปเบฒเบเปเบเบกเบฑเบ, เปเบเบดเปเบเบเบฝเบเบฅเบฐเบซเบฑเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบเบฑเบเบเปเบฒเบเบปเบเบเบตเป. codeเบเบฒเบเบเบฑเปเบเปเบญเบเบกเบฑเบเปเบเปเบชเปเปเบเบทเปเบญเบ virtual:
"TonUtil.fif" include
"Asm.fif" include
PROGRAM{
DECLPROC recv_internal
DECLPROC recv_external
recv_internal PROC:<{
// in_msg
DROP //
}>
recv_external PROC:<{
// in_msg
DROP //
}>
}END>s constant code
เบกเบฒเบฎเบญเบเบเบฐเบเบธเบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเบเบฐเปเบเปเบ, เบเบญเบเบเบตเปเปเบซเปเปเบเบตเปเบกเบฅเบฐเบซเบฑเบเบเบฝเบงเบเบฑเบเบเบฑเบเปเบเบฅเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเปเบเบทเปเบญเปเบเบตเบเบเบปเบง TVM.
0 tuple 0x076ef1ea , // magic
0 , 0 , // actions msg_sents
1570998536 , // unix_time
1 , 1 , 3 , // block_lt, trans_lt, rand_seed
0 tuple 100000000000000 , dictnew , , // remaining balance
0 , dictnew , // contract_address, global_config
1 tuple // wrap to another tuple
constant c7
0 constant recv_internal // to run recv_internal()
-1 constant recv_external // to invoke recv_external()ะ c7 เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบถเบเบชเบฐเบเบฒเบเบเบฒเบ, เบเบฑเปเบเปเบกเปเบ, เบเปเปเบกเบนเบเบเบตเป TVM (เบซเบผเบทเบชเบฐเบเบฒเบเบฐเปเบเบทเบญเบเปเบฒเบ) เบเบฐเบเบทเบเปเบเบตเบเบเบปเบง. เปเบเบดเบเปเบกเปเบเบงเปเบฒเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบเปเบเบเบฑเบ, เบซเบเบถเปเบเปเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบเปเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบงเบดเบเบตเบเบฒเบเบชเปเบฒเบ c7 เปเบฅเบฐเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเบเบฅเบญเบ. เปเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบเบงเบเปเบฎเบปเบฒเบญเบฒเบเบเบฐเบเปเบญเบเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ rand_seed เบเบฑเบเบเบฑเปเบเปเบเปเบเบฒเบเบชเปเบฒเบเบเบปเบงเปเบฅเบเปเบเบเบชเบธเปเบกเปเบกเปเบเบเบถเปเบเบเบฑเบเบกเบฑเบเปเบฅเบฐเบเปเบฒเบเปเปเบเปเบฝเบเปเบเบ, เบเบปเบงเปเบฅเบเบเบฝเบงเบเบฑเบเบเบฐเบเบทเบเบชเบปเปเบเบเบทเบเบเบธเบเปเบเบฑเปเบ.
recv_internal ะธ recv_external constants เบเบตเปเบกเบตเบเปเบฒ 0 เปเบฅเบฐ -1 เบเบฐเบฎเบฑเบเบเบดเบเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบซเบฒเบซเบเปเบฒเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเปเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเปเบญเบกเบเบตเปเบเบฐเบชเปเบฒเบเบเบฒเบเบเบปเบเบชเบญเบเบเบฑเปเบเบเปเบฒเบญเบดเบเบชเปเบฒเบฅเบฑเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบตเปเบซเบงเปเบฒเบเปเบเบปเปเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เปเบเบทเปเบญเบเบงเบฒเบกเบเบฑเบเปเบเบ, เบชเปเบฒเบฅเบฑเบเบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบตเปเบกเบเบฒเบเบเบปเบเบชเบญเบเบเบฑเบเบซเบกเบปเบเปเบเบปเปเบฒเปเบเปเบเบฅเปเบเบฝเบงเบเบฑเบ lottery-test-suite.fif.
เบกเบฒเบชเปเบฒเบเบเบปเบงเปเบ storage เปเบฅเบฐเบเบฝเบเบญเบฑเบเปเบเบปเปเบฒเปเบชเปเปเบเบกเบฑเบ cell, เบเบตเปเบเบฐเปเบเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
message เบเบตเปเปเบกเปเบเบเปเปเบเบงเบฒเบกเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเปเบเปเบเบซเบฒเบเบนเปเบเบดเบเบเปเป smart เบเบฒเบเบเบฒเบเบเบญเบ. เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบฐเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบซเบงเปเบฒเบเปเบเบปเปเบฒเบชเปเบฒเบฅเบฑเบเปเบเบเบฑเบเบเบธเบเบฑเบ.
variable storage
<b b> storage !
variable message
<b b> message ! เบซเบผเบฑเบเบเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฐเบเบฝเบกเบเปเบฒเบเบปเบเบเบตเปเปเบฅเบฐเบเบปเบงเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเบตเบเบเบปเบง TVM เปเบเบเปเบเปเบเปเบฒเบชเบฑเปเบ runvmctx เปเบฅเบฐเบเปเบฒเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบตเปเบชเปเบฒเบเบเบทเปเบเปเบเบซเบฒเบงเบฑเบเบชเบฐเบเบธเบเปเบญเบ.
message @
recv_external
code
storage @
c7
runvmctx เปเบเบเบตเปเบชเบธเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฐเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบ เบฅเบฐโเบซเบฑเบโเบฅเบฐโเบเบฑเบโเบเบฒเบโเบเบฒเบโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโ Fift.
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบฅเบฐเบซเบฑเบเบเบปเบเปเบเปเบฎเบฑเบ.
export FIFTPATH=~/TON/ton/crypto/fift/lib // ะฒัะฟะพะปะฝัะตะผ ะพะดะธะฝ ัะฐะท ะดะปั ัะดะพะฑััะฒะฐ
~/TON/build/crypto/fift -s lottery-test-suite.fif เปเบเบฅเปเบเบฅเบกเบเบงเบเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบเบเปเปเบกเบตเบเปเปเบเบดเบเบเบฒเบเปเบฅเบฐเปเบเบเบปเบเปเบเปเบฎเบฑเบเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบซเบฑเบเบเบฑเบเบเบถเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ:
execute SETCP 0
execute DICTPUSHCONST 19 (xC_,1)
execute DICTIGETJMPZ
execute DROP
execute implicit RET
[ 3][t 0][1582281699.325381279][vm.cpp:479] steps: 5 gas: used=304, max=9223372036854775807, limit=9223372036854775807, credit=0เบเบดเปเบเปเบซเบเป, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฝเบเบชเบฐเบเบฑเบเบเปเบฒเบญเบดเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเปเบเบตเปเบกเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ. เบเปเบฒเบญเบดเบเปเบซเปเบเบฑเบเบเบฒเบเบเบฑเบเบเปเปเบเบงเบฒเบกเบเบตเปเบกเบฒเบเบฒเบเปเบฅเบเบเบฒเบเบเบญเบเปเบเบทเปเบญ recv_external()
เบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบปเบงเปเบญเบเปเบฅเบทเบญเบเบฎเบนเบเปเบเบเบเปเปเบเบงเบฒเบกเบเบตเปเบชเบฑเบเบเบฒเบชเบฒเบกเบฒเบเบเบญเบกเบฎเบฑเบเปเบเป.
เปเบเปเบเบปเบเบเบฐเบเบดเปเบฅเปเบง
- เบเปเบญเบเบญเบทเปเบ เปเบปเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบปเบเบเปเบญเบเบชเบฑเบเบเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฒเบเปเบฅเบเบเบฒเบเบเบญเบเปเบฅเบฐเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบกเบตเบเบฝเบเปเบเปเปเบเบปเปเบฒเบเบญเบเบชเบฑเบเบเบฒเปเบเบปเปเบฒเบเบฑเปเบเบเบตเปเบชเบฒเบกเบฒเบเบชเบปเปเบเบเปเปเบเบงเบฒเบกเบเบฒเบเบเบญเบเปเบเบซเบฒเบกเบฑเบ.
- เบญเบฑเบเบเบตเบชเบญเบ, เปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเบชเบปเปเบเบเปเปเบเบงเบฒเบกเบเบตเปเบเบทเบเบเปเบญเบเปเบเบซเบฒ TON, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบซเปเบชเบดเปเบเบเบตเปเปเบเบตเบเบเบถเปเบเบขเปเบฒเบเปเบเปเบเบญเบเปเบฅเบฐเปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเบชเบปเปเบเบเปเปเบเบงเบฒเบกเบเบฝเบงเบเบฑเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบฐเบเบดเปเบชเบเบกเบฑเบ.
เบเบฑเปเบเบเบฑเปเบเปเบเบทเบญเบเบเบธเบเปเบชเบฑเบเบเบฒเปเบเปเปเบเบเบฑเบเบซเบฒเบเบฑเบเบชเบญเบเบขเปเบฒเบเบเบตเป, เบเบฑเบเบเบฑเปเบเปเบเปเบชเบฑเบเบเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบญเบกเบฎเบฑเบเบเปเปเบเบงเบฒเบกเบเบฒเบเบเบญเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเบนเปเบฅเปเบเบฑเปเบเบเบฑเบ.
เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฎเบฑเบเบกเบฑเบเปเบเบฅเปเบฒเบเบฑเบเบเบตเปเบเบเบฑเบเบเบฑเบ. เบเปเบฒเบญเบดเบ, เปเบซเปเปเบเปเปเบเบเบฑเบเบซเบฒเบเปเบงเบเบเบฒเบเบเปเปเบฒเบเปเบญเบ; เบเปเบฒเบชเบฑเบเบเบฒเปเบเปเบฎเบฑเบเบเปเปเบเบงเบฒเบกเบเบฑเปเบเบเปเบฒเบงเปเบฅเปเบงเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบกเบฑเบ, เบกเบฑเบเบเบฐเบเปเปเบเบฐเบเบดเบเบฑเบเปเบเบฑเบเบเบฑเปเบเบเบตเบชเบญเบ. เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเปเบเบเบฑเบเบซเบฒเปเบเบทเปเบญเปเบซเปเบเบฝเบเปเบเปเบงเบปเบเบเบฒเบเบชเบฐเปเบเบฒเบฐเปเบเบซเบเบถเปเบเบเบญเบเบเบฐเบเบฒเบเบปเบเบชเบฒเบกเบฒเบเบชเบปเปเบเบเปเปเบเบงเบฒเบกเปเบเบซเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
เบกเบตเบงเบดเบเบตเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบทเปเบญเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเปเบกเบตเบเปเปเบเบงเบฒเบกเบเบตเปเบเปเปเบฒเบเบฑเบ. เบเบตเปเปเบกเปเบเบงเบดเบเบตเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฎเบฑเบเบกเบฑเบ. เปเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ, เบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบเบปเบงเบเบฑเบเบเบญเบเบเปเปเบเบงเบฒเบกเบเบตเปเปเบเปเบฎเบฑเบเบเปเบงเบเบกเบนเบเบเปเบฒเปเบเบทเปเบญเบเบเบปเปเบ 0. เปเบเปเบเปเบฅเบฐเบเปเปเบเบงเบฒเบกเปเบเบซเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบตเปเบกเบกเบนเบเบเปเบฒ counter เปเบเบเบฑเบเบเบธเบเบฑเบ. เบเปเบฒเบกเบนเบเบเปเบฒ counter เปเบเบเปเปเบเบงเบฒเบกเบเปเปเบเบปเบเบเบฑเบเบกเบนเบเบเปเบฒเปเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบเปเปเปเบเปเบเบฐเบกเบงเบเบเบปเบเบกเบฑเบ; เบเปเบฒเบกเบฑเบเปเบฎเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบเบธเบเปเบเปเบเบกเบฑเบเปเบฅเบฐเปเบเบตเปเบกเบเบปเบงเบเบฑเบเปเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบเบ 1.
เปเบซเปเบเบฑเบเบเบทเบเปเบเบซเบฒ lottery-test-suite.fif เปเบฅเบฐเปเบเบตเปเบกเบเบฒเบเบเบปเบเบชเบญเบเบเบตเบชเบญเบเปเบชเปเบกเบฑเบ. เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบชเบปเปเบเบเบปเบงเปเบฅเบเบเบตเปเบเปเปเบเบทเบเบเปเบญเบ, เบฅเบฐเบซเบฑเบเบเบงเบเบเบฐเปเบเบฑเบเบเบฒเบเบเบปเบเปเบงเบฑเปเบ. เบเบปเบงเบขเปเบฒเบ, เปเบซเปเบเปเปเบกเบนเบเบชเบฑเบเบเบฒเปเบเบฑเบ 166, เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเปเบ 165.
<b 166 32 u, b> storage !
<b 165 32 u, b> message !
message @
recv_external
code
storage @
c7
runvmctx
drop
exit_code !
."Exit code " exit_code @ . cr
exit_code @ 33 - abort"Test #2 Not passed"เปเบเบตเบเบเบปเบง.
~/TON/build/crypto/fift -s lottery-test-suite.fif เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบซเบฑเบเบงเปเบฒเบเบฒเบเบเบปเบเบชเบญเบเบเบทเบเบเบฐเบเบดเบเบฑเบเบเปเบงเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ.
[ 1][t 0][1582283084.210902214][words.cpp:3046] lottery-test-suite.fif:67: abort": Test #2 Not passed
[ 1][t 0][1582283084.210941076][fift-main.cpp:196] Error interpreting file `lottery-test-suite.fif`: error interpreting included file `lottery-test-suite.fif` : lottery-test-suite.fif:67: abort": Test #2 Not passedเปเบเบเบฑเปเบเบเบญเบเบเบตเป lottery-test-suite.fif เบเบงเบเปเบเบดเปเบเบเบท .
เบเบญเบเบเบตเปเปเบซเปเปเบฎเบปเบฒเบเบทเปเบกเปเบซเบเบเบปเบเปเบเปเปเบเปเบเบเบฑเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบ lottery-code.fc.
() recv_internal(slice in_msg) impure {
;; TODO: implementation
}
() recv_external(slice in_msg) impure {
if (slice_empty?(in_msg)) {
return ();
}
int msg_seqno = in_msg~load_uint(32);
var ds = begin_parse(get_data());
int stored_seqno = ds~load_uint(32);
throw_unless(33, msg_seqno == stored_seqno);
}ะ slice in_msg เบเบปเบงเบฐเบเปเปเบเบงเบฒเบกเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบปเปเบ.
เบชเบดเปเบเบเปเบฒเบญเบดเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบเปเบกเปเบเบเบงเบเปเบเบดเปเบเบงเปเบฒเบเปเปเบเบงเบฒเบกเบกเบตเบเปเปเบกเบนเบ, เบเปเบฒเบเปเปเปเบกเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฝเบเปเบเปเบญเบญเบเบเบฒเบ.
เบเปเปเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเบเบเปเปเบเบงเบฒเบก. in_msg~load_uint(32) เปเบซเบผเบเบเปเบฒเบเบงเบ 165, 32-bit unsigned int เบเบฒเบโเบเปเปโเบเบงเบฒเบกโเบเบตเปโเบชเบปเปเบโเบญเบญเบโ.
เบเปเปเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบซเบฅเบ 32 bits เบเบฒเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ. เบเบงเบเปเบฎเบปเบฒเบเบงเบเปเบเบดเปเบเบงเปเบฒเบเบปเบงเปเบฅเบเบเบตเปเปเบซเบฅเบเบเบปเบเบเบฑเบเปเบฅเบเบเบตเปเบเปเบฒเบ; เบเปเบฒเบเปเปเปเบกเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบปเบเบเปเปเบเบปเบเปเบงเบฑเปเบ. เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบเปเบฒเบเบเบฒเบเปเบเปเบเบเบฑเบเบเบตเปเบเปเปเปเบกเปเบเบเบฒเบเปเบเปเบเบเบฑเบ, เบเบฒเบเบเบปเบเปเบงเบฑเปเบเบเบงเบเบเบฐเบเบทเบเบเบดเปเบก.
เปเบเบเบฑเบเบเบธเบเบฑเบเปเบซเปเปเบฎเบปเบฒเบฅเบงเบเบฅเบงเบก.
~/TON/build/crypto/func -APSR -o lottery-compiled.fif ~/TON/ton/crypto/smartcont/stdlib.fc ./lottery-code.fc เบชเบณเปเบเบปเบฒเบฅเบฐเบซเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเปเบเปเบชเป lottery-test-suite.fif, เบขเปเบฒเบฅเบทเบกเบเปเบฝเบเปเบชเบฑเปเบเบชเบธเบเบเปเบฒเบ.
เบเบงเบเปเบฎเบปเบฒเบเบงเบเปเบเบดเปเบเบงเปเบฒเบเบฒเบเบเบปเบเบชเบญเบเบเปเบฒเบ:
~/TON/build/crypto/fift -s lottery-test-suite.fifเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเปเบเบเบฐเบเบธเบเบฑเบ.
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเบกเบฑเบเบเปเปเบชเบฐเบเบงเบเบเบตเปเบเบฐเบเบฑเบเบฅเบญเบเบฅเบฐเบซเบฑเบเบเบตเปเบฅเบงเบเบฅเบงเบกเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบเบปเปเบฒเปเบเปเบเปเบเบฅเปเบเบตเปเบกเบตเบเบฒเบเบเบปเบเบชเบญเบเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบ, เบเบฑเปเบเบเบฑเปเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบเบฝเบ script เบเบตเปเบเบฐเบเบฝเบเบฅเบฐเบซเบฑเบเปเบเบฑเบเบเบปเบเบเบตเปเบชเปเบฒเบฅเบฑเบเบเบงเบเปเบฎเบปเบฒ, เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบทเปเบญเบกเบเปเปเบฅเบฐเบซเบฑเบเบเบตเปเบฅเบงเบเบฅเบงเบกเบเบฑเบเบเบฒเบเบเบปเบเบชเบญเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบเปเบเป "include".
เบชเปเบฒเบเปเบเบฅเปเปเบเปเบเบเปเบเบตเปเบเบเบเบฒเบ build.sh เบเปเบงเบเปเบเบทเปเบญเปเบเบเปเปเปเบเบเบตเป.
#!/bin/bash
~/TON/build/crypto/func -SPA -R -o lottery-compiled.fif ~/TON/ton/crypto/smartcont/stdlib.fc ./lottery-code.fcเบเปเปเบซเปเบกเบฑเบเบเบฐเบเบดเบเบฑเบเปเบเป.
chmod +x ./build.shเปเบเบเบฑเบเบเบธเบเบฑเบ, เบเบฝเบเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบ script เบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบทเปเบญเบฅเบงเบเบฅเบงเบกเบชเบฑเบเบเบฒ. เปเบเปเบเบญเบเบเบฒเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฝเบเบกเบฑเบเปเบเบปเปเบฒเปเบเปเบเบเบปเบเบเบตเป code. เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเปเบฒเบเปเบเบฅเปเปเบซเบกเป lotter-compiled-for-test.fif, เบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบฅเบงเบกเบขเบนเปเปเบเปเบเบฅเป lottery-test-suite.fif.
เปเบซเปเปเบเบตเปเบกเบฅเบฐเบซเบฑเบ skirt เบเบฑเบ sh, เปเบเบดเปเบเบเบฝเบเปเบเปเบเบฐ duplicate เปเบเบฅเปเบฅเบงเบเบฅเบงเบกเปเบ lotter-compiled-for-test.fif เปเบฅเบฐเบเปเบฝเบเปเบชเบฑเปเบเบชเบธเบเบเปเบฒเบเปเบเบกเบฑเบ.
# copy and change for test
cp lottery-compiled.fif lottery-compiled-for-test.fif
sed '$d' lottery-compiled-for-test.fif > test.fif
rm lottery-compiled-for-test.fif
mv test.fif lottery-compiled-for-test.fif
echo -n "}END>s constant code" >> lottery-compiled-for-test.fifเบเบฝเบงเบเบตเป, เปเบเบทเปเบญเบเบงเบเปเบเบดเปเบ, เปเบซเปเปเบฅเปเบเบชเบฐเบเบดเบเบเบตเปเปเบเปเบฎเบฑเบเบเบปเบเปเบฅเบฐเปเบเบฅเปเบเบฐเบเบทเบเบชเปเบฒเบเบเบทเปเบ lottery-compiled-for-test.fif, เบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฐเบเบญเบเบขเบนเปเปเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ lottery-test-suite.fif
ะ lottery-test-suite.fif เบฅเบถเบเบฅเบฐเบซเบฑเบเบชเบฑเบเบเบฒเปเบฅเบฐเปเบเบตเปเบกเบชเบฒเบ "lottery-compiled-for-test.fif" include.
เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเปเบเบทเปเบญเบเบงเบเปเบเบดเปเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเบเปเบฒเบ.
~/TON/build/crypto/fift -s lottery-test-suite.fifเบเบตเบซเบผเบฒเบ, เบเบญเบเบเบตเปเปเบเบทเปเบญเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบงเบเบฒเบเบเบปเบเบชเบญเบ, เปเบซเปเปเบฎเบปเบฒเบชเปเบฒเบเปเบเบฅเป test.sh, เปเบเบดเปเบเบเปเบฒเบญเบดเบเบเบฐเบเบฐเบเบดเบเบฑเบ build.sh, เปเบฅเบฐโเบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโเปเบเบตเบโเบเบฒเบโเบเบปเบโเบชเบญเบโ.
touch test.sh
chmod +x test.shเบเบงเบเปเบฎเบปเบฒเบเบฝเบเบเบฒเบเปเบ
./build.sh
echo "nCompilation completedn"
export FIFTPATH=~/TON/ton/crypto/fift/lib
~/TON/build/crypto/fift -s lottery-test-suite.fifเปเบซเปเปเบฎเบฑเบเบกเบฑเบ test.sh เปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบทเปเบญเปเบซเปเปเบเปเปเบเบงเปเบฒเบเบฒเบเบเบปเบเบชเบญเบเปเบฎเบฑเบเบงเบฝเบ.
chmod +x ./test.sh
./test.shเบเบงเบเปเบฎเบปเบฒเบเบงเบเปเบเบดเปเบเบงเปเบฒเบชเบฑเบเบเบฒเบฅเบงเบเบฅเบงเบกเปเบฅเบฐเบเบฒเบเบเบปเบเบชเบญเบเบเบทเบเบเบฐเบเบดเบเบฑเบ.
เบเบตเบซเบผเบฒเบ, เบเบญเบเบเบตเปเปเบฅเบตเปเบกเบเบปเปเบ test.sh เบเบฒเบเบเบปเบเบชเบญเบเบเบฐเบเบทเบเบฅเบงเบเบฅเบงเบกเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฑเบเบเบต. เบเบตเปเปเบกเปเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ .
เบเบปเบเบฅเบปเบ, เบเปเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบทเบเบเปเป, เปเบซเปเปเบฎเบฑเบเบชเบดเปเบเบซเบเบถเปเบเบญเบตเบเปเบเบทเปเบญเบเบงเบฒเบกเบชเบฐเบเบงเบ.
เบกเบฒเบชเปเบฒเบเปเบเบเปเบเบต build เบเปเบญเบโเบเบตเปโเบเบงเบโเปเบฎเบปเบฒโเบเบฐโเปเบเบฑเบโเบฎเบฑเบโเบชเบฒโเบชเบฑเบโเบเบฒโเบชเปเบฒโเปเบเบปเบฒโเปเบฅเบฐ clone เบเบญเบโเบเบปเบโเบเบฝเบโเปเบเบฑเบโเบเบปเบโเบเบตเปโ lottery-compiled.fif, lottery-compiled-for-test.fif. เบกเบฒเบชเปเบฒเบเปเบเบเปเบเบตเบเบณ test เปเบเบฅเปเบเบปเบเบชเบญเบเบเบฐเบเบทเบเปเบเบฑเบเปเบงเปเบขเบนเปเปเบช? lottery-test-suite.fif เปเบฅเบฐเบญเบฒเบเบกเบตเปเบเบฅเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบญเบทเปเบเป. .
เปเบซเปเบชเบทเบเบเปเปเบเบฑเบเบเบฐเบเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
เบเปเปเปเบเบเบงเบเบเบฐเบกเบตเบเบฒเบเบเบปเบเบชเบญเบเบเบตเปเบเบงเบเปเบเบดเปเบเบงเปเบฒเบเปเปเบเบงเบฒเบกเปเบเปเบฎเบฑเบเปเบฅเบฐเปเบเบปเบฒเปเบเบตเบเบทเบเบเบฑเบเบเบธเบเบขเบนเปเปเบเบฎเปเบฒเบเปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเบชเบปเปเบเบเบปเบงเปเบฅเบเบเบตเปเบเบทเบเบเปเบญเบ. เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฎเบฑเบเปเบเบงเบเบฑเปเบเบเปเปเบกเบฒ.
เบเบญเบเบเบตเปเปเบซเปเบเบงเบเปเบฎเบปเบฒเบเบดเบเบเปเบฝเบงเบเบฑเบเปเบเบเบชเปเบฒเบเบเปเปเบกเบนเบเปเบเปเบฅเบฐเบเปเปเบกเบนเบเปเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบงเปเปเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
เบเปเบญเบเบเบฐเบญเบฐเบเบดเบเบฒเบเบเบธเบเบขเปเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเบฑเบ.
`seqno` 32-ั
ะฑะธัะฝะพะต ัะตะปะพะต ะฟะพะปะพะถะธัะตะปัะฝะพะต ัะธัะปะพ ััะตััะธะบ.
`pubkey` 256-ัะธ ะฑะธัะฝะพะต ัะตะปะพะต ะฟะพะปะพะถะธัะตะปัะฝะพะต ัะธัะปะพ ะฟัะฑะปะธัะฝัะน ะบะปัั, ั ะฟะพะผะพััั ะบะพัะพัะพะณะพ, ะผั ะฑัะดะตะผ ะฟัะพะฒะตัััั ะฟะพะดะฟะธัั ะพัะฟัะฐะฒะปะตะฝะฝะพะณะพ ะธะทะฒะฝะต ัะพะพะฑัะตะฝะธั, ะพ ัะตะผ ะฝะธะถะต.
`order_seqno` 32-ั
ะฑะธัะฝะพะต ัะตะปะพะต ะฟะพะปะพะถะธัะตะปัะฝะพะต ัะธัะปะพ ั
ัะฐะฝะธั ััะตััะธะบ ะบะพะปะธัะตััะฒะฐ ััะฐะฒะพะบ.
`number_of_wins` 32-ั
ะฑะธัะฝะพะต ัะตะปะพะต ะฟะพะปะพะถะธัะตะปัะฝะพะต ัะธัะปะพ ั
ัะฐะฝะธั ะบะพะปะธัะตััะฒะพ ะฟะพะฑะตะด.
`incoming_amount` ัะธะฟ ะดะฐะฝะฝัั
Gram (ะฟะตัะฒัะต 4 ะฑะธัะฐ ะพัะฒะตัะฐะตั ะทะฐ ะดะปะธะฝั), ั
ัะฐะฝะธั ะพะฑัะตะต ะบะพะปะธัะตััะฒะพ ะณัะฐะผะพะฒ, ะบะพัะพััะต ะฑัะปะธ ะพัะฟัะฐะฒะปะตะฝั ะฝะฐ ะบะพะฝัััะฐะบั.
`outgoing_amount` ะพะฑัะตะต ะบะพะปะธัะตััะฒะพ ะณัะฐะผะพะฒ, ะบะพัะพัะพะต ะฑัะปะพ ะพัะฟัะฐะฒะปะตะฝะพ ะฟะพะฑะตะดะธัะตะปัะผ.
`owner_wc` ะฝะพะผะตั ะฒะพัะบัะตะนะฝะฐ, 32-ั
ะฑะธัะฝะพะต (ะฒ ะฝะตะบะพัะพััั
ะผะตััะฐั
ะฝะฐะฟะธัะฐะฝะพ, ััะพ 8-ะผะธ ะฑะธัะฝะพะต) ัะตะปะพะต ัะธัะปะพ. ะ ะดะฐะฝะฝัะน ะผะพะผะตะฝั ะฒัะตะณะพ ะดะฒะฐ -1 ะธ 0.
`owner_account_id` 256-ัะธ ะฑะธัะฝะพะต ัะตะปะพะต ะฟะพะปะพะถะธัะตะปัะฝะพะต ัะธัะปะพ, ะฐะดัะตั ะบะพะฝััะฐะบัะฐ ะฒ ัะตะบััะตะผ ะฒะพัะบัะตะนะฝะต.
`orders` ะฟะตัะตะผะตะฝะฝะฐั ัะธะฟะฐ ัะปะพะฒะฐัั, ั
ัะฐะฝะธั ะฟะพัะปะตะดะฝะธะต ะดะฒะฐะดัะฐัั ััะฐะฒะพะบ. เบเปเปเปเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฝเบเบชเบญเบเบซเบเปเบฒเบเบตเป. เปเบซเปเปเบเบซเบฒเบเปเบฒเบญเบดเบ pack_state(), เปเบเบดเปเบเบเบฐเบเบฑเบเบเบธเบเปเปเบกเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบซเบเบฑเบเบเปเปเบกเบฒเปเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ. เปเบซเปเปเบเบซเบฒเบเบตเบชเบญเบ unpack_state() เบเบฐเบญเปเบฒเบเปเบฅเบฐเบชเบปเปเบเบเบทเบเบเปเปเบกเบนเบเบเบฒเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒ.
_ pack_state(int seqno, int pubkey, int order_seqno, int number_of_wins, int incoming_amount, int outgoing_amount, int owner_wc, int owner_account_id, cell orders) inline_ref {
return begin_cell()
.store_uint(seqno, 32)
.store_uint(pubkey, 256)
.store_uint(order_seqno, 32)
.store_uint(number_of_wins, 32)
.store_grams(incoming_amount)
.store_grams(outgoing_amount)
.store_int(owner_wc, 32)
.store_uint(owner_account_id, 256)
.store_dict(orders)
.end_cell();
}
_ unpack_state() inline_ref {
var ds = begin_parse(get_data());
var unpacked = (ds~load_uint(32), ds~load_uint(256), ds~load_uint(32), ds~load_uint(32), ds~load_grams(), ds~load_grams(), ds~load_int(32), ds~load_uint(256), ds~load_dict());
ds.end_parse();
return unpacked;
}เบเบงเบเปเบฎเบปเบฒเปเบเบตเปเบกเบชเบญเบเบซเบเปเบฒเบเบตเปเบเบตเปเปเบเบชเบนเปเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ. เบกเบฑเบเบเบฐเปเบฎเบฑเบเบงเบฝเบเบญเบญเบ เบเบปเบเปเบเปเบฎเบฑเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบ.
เปเบเบทเปเบญเบเบฑเบเบเบถเบเบเปเปเบกเบนเบ, เบเปเบฒเบเบเบฐเบเปเบญเบเปเบเบซเบฒเบซเบเปเบฒเบเบตเปเบชเปเบฒเบเปเบเบเบปเบง set_data() เปเบฅเบฐเบกเบฑเบเบเบฐเบเบฝเบเบเปเปเบกเบนเบเบเบฒเบ pack_state() เปเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
cell packed_state = pack_state(arg_1, .., arg_n);
set_data(packed_state);เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบกเบตเบซเบเปเบฒเบเบตเปเบชเบฐเบเบงเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฝเบเปเบฅเบฐเบเบฒเบเบญเปเบฒเบเบเปเปเบกเบนเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเปเบฒเบงเบเปเปเปเบ.
เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเบงเบเปเบเบดเปเบเบงเปเบฒเบเปเปเบเบงเบฒเบกเบเบตเปเปเบเบปเปเบฒเบกเบฒเบเบฒเบเบเบฒเบเบเบญเบเปเบเปเบเบทเบเปเบเบฑเบเปเบเบเปเบเบปเปเบฒเบเบญเบเบชเบฑเบเบเบฒ (เบซเบผเบทเบเบนเปเปเบเปเบญเบทเปเบเบเบตเปเบกเบตเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฐเปเบเบชเปเบงเบเบเบปเบง).
เปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเปเบเบตเบเปเบเปเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบกเบฑเบเบเปเบงเบเบเปเปเบกเบนเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒ, เปเบเบดเปเบเบเบฐเบเบทเบเบเบฑเบเบเบถเบเปเบงเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเปเปเบเบญเบฐเบเบฒเบเบปเบ. เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฑเบเบเบถเบเบเบฐเปเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเบขเบนเปเบเบตเปเบเบฑเปเบเปเบเบทเปเบญเปเบซเปเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเบงเบเบชเบญเบเปเบเปเบงเปเบฒเบเปเปเบเบงเบฒเบกเบเบตเปเปเบเบปเปเบฒเบกเบฒเปเบเปเบเบทเบเปเบเบฑเบเบเปเบงเบเบฅเบฐเบซเบฑเบเบชเปเบงเบเบเบปเบงเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบ.
เบเปเบญเบเบเบตเปเบเบฐเบชเบทเบเบเปเป, เปเบซเปเบชเปเบฒเบเบฅเบฐเบซเบฑเบเบชเปเบงเบเบเบปเบงเปเบฅเบฐเบเบฝเบเบกเบฑเบเปเบชเป test/keys/owner.pk. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เปเบซเปเปเบเบตเบ Fift เปเบเปเบซเบกเบเปเบเปเบเบญเบเปเบฅเบฐเบเบฐเบเบดเบเบฑเบเบชเบตเปเบเปเบฒเบชเบฑเปเบ.
`newkeypair` ะณะตะฝะตัะฐัะธั ะฟัะฑะปะธัะฝะพะณะพ ะธ ะฟัะธะฒะฐัะฝะพะณะพ ะบะปััะฐ ะธ ะทะฐะฟะธัั ะธั
ะฒ ััะตะบ.
`drop` ัะดะฐะปะตะฝะธั ะธะท ััะตะบะฐ ะฒะตัั
ะฝะตะณะพ ัะปะตะผะตะฝัะฐ (ะฒ ะดะฐะฝะฝะพะผ ัะปััะฐะต ะฟัะฑะปะธัะฝัะน ะบะปัั)
`.s` ะฟัะพััะพ ะฟะพัะผะพััะตัั ััะพ ะปะตะถะธั ะฒ ััะตะบะต ะฒ ะดะฐะฝะฝัะน ะผะพะผะตะฝั
`"owner.pk" B>file` ะทะฐะฟะธัั ะฟัะธะฒะฐัะฝะพะณะพ ะบะปััะฐ ะฒ ัะฐะนะป ั ะธะผะตะฝะตะผ `owner.pk`.
`bye` ะทะฐะฒะตััะฐะตั ัะฐะฑะพัั ั Fift. เบกเบฒเบชเปเบฒเบเปเบเบเปเบเบต keys เบเบฒเบเปเบเปเบเบเปเบเบต test เปเบฅเบฐเบเบฝเบเบฅเบฐเบซเบฑเบเบชเปเบงเบเบเบปเบงเบขเบนเปเบเบตเปเบเบฑเปเบ.
mkdir test/keys
cd test/keys
~/TON/build/crypto/fift -i
newkeypair
ok
.s
BYTES:128DB222CEB6CF5722021C3F21D4DF391CE6D5F70C874097E28D06FCE9FD6917 BYTES:DD0A81AAF5C07AAAA0C7772BB274E494E93BB0123AA1B29ECE7D42AE45184128
drop
ok
"owner.pk" B>file
ok
byeเบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบเปเบเบฅเปเบขเบนเปเปเบเปเบเบเปเบเบตเบเบฐเบเบธเบเบฑเบ owner.pk.
เบเบงเบเปเบฎเบปเบฒเปเบญเบปเบฒเบเบฐเปเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเบญเบญเบเบเบฒเบ stack เปเบฅเบฐเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเปเบเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบญเบปเบฒเบกเบฑเบเบเบฒเบเปเบญเบเบฐเบเบปเบเปเบเป.
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฝเบเบเบฒเบเบขเบฑเปเบเบขเบทเบเบฅเบฒเบเปเบเบฑเบ. เปเบซเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเบฒเบเบเบปเบเบชเบญเบ. เบเปเบฒเบญเบดเบเบเบงเบเปเบฎเบปเบฒเบญเปเบฒเบเบฅเบฐเบซเบฑเบเบชเปเบงเบเบเบปเบงเบเบฒเบเปเบเบฅเปเปเบเบเปเบเปเบเบฑเบเบเบฑเบ file>B เปเบฅเบฐเบเบฝเบเบกเบฑเบเปเบชเปเบเบปเบงเปเบ owner_private_key, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฒเบเบเปเบฒเปเบเปเบซเบเปเบฒเบเบตเป priv>pub เบเปเบฝเบเบฅเบฐเบซเบฑเบเบชเปเบงเบเบเบปเบงเปเบเบฑเบเบฅเบฐเบซเบฑเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเปเบฅเบฐเบเบฝเบเบเบปเบเปเบเปเบฎเบฑเบเปเบ owner_public_key.
variable owner_private_key
variable owner_public_key
"./keys/owner.pk" file>B owner_private_key !
owner_private_key @ priv>pub owner_public_key !เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบญเบเบเบฒเบเบเบตเบเบฑเบเบชเบญเบ.
เบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบตเปเบกเบตเบเปเปเบกเบนเบ arbitrary เปเบเบฅเปเบฒเบเบฑเบเบเบฝเบงเบเบฑเบเบเบฑเบเบซเบเปเบฒเบเบตเป pack_state()เปเบฅเบฐเบเบฝเบเบกเบฑเบเปเบเบปเปเบฒเปเบเปเบเบเบปเบงเปเบ storage.
variable owner_private_key
variable owner_public_key
variable orders
variable owner_wc
variable owner_account_id
"./keys/owner.pk" file>B owner_private_key !
owner_private_key @ priv>pub owner_public_key !
dictnew orders !
0 owner_wc !
0 owner_account_id !
<b 0 32 u, owner_public_key @ B, 0 32 u, 0 32 u, 0 Gram, 0 Gram, owner_wc @ 32 i, owner_account_id @ 256 u, orders @ dict, b> storage !เบเปเปเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฝเบเบเปเปเบเบงเบฒเบกเบเบตเปเบกเบตเบฅเบฒเบเปเบเบฑเบ, เบกเบฑเบเบเบฐเบกเบตเบเบฝเบเปเบเปเบฅเบฒเบเปเบเบฑเบเปเบฅเบฐเบกเบนเบเบเปเบฒ counter.
เบเปเบฒเบญเบดเบ, เบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบเปเปเบกเบนเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบชเบปเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเปเบเบฑเบเบกเบฑเบเบเปเบงเบเบฅเบฐเบซเบฑเบเบชเปเบงเบเบเบปเบงเปเบฅเบฐเบชเบธเบเบเปเบฒเบเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบเปเปเบเบงเบฒเบกเบเบตเปเบฅเบปเบเบเบฒเบก.
variable message_to_sign
variable message_to_send
variable signature
<b 0 32 u, b> message_to_sign !
message_to_sign @ hashu owner_private_key @ ed25519_sign_uint signature !
<b signature @ B, 0 32 u, b> <s message_to_send ! เบเบฑเปเบเบเบฑเปเบ, เบเปเปเบเบงเบฒเบกเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเปเบเบเบฑเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบเปเบเบทเบเบเบฑเบเบเบถเบเปเบงเปเปเบเบเบปเบงเปเบ message_to_send, เบเปเบฝเบงเบเบฑเบเบซเบเปเบฒเบเบตเป hashu, ed25519_sign_uint เปเบเบปเปเบฒเบชเบฒเบกเบฒเบเบญเปเบฒเบเปเบเป .
เปเบฅเบฐเปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบซเบฒเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ.
message_to_send @
recv_external
code
storage @
c7
runvmctxเปเบเบฅเปเบเบตเปเบกเบตเบเบฒเบเบเบปเบเบชเบญเบเบเบงเบเบเบฐเปเบเบฑเบเปเบเบเบเบตเปเปเบเบเบฑเปเบเบเบญเบเบเบตเป.
เปเบซเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเปเบฅเบฐเบกเบฑเบเบเบฐเบฅเบปเปเบกเปเบซเบฅเบง, เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฝเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบเบทเปเบญเปเบซเปเบกเบฑเบเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเปเปเบเบงเบฒเบกเบเบญเบเบฎเบนเบเปเบเบเบเบตเปเปเบฅเบฐเบขเบทเบเบขเบฑเบเบฅเบฒเบเปเบเบฑเบ.
เบเปเบฒเบญเบดเบ, เบเบงเบเปเบฎเบปเบฒเบเบฑเบ 512 bits เบเบญเบเบฅเบฒเบเปเบเบฑเบเบเบฒเบเบเปเปเบเบงเบฒเบกเปเบฅเบฐเบเบฝเบเบกเบฑเบเบเบฑเบเบเบปเบงเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฑเบ 32 bits เบเบญเบเบเบปเบงเบเปเบฝเบเปเบเบ counter.
เปเบเบทเปเบญเบเบเบฒเบเบเบงเบเปเบฎเบปเบฒเบกเบตเบซเบเปเบฒเบเบตเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบญเปเบฒเบเบเปเปเบกเบนเบเบเบฒเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเบกเบฑเบ.
เบเปเปเปเบเปเบกเปเบเบเบฒเบเบเบงเบเบชเบญเบเปเบเบปเบฒเปเบเบตเบเบตเปเปเบญเบเบเบฑเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเปเบฅเบฐเบเบงเบเปเบเบดเปเบเบฅเบฒเบเปเบเบฑเบ. เบเปเบฒเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเปเปเบเบปเบเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบดเปเบกเบเปเปเบเบปเบเปเบงเบฑเปเบเบเบตเปเบกเบตเบฅเบฐเบซเบฑเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก.
var signature = in_msg~load_bits(512);
var message = in_msg;
int msg_seqno = message~load_uint(32);
(int stored_seqno, int pubkey, int order_seqno, int number_of_wins, int incoming_amount, int outgoing_amount, int owner_wc, int owner_account_id, cell orders) = unpack_state();
throw_unless(33, msg_seqno == stored_seqno);
throw_unless(34, check_signature(slice_hash(in_msg), signature, pubkey));เบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒเบเบตเปเบเปเบฝเบงเบเปเบญเบ .
เปเบซเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเปเบฅเบฐเปเบเบดเปเบเบงเปเบฒเบเบฒเบเบเบปเบเบชเบญเบเบเบตเบชเบญเบเบฅเบปเปเบกเปเบซเบฅเบง. เบชเปเบฒเบฅเบฑเบเบชเบญเบเปเบซเบเบเบปเบ, เบเปเปเบกเบต bits เบเบฝเบเบเปเปเบเบเปเปเบเบงเบฒเบกเปเบฅเบฐเบเปเปเบกเบต bits เบเบฝเบเบเปเปเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒ, เบชเบฐเบเบฑเปเบเบฅเบฐเบซเบฑเบ crash เปเบเปเบงเบฅเบฒ parsing. เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบตเปเบกเบฅเบฒเบเปเบเบฑเบเปเบซเปเบเบฑเบเบเปเปเบเบงเบฒเบกเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบชเบปเปเบเปเบฅเบฐเบเบฑเบเบฅเบญเบเบเปเบญเบเปเบเบฑเบเบเปเปเบกเบนเบเบเบฒเบเบเบฒเบเบเบปเบเบชเบญเบเบเบฑเปเบเบชเบธเบเบเปเบฒเบ.
เปเบเบเบฒเบเบเบปเบเบชเบญเบเบเบฑเปเบเบเบตเบชเบญเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบตเปเบกเบฅเบฒเบเปเบเบฑเบเบเปเปเบเบงเบฒเบกเปเบฅเบฐเบเปเบฝเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ. เปเบเบฅเปเบเบตเปเบกเบตเบเบฒเบเบเบปเบเบชเบญเบเปเบเบดเปเบเบเบทเบงเปเบฒเปเบเบเบฑเบเบเบธเบเบฑเบ.
เบเปเปเบซเปเบเบฝเบเบเบฒเบเบเบปเบเบชเบญเบเบเบฑเปเบเบเบตเบชเบตเป, เปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเปเบเบเปเปเบเบงเบฒเบกเบเบตเปเปเบเบฑเบเบเปเบงเบเบฅเบฐเบซเบฑเบเบชเปเบงเบเบเบปเบงเบเบญเบเบเบปเบเบญเบทเปเบ. เบกเบฒเบชเปเบฒเบเบเบฐเปเบเบชเปเบงเบเบเบปเบงเบญเบทเปเบ เปเบฅเบฐเบเบฑเบเบเบถเบเบกเบฑเบเปเบชเปเปเบเบฅเป not-owner.pk. เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบฑเบเบเปเปเบเบงเบฒเบกเบเปเบงเบเบเบฐเปเบเบชเปเบงเบเบเบปเบงเบเบตเป. เบเปเปเบซเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเปเบฅเบฐเปเบซเปเปเบเปเปเบเบงเปเบฒเบเบฒเบเบเบปเบเบชเบญเบเบเบฑเบเบซเบกเบปเบเบเปเบฒเบ. เปเบเปเบงเบฅเบฒเบเบตเป.
เบเบฝเบงเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเปเบฒเบงเปเบเบชเบนเปเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบกเปเบซเบเบเบปเบเบชเบฑเบเบเบฒเบชเบฐเบซเบผเบฒเบ.
ะ recv_external() เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบญเบกเบฎเบฑเบเบเปเปเบเบงเบฒเบกเบชเบญเบเบเบฐเปเบเบ.
เปเบเบทเปเบญเบเบเบฒเบเบชเบฑเบเบเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบฐเบชเบปเบกเบเบฒเบเบชเบนเบเปเบชเบเบเบญเบเบเบนเปเบ, เปเบเบดเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบญเบเปเบซเปเบเบฑเบเบเบนเปเบชเปเบฒเบ lottery เปเบเป. เบเบตเปเบขเบนเปเบเบฐเปเบเบปเบฒเปเบเบดเบเบเบญเบเบเบนเปเบชเปเบฒเบเบซเบงเบเบเบทเบเบเบฑเบเบเบถเบเปเบงเปเปเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเปเบกเบทเปเบญเบชเบฑเบเบเบฒเบเบทเบเบชเปเบฒเบเบเบถเปเบ.
เบเบฝเบเปเบเปเปเบเบเปเบฅเบฐเบเบต, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเปเบฝเบเบเบตเปเบขเบนเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบปเปเบเบเบผเบฒเบกเบเบญเบเบเบนเปเบชเบนเบเปเบชเบ. เบเบงเบเปเบฎเบปเบฒเบเบงเบเบเบฐเบชเบฒเบกเบฒเบเบชเบปเปเบเปเบเบกเบเบฒเบเบซเบงเบเปเบเบซเบฒเบเบตเปเบขเบนเปเบเบญเบเปเบเบปเปเบฒเบเบญเบ.
เปเบซเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบญเบฑเบเบเปเบฒเบญเบดเบ. เบเปเบฒเบญเบดเบเปเบซเปเบเบฝเบเบเบฒเบเบเบปเบเบชเบญเบเบเบตเปเบเบฐเบเบงเบเปเบเบดเปเบเบงเปเบฒเบซเบผเบฑเบเบเบฒเบเบชเบปเปเบเบเปเปเบเบงเบฒเบก, เบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบเปเบเบฑเบเบเบถเบเบเบตเปเบขเบนเปเปเบซเบกเปเปเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ. เบเบฐเบฅเบธเบเบฒเบชเบฑเบเปเบเบเบงเปเบฒเปเบเบเปเปเบเบงเบฒเบก, เบเบญเบเบเบฒเบ counter เปเบฅเบฐเบเบตเปเบขเบนเปเปเบซเบกเป, เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบชเบปเปเบ action เบเบณเบเบงเบเปเบเบฑเบก 7-bit เบเบตเปเบเปเปเปเบกเปเบเปเบฅเบเบฅเบปเบ, เบเบถเปเบเบเบฑเบเบกเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฅเบทเบญเบเบงเบดเบเบตเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเปเปเบเบงเบฒเบกเปเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
<b 0 32 u, 1 @ 7 u, new_owner_wc @ 32 i, new_owner_account_id @ 256 u, b> message_to_sign !เปเบเบเบฒเบเบเบปเบเบชเบญเบเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบงเบดเบเบตเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒ smartcontract เปเบกเปเบ deserialized storage เปเบ Fift. Deserialization เบเบญเบเบเบปเบงเปเบเปเบกเปเบเปเบเปเบญเบฐเบเบดเบเบฒเบเปเบงเปเปเบเปเบญเบเบฐเบชเบฒเบ Fift.
เบกเบต dough เปเบเบตเปเบก.
เปเบซเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเปเบฅเบฐเปเบซเปเปเบเปเปเบเบงเปเบฒเบกเบฑเบเบฅเบปเปเบกเปเบซเบฅเบง. เบเบญเบเบเบตเปเปเบซเปเปเบเบตเปเบกเปเบซเบเบเบปเบเปเบเบทเปเบญเบเปเบฝเบเบเบตเปเบขเบนเปเบเบญเบเปเบเบปเปเบฒเบเบญเบเบซเบงเบ.
เปเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบงเบเปเบฎเบปเบฒเบชเบทเบเบเปเปเบงเบดเปเบเบฒเบฐ message, เบญเปเบฒเบเปเบ action. เปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเบทเบญเบเบเปเบฒเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบฐเบกเบตเบชเบญเบ action: เบเปเบฝเบเบเบตเปเบขเบนเปเปเบฅเบฐเบชเบปเปเบเบเบผเบฒเบก.
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบญเปเบฒเบเบเบตเปเบขเบนเปเปเบซเบกเปเบเบญเบเปเบเบปเปเบฒเบเบญเบเบชเบฑเบเบเบฒเปเบฅเบฐเบเบฑเบเบเบถเบเบกเบฑเบเปเบงเปเปเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ.
เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเปเบฅเบฐเปเบซเบฑเบเบงเปเบฒเบเบฒเบเบเบปเบเบชเบญเบเบเบตเบชเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบง. เบกเบฑเบ crashed เปเบเบทเปเบญเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบชเบฑเบเบเบฒเปเบเบเบฑเบเบเบธเบเบฑเบเปเบเบตเปเบกเปเบเบตเบก parses 7 bits เบเบฒเบเบเปเปเบเบงเบฒเบก, เบเบตเปเบเบฒเบเบซเบฒเบเปเบเปเบเบเบฒเบเบเบปเบเบชเบญเบ. เปเบเบตเปเบกเบญเบฑเบเบเบตเปเบเปเปเบกเบตเบขเบนเปเปเบฅเปเบงเปเบชเปเบเปเปเบเบงเบฒเบก action. เปเบซเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเปเบฅเบฐเปเบเบดเปเบเบงเปเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเปเบฒเบ. เบซเบกเบฑเปเบเบชเบฑเบเบเบฒเบเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบ. เบเบดเปเบเปเบซเบเป.
เบเบญเบเบเบตเปเปเบซเปเบเบงเบเปเบฎเบปเบฒเบเบฝเบเปเบซเบเบเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบปเปเบเบเปเบฒเบเบงเบเบเบผเบฒเบกเบเบตเปเบเปเบฒเบเบปเบเปเบงเปเปเบเบซเบฒเบเบตเปเบขเบนเปเบเบตเปเบเบฑเบเบเบถเบเปเบงเปเบเปเบญเบเบซเบเปเบฒเบเบตเป.
เบเปเบญเบเบญเบทเปเบ, เปเบซเปเบเบฝเบเปเบเบเบเบปเบเบชเบญเบ. เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฝเบเบชเบญเบเบเบฒเบเบเบปเบเบชเบญเบ, เบซเบเบถเปเบเปเบเปเบงเบฅเบฒเบเบตเปเบเปเปเบกเบตเบเบงเบฒเบกเบชเบปเบกเบเบธเบเบเบฝเบเบเป, เบเบตเบชเบญเบเปเบเปเบงเบฅเบฒเบเบตเปเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบงเบเบเบฐเบเปเบฒเบเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบ. เบเบฒเบเบเบปเบเบชเบญเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเปเบเป .
เบเบญเบเบเบตเปเปเบซเปเปเบเบตเปเบกเบฅเบฐเบซเบฑเบ. เบเปเบฒเบญเบดเบ, เปเบซเปเบเบฝเบเบชเบญเบเบงเบดเบเบตเบเบฒเบเบเปเบงเบเปเบซเบผเบทเบญ. เบงเบดเบเบตเบเบฒเบเบเปเบฒเบญเบดเบเบเบตเปเปเบเปเบฎเบฑเบเปเบกเปเบเปเบเบทเปเบญเบเบญเบเบซเบฒเบเบญเบเปเบเบดเบเปเบเบเบฐเบเบธเบเบฑเบเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
int balance() inline_ref method_id {
return get_balance().pair_first();
}เปเบฅเบฐเบญเบฑเบเบเบตเบชเบญเบเปเบกเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบปเปเบเบเบผเบฒเบกเปเบเบซเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบญเบทเปเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฑเบเบฅเบญเบเบงเบดเบเบตเบเบฒเบเบเบตเปเบขเปเบฒเบเบชเบปเบกเบเบนเบเบเบฒเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบญเบทเปเบ.
() send_grams(int wc, int addr, int grams) impure {
;; int_msg_info$0 ihr_disabled:Bool bounce:Bool bounced:Bool src:MsgAddress -> 011000
cell msg = begin_cell()
;; .store_uint(0, 1) ;; 0 <= format indicator int_msg_info$0
;; .store_uint(1, 1) ;; 1 <= ihr disabled
;; .store_uint(1, 1) ;; 1 <= bounce = true
;; .store_uint(0, 1) ;; 0 <= bounced = false
;; .store_uint(4, 5) ;; 00100 <= address flags, anycast = false, 8-bit workchain
.store_uint (196, 9)
.store_int(wc, 8)
.store_uint(addr, 256)
.store_grams(grams)
.store_uint(0, 107) ;; 106 zeroes + 0 as an indicator that there is no cell with the data.
.end_cell();
send_raw_message(msg, 3); ;; mode, 2 for ignoring errors, 1 for sender pays fees, 64 for returning inbound message value
}เปเบซเปเปเบเบตเปเบกเบชเบญเบเบงเบดเบเบตเบเบตเปเปเบชเปเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบฅเบฐเบเบฝเบเปเบซเบเบเบปเบ. เบเปเบฒเบญเบดเบ, เบเบงเบเปเบฎเบปเบฒเบงเบดเปเบเบฒเบฐเบเปเบฒเบเบงเบเบเบญเบเบเบผเบฒเบกเบเบฒเบเบเปเปเบเบงเบฒเบก. เบเปเปเปเบเบเบงเบเปเบฎเบปเบฒเบเบงเบเปเบเบดเปเบเบเบญเบเปเบเบดเบ, เบเปเบฒเบกเบฑเบเบเปเปเบเบฝเบเบเป, เบเบงเบเปเบฎเบปเบฒเบเบดเปเบกเบเปเปเบเบปเบเปเบงเบฑเปเบ. เบเปเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบต, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบชเบปเปเบเบเบผเบฒเบกเปเบเบซเบฒเบเบตเปเบขเบนเปเบเบตเปเบเบฑเบเบเบถเบเปเบงเปเปเบฅเบฐเบเบฑเบเบเบธเบเปเบเบปเบฒเปเบเบต.
int amount_to_send = message~load_grams();
throw_if(36, amount_to_send + 500000000 > balance());
accept_message();
send_grams(owner_wc, owner_account_id, amount_to_send);
set_data(pack_state(stored_seqno + 1, pubkey, order_seqno, number_of_wins, incoming_amount, outgoing_amount, owner_wc, owner_account_id, orders));เปเบเบดเปเบเบเบทเบงเปเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบเบเบฐเบเบฐเบเบตเป. เปเบซเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเปเบฅเบฐเปเบซเปเปเบเปเปเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเบเปเบฒเบ.
เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบเบฐเบเบฐเบเปเบฒเบกเบฐเบเบฒเบเบเบทเบเบซเบฑเบเบญเบญเบเบเบฒเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบธเบเปเบเบฑเปเบเบชเปเบฒเบฅเบฑเบเบเปเปเบเบงเบฒเบกเบเบตเปเบเบทเบเบเบธเบเปเบเปเบ. เปเบเบทเปเบญเปเบซเปเบเปเปเบเบงเบฒเบกเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบฎเปเบญเบเบเป, เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบงเบเบชเบญเบเบเบทเปเบเบเบฒเบเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบซเบฒ accept_message().
เบเบญเบเบเบตเปเปเบซเปเปเบฎเบปเบฒเบเปเบฒเบงเปเบเบชเบนเปเบเปเปเบเบงเบฒเบกเบเบฒเบเปเบ. เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบญเบกเบฎเบฑเบเบเบฝเบเปเบเปเบเบผเบฒเบกเปเบฅเบฐเบชเบปเปเบเบเบทเบเบเปเบฒเบเบงเบเบชเบญเบเปเบเบปเปเบฒเปเบซเปเบเบฑเบเบเบนเปเบซเบผเบดเปเบเบเปเบฒเบฅเบฒเบงเบเบฐเบเบฐเปเบฅเบฐเบซเบเบถเปเบเปเบเบชเบฒเบกเปเบซเปเบเบฑเบเปเบเบปเปเบฒเบเบญเบเบเปเบฒเบฅเบฒเบงเบชเบนเบเปเบชเบ.
เบเปเบญเบเบญเบทเปเบ, เปเบซเปเบเบฝเบเปเบเบเบเบปเบเบชเบญเบเบเปเบฒเบเป. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบตเปเบขเบนเปเบเบปเบเบชเบญเบเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบปเบกเบกเบธเบเบงเปเบฒเบชเบปเปเบเบเบผเบฒเบกเปเบเบซเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
เบเบตเปเบขเบนเปเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบฐเบเบญเบเบเปเบงเบเบชเบญเบเบเบปเบงเปเบฅเบ, เบเปเบฒเบเบงเบ 32-bit เบเบตเปเบฎเบฑเบเบเบดเบเบเบญเบเบชเปเบฒเบฅเบฑเบ workchain เปเบฅเบฐ 256-bit เบเบปเบงเปเบฅเบเบเบฑเบเบเบตเบเบตเปเบเปเปเบเปเปเบฒเบเบฑเบ integer integer เบเบตเป. เบเบปเบงเบขเปเบฒเบ, -1 เปเบฅเบฐ 12345, เบเบตเปเปเบกเปเบเบเบตเปเบขเบนเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฑเบเบเบถเบเปเบชเปเปเบเบฅเป.
เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเบเบฑเบโเบฅเบญเบโเบซเบเปเบฒโเบเบตเปโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเบฐโเบขเบฑเบโเบเบตเปโเบขเบนเปโเบเบฒเบโ .
// ( wc addr fname -- ) Save address to file in 36-byte format
{ -rot 256 u>B swap 32 i>B B+ swap B>file } : save-addressเปเบซเปเปเบเบดเปเบเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ, เบเบตเปเบเบฐเปเบซเปเบเบงเบฒเบกเปเบเบปเปเบฒเปเบเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบ Fift เปเบฎเบฑเบเบงเบฝเบ. เปเบเบตเบเบเบปเบง Fift เปเบเปเปเบเปเบเปเบเบญเบ.
~/TON/build/crypto/fift -i เบเปเบฒเบญเบดเบเบเบงเบเปเบฎเบปเบฒเบเบนเป -1, 12345 เปเบฅเบฐเบเบทเปเบเบญเบเปเบเบฅเปเปเบเบญเบฐเบเบฒเบเบปเบ "sender.addr" เปเบชเป stack เปเบเป:
-1 12345 "sender.addr" เบเบฑเปเบเบเบญเบเบเปเปเปเบเปเบกเปเบเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเบซเบเปเบฒเบเบตเป -rot, เปเบเบดเปเบเบเปเบฝเบ stack เปเบเบฅเบฑเบเบชเบฐเบเบฐเบเบตเปเบขเบนเปเปเบเบดเบเบชเบธเบเบเบญเบ stack เบกเบตเบเบปเบงเปเบฅเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ:
"sender.addr" -1 12345256 u>B เบเปเบฝเบเบเบณเบเบงเบเปเบเบฑเบกเบเบตเปเบเปเปเปเบกเปเบเบฅเบปเบ 256-bit เปเบเบฑเบ bytes.
"sender.addr" -1 BYTES:0000000000000000000000000000000000000000000000000000000000003039swap เปเบฅเบเบเปเบฝเบเบชเบญเบเบญเบปเบเบเบฐเบเบญเบเปเบเบดเบเบชเบธเบเบเบญเบ stack.
"sender.addr" BYTES:0000000000000000000000000000000000000000000000000000000000003039 -132 i>B เบเปเบฝเบเบเบณเบเบงเบเปเบเบฑเบก 32-bit เปเบเบฑเบ bytes.
"sender.addr" BYTES:0000000000000000000000000000000000000000000000000000000000003039 BYTES:FFFFFFFFB+ เปเบเบทเปเบญเบกเบเปเปเบชเบญเบเบฅเปเบฒเบเบฑเบเบเบญเบ bytes.
"sender.addr" BYTES:0000000000000000000000000000000000000000000000000000000000003039FFFFFFFFเบญเบตเบเปเบเบทเปเบญ เปเบถเปเบ swap.
BYTES:0000000000000000000000000000000000000000000000000000000000003039FFFFFFFF "sender.addr" เปเบฅเบฐเบชเบธเบเบเปเบฒเบ bytes เบเบทเบเบเบฝเบเปเบชเปเปเบเบฅเป B>file. เบซเบผเบฑเบเบเบฒเบเบเบตเป stack เบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบกเปเบเบซเบงเปเบฒเบเปเบเบปเปเบฒ. เบเบงเบเปเบฎเบปเบฒเบขเบธเบเปเบเบปเบฒ Fift. เปเบเบฅเปเปเบเปเบเบทเบเบชเปเบฒเบเบขเบนเปเปเบเปเบเบเปเบเบตเบเบฐเบเบธเบเบฑเบ sender.addr. เปเบซเปเบเปเบฒเบเปเบเบฅเปเปเบเบซเบฒเปเบเบเปเบเบตเบเบตเปเบชเปเบฒเบเบเบถเปเบ test/addresses/.
เปเบซเปเบเบฝเบเปเบเบเบเบปเบเบชเบญเบเบเปเบฒเบเปเบเบตเปเบเบฐเบชเบปเปเบเบเบผเบฒเบกเปเบเบซเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ. .
เบเบฑเบเบเบตเปเปเบฎเบปเบฒเบกเบฒเปเบเบดเปเบเปเบซเบเบเบปเบเบเบญเบเบซเบงเบ.
เบชเบดเปเบเบเปเบฒเบญเบดเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบเปเบกเปเบเบเบงเบเปเบเบดเปเบเบเปเปเบเบงเบฒเบก bounced เบซเบผเบทเบเปเปเบเปเบฒ bounced, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบปเบเปเบเบกเบฑเบ. bounced เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบชเบฑเบเบเบฒเบเบฐเบชเบปเปเบเบเบทเบเบเบผเบฒเบกเบเปเบฒเบกเบตเบเปเปเบเบดเบเบเบฒเบเปเบเบตเบเบเบทเปเบ. เบเบงเบโเปเบฎเบปเบฒโเบเบฐโเบเปเปโเบชเบปเปเบโเบเบทเบโเบเบผเบฒเบกโเบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเบงเบฒเบกโเบเบดเบโเบเบฒเบโเปเบเบตเบโเบเบถเปเบโเบขเปเบฒเบโเบเบฐโเบเบฑเบโเบซเบฑเบโ.
เบเบงเบเปเบฎเบปเบฒเบเบงเบเปเบเบดเปเบ, เบเปเบฒเบเบญเบเปเบเบดเบเปเบกเปเบเบซเบเปเบญเบเบเบงเปเบฒเปเบเบดเปเบเบซเบเบถเปเบเบเบผเบฒเบก, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฝเบเปเบเปเบเบญเบกเบฎเบฑเบเบเปเปเบเบงเบฒเบกเปเบฅเบฐเบเปเปเบชเบปเบเปเบเบกเบฑเบ.
เบเปเปเปเบ, เบเบงเบเปเบฎเบปเบฒเบงเบดเปเบเบฒเบฐเบเบตเปเบขเบนเปเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบตเปเบเปเปเบเบงเบฒเบกเบกเบฒ.
เบเบงเบเปเบฎเบปเบฒเบญเปเบฒเบเบเปเปเบกเบนเบเบเบฒเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบฅเบถเบเปเบเบตเบกเบเบฑเบเปเบเบปเปเบฒเบญเบญเบเบเบฒเบเบเบฐเบซเบงเบฑเบเบชเบฒเบเบเปเบฒเบกเบตเบซเบผเบฒเบเบเบงเปเบฒเบเบฒเบงเบเบญเบเบเบงเบเปเบเบปเบฒ. เปเบเบทเปเบญเบเบงเบฒเบกเบชเบฐเบเบงเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฝเบเบชเบฒเบกเบซเบเปเบฒเบเบตเปเปเบเบตเปเบกเปเบเบตเบก pack_order(), unpack_order(), remove_old_orders().
เบเปเปเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเบดเปเบเบงเปเบฒเบเบญเบเปเบเบดเบเบเปเปเบเบฝเบเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเบเปเบเบดเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบดเบเบฒเบฅเบฐเบเบฒเบงเปเบฒเบเบตเปเบเปเปเปเบกเปเบเบเบฒเบเปเบเบตเบกเบเบฑเบ, เปเบเปเปเบเบฑเบเบเบฒเบเปเบเบตเบกเปเบเบฑเบกเปเบฅเบฐเบเบฐเบซเบเบฑเบเบเบฒเบเบเบทเปเบกเปเบ. orders.
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบชเบธเบเบเปเบฒเบเปเบกเปเบเปเบเบทเปเบญเปเบเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
เบเปเบฒเบญเบดเบ, เบเปเบฒเบเบนเปเบเบชเบนเบเปเบชเบ, เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบถเบเบกเบฑเบเปเบงเปเปเบเบเบฐเบซเบงเบฑเบเบเบฒเบเปเบเบตเบกเบเบฑเบเปเบฅเบฐเบเปเบฒเบเปเบฒเบเบงเบเบซเบผเบฒเบเบเปเบงเบฒ 3 เบเบผเบฒเบก, เบเบงเบเปเบฎเบปเบฒเบชเบปเปเบ 1/3 เบเบฑเบเปเบเบปเปเบฒเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
เบเปเบฒเบเบนเปเบเบเบฐเบเบฐ, เบเบงเบเปเบฎเบปเบฒเบชเบปเปเบเบเปเบฒเบเบงเบเบชเบญเบเปเบเบปเปเบฒเปเบเบซเบฒเบเบตเปเบขเบนเปเบเบญเบเบเบนเปเบเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเบเบเบถเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเบตเบกเบเบฑเบเปเบเบเบฐเบซเบงเบฑเบเบชเบฒเบ.
() recv_internal(int order_amount, cell in_msg_cell, slice in_msg) impure {
var cs = in_msg_cell.begin_parse();
int flags = cs~load_uint(4); ;; int_msg_info$0 ihr_disabled:Bool bounce:Bool bounced:Bool
if (flags & 1) { ;; ignore bounced
return ();
}
if (order_amount < 500000000) { ;; just receive grams without changing state
return ();
}
slice src_addr_slice = cs~load_msg_addr();
(int src_wc, int src_addr) = parse_std_addr(src_addr_slice);
(int stored_seqno, int pubkey, int order_seqno, int number_of_wins, int incoming_amount, int outgoing_amount, int owner_wc, int owner_account_id, cell orders) = unpack_state();
orders = remove_old_orders(orders, order_seqno);
if (balance() < 2 * order_amount + 500000000) { ;; not enough grams to pay the bet back, so this is re-fill
builder order = pack_order(order_seqno, 1, now(), order_amount, src_wc, src_addr);
orders~udict_set_builder(32, order_seqno, order);
set_data(pack_state(stored_seqno, pubkey, order_seqno + 1, number_of_wins, incoming_amount + order_amount, outgoing_amount, owner_wc, owner_account_id, orders));
return ();
}
if (rand(10) >= 4) {
builder order = pack_order(order_seqno, 3, now(), order_amount, src_wc, src_addr);
orders~udict_set_builder(32, order_seqno, order);
set_data(pack_state(stored_seqno, pubkey, order_seqno + 1, number_of_wins, incoming_amount + order_amount, outgoing_amount, owner_wc, owner_account_id, orders));
if (order_amount > 3000000000) {
send_grams(owner_wc, owner_account_id, order_amount / 3);
}
return ();
}
send_grams(src_wc, src_addr, 2 * order_amount);
builder order = pack_order(order_seqno, 2, now(), order_amount, src_wc, src_addr);
orders~udict_set_builder(32, order_seqno, order);
set_data(pack_state(stored_seqno, pubkey, order_seqno + 1, number_of_wins + 1, incoming_amount, outgoing_amount + 2 * order_amount, owner_wc, owner_account_id, orders));
}เบเบฑเปเบเปเบกเปเบเบเบฑเบเบซเบกเบปเบ. .
เบเบฝเบงเบเบตเปเบชเบดเปเบเบเบตเปเบเบฑเบเปเบซเบผเบทเบญเปเบกเปเบเบเปเบฒเบเบเบฒเบ, เปเบซเปเบชเปเบฒเบเบงเบดเบเบตเบเบฒเบเบฎเบฑเบเปเบเบทเปเบญเปเบซเปเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบชเบฑเบเบเบฒเบเบฒเบเปเบฅเบเบเบฒเบเบเบญเบ (เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบญเปเบฒเบเบเปเปเบกเบนเบเบเบฒเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบญเบเบเบงเบเปเบเบปเบฒ).
. เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฝเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเปเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเบฎเบฑเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
เบเปเบญเบเบเบฑเบเบฅเบทเบกเปเบเบตเปเบกเบฅเบฐเบซเบฑเบเบเบตเปเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบเปเบเปเบฒเบญเบดเบเบเบตเปเปเบเบตเบเบเบทเปเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบเบตเบเปเบเปเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ. . เปเบฅเบฐเบเปเปเปเบ bug เบเบฑเบเบเบฒเบเบชเบปเปเบ 1/3 เบเบญเบเบเปเบฒเบเบงเบเปเบเบดเบเปเบเบเบฑเบเบเบฑเบเบเบตเบเบญเบเปเบเบปเปเบฒเบเบญเบ.
เบเบฑเปเบเบเบญเบเบเปเปเปเบเปเบกเปเบเบเบฒเบเปเบเบตเบเปเบเปเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ. เบกเบฒเบชเปเบฒเบเปเบเบเปเบเบต requests.
เบเปเบญเบเปเบญเบปเบฒเบฅเบฐเบซเบฑเบเบชเบดเปเบเบเบดเบกเปเบเบฑเบเบเบทเปเบเบเบฒเบ เบเบตเป เปเบ repository เบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบ.
เบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเบเบงเบเปเบญเบปเบฒเปเบเปเบชเป. เบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบเบเปเบญเบเปเบเบฑเบเบเปเปเบกเบนเบเบชเบฑเบเบเบฒเบญเบฑเบเบชเบฐเบฅเบดเบเบฐ เปเบฅเบฐเบเปเปเบเบงเบฒเบกเบเปเบญเบเบเปเปเบกเบนเบ. เบซเบผเบฑเบเบเบฒเบเบเบตเป, เบเบตเปเบขเบนเปเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบกเปเบเบเบทเบเบชเปเบฒเบเบเบถเปเบ, เบเบฑเปเบเปเบกเปเบ, เบเบตเปเบขเบนเปเปเบกเปเบเปเบเบฑเบเบเบตเปเบฎเบนเปเบเบฑเบเปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเบญเบเบเบตเปเบเบฐเบเบดเบกเปเบเบตเบเปเบเปเปเบ TON. เบเปเปเปเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเบปเปเบเบซเบผเบฒเบเบเบผเบฒเบกเปเบเบซเบฒเบเบตเปเบขเบนเปเบเบตเป, เปเบฅเบฐเบเบฝเบเปเบเปเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเบปเปเบเปเบเบฅเปเบเบตเปเบกเบตเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบญเบเบกเบฑเบเปเบญเบ, เบเบฑเบเบเบฑเปเบเปเบเปเปเบเบทเบญเบเปเบฒเบเปเบเปเปเบงเบฅเบฒเบเบฐเบเบฐเบเปเบฒเบกเบฐเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบขเบนเปเปเบเบกเบฑเบ (เบเบนเปเบเบงเบเบชเบญเบเบเบตเปเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบฅเบฐเบเบฐเบเบดเบเบฑเบ smart. เบชเบฑเบเบเบฒ). .
เบเปเปเปเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบตเบเบเบฒเบเบฅเบฐเบซเบฑเบเบเบฒเบเปเบเบตเบเปเบเปเปเบฅเบฐเปเบเปเบฎเบฑเบ lottery-query.boc เปเบญเบเบฐเบชเบฒเบเบชเบฑเบเบเบฒเบญเบฑเบเบชเบฐเบฅเบดเบเบฐ เปเบฅเบฐเบเบตเปเบขเบนเป.
~/TON/build/crypto/fift -s requests/new-lottery.fif 0เบขเปเบฒเบฅเบทเบกเบเบฑเบเบเบถเบเปเบเบฅเปเบเบตเปเบชเปเบฒเบเบเบถเปเบ: lottery-query.boc, lottery.addr, lottery.pk.
เปเบเบเบฑเบเบเบฒเบชเบดเปเบเบญเบทเปเบเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบซเบฑเบเบเบตเปเบขเบนเปเบเบญเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบเบเบฑเบเบเบถเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ.
new wallet address = 0:044910149dbeaf8eadbb2b28722e7d6a2dc6e264ec2f1d9bebd6fb209079bc2a
(Saving address to file lottery.addr)
Non-bounceable address (for init): 0QAESRAUnb6vjq27KyhyLn1qLcbiZOwvHZvr1vsgkHm8Ksyd
Bounceable address (for later access): kQAESRAUnb6vjq27KyhyLn1qLcbiZOwvHZvr1vsgkHm8KpFYเปเบเบทเปเบญเบเบงเบฒเบกเบกเปเบงเบ, เบเปเบฎเปเบญเบเบเบฑเบ TON
$ ./lite-client/lite-client -C ton-lite-client-test1.config.json
getaccount 0QAESRAUnb6vjq27KyhyLn1qLcbiZOwvHZvr1vsgkHm8Ksydเปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบซเบฑเบเบงเปเบฒเบเบฑเบเบเบตเบเบตเปเบกเบตเบเบตเปเบขเบนเปเบเบตเปเปเบกเปเบเบซเบงเปเบฒเบเปเบเบปเปเบฒ.
account state is emptyเบเบงเบเปเบฎเบปเบฒเบชเบปเปเบเปเบเบซเบฒเบเบตเปเบขเบนเป 0QAESRAUnb6vjq27KyhyLn1qLcbiZOwvHZvr1vsgkHm8Ksyd 2 Gram เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบชเบญเบเบชเบฒเบกเบงเบดเบเบฒเบเบตเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบดเบเบฑเบเบเปเบฒเบชเบฑเปเบเบเบฝเบงเบเบฑเบ. เปเบเบทเปเบญเบชเบปเปเบเบเบผเบฒเบกเบเปเบญเบเปเบเป , เปเบฅเบฐเบเปเบฒเบเบชเบฒเบกเบฒเบเบฎเปเบญเบเบเปเปเบซเปเบเบนเปเปเบเบเบนเปเบซเบเบถเปเบเบเบฒเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบชเบญเบ g, เบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเปเบเบเบญเบเบเปเบฒเบเบเบญเบเบเบปเบเบเบงเบฒเบก.
> getaccount 0QAESRAUnb6vjq27KyhyLn1qLcbiZOwvHZvr1vsgkHm8Ksydเปเบเบดเปเบโเบเบทโเบงเปเบฒโเบเปเปโเปเบเปโเปเบฅเบตเปเบกโเบเบปเปเบ (state:account_uninit) เบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบตเปเบกเบตเบเบตเปเบขเบนเปเบเบฝเบงเบเบฑเบเปเบฅเบฐเบเบญเบเปเบเบดเบเบเบญเบ 1 nanograms.
account state is (account
addr:(addr_std
anycast:nothing workchain_id:0 address:x044910149DBEAF8EADBB2B28722E7D6A2DC6E264EC2F1D9BEBD6FB209079BC2A)
storage_stat:(storage_info
used:(storage_used
cells:(var_uint len:1 value:1)
bits:(var_uint len:1 value:103)
public_cells:(var_uint len:0 value:0)) last_paid:1583257959
due_payment:nothing)
storage:(account_storage last_trans_lt:3825478000002
balance:(currencies
grams:(nanograms
amount:(var_uint len:4 value:2000000000))
other:(extra_currencies
dict:hme_empty))
state:account_uninit))
x{C00044910149DBEAF8EADBB2B28722E7D6A2DC6E264EC2F1D9BEBD6FB209079BC2A20259C2F2F4CB3800000DEAC10776091DCD650004_}
last transaction lt = 3825478000001 hash = B043616AE016682699477FFF01E6E903878CDFD6846042BA1BFC64775E7AC6C4
account balance is 2000000000ngเบเบญเบเบเบตเปเปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเบตเบเปเบเปเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ. เปเบเบตเบเบเบปเบงเบฅเบนเบเบเปเบฒ lite เปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบ.
> sendfile lottery-query.boc
[ 1][t 2][1583008371.631410122][lite-client.cpp:966][!testnode] sending query from file lottery-query.boc
[ 3][t 1][1583008371.828550100][lite-client.cpp:976][!query] external message status is 1 เปเบซเปเบเบงเบเปเบเบดเปเบเบงเปเบฒเบชเบฑเบเบเบฒเปเบเปเบเบทเบเบเบฑเบเบเบตเบกเบกเบฒ.
> last
> getaccount 0QAESRAUnb6vjq27KyhyLn1qLcbiZOwvHZvr1vsgkHm8Ksydเปเบเบเบฑเบเบเบฒเบชเบดเปเบเบญเบทเปเบเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบ.
storage:(account_storage last_trans_lt:3825499000002
balance:(currencies
grams:(nanograms
amount:(var_uint len:4 value:1987150999))
other:(extra_currencies
dict:hme_empty))
state:(account_activeเบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบเบงเปเบฒ account_active.
เบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบ .
เบเบญเบเบเบตเปเปเบซเปเบชเปเบฒเบเบเบฒเบเบฎเปเบญเบเบเปเปเบเบทเปเบญเบเบปเบงเบเบฑเบเบเบฑเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ.
เบซเบผเบฒเบเบเบตเปเบเบฑเบเปเบเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบญเบญเบเบเบฒเบเบญเบฑเบเบเปเบฒเบญเบดเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฝเบเบเบตเปเบขเบนเปเปเบเบฑเบเบงเบฝเบเปเบญเบเบฐเบฅเบฒเบ, เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฎเบฑเบเบญเบฑเบเบเบตเบชเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบปเปเบเบเบผเบฒเบกเปเบเบซเบฒเบเบตเปเบขเบนเปเบเบญเบเปเบเบปเปเบฒเบเบญเบ. เปเบโเบเบงเบฒเบกโเปเบเบฑเบโเบเบดเบ, we will need to do the same as in the test for sending grams .
เบเบตเปเปเบกเปเบเบเปเปเบเบงเบฒเบกเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเปเบเปเบเบซเบฒเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ, เบเปเบญเบเบเบตเป msg_seqno 165, action 2 เปเบฅเบฐ 9.5 เบเบผเบฒเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบปเปเบ.
<b 165 32 u, 2 7 u, 9500000000 Gram, b>เบขเปเบฒเบฅเบทเบกเปเบเบฑเบเบเปเปเบเบงเบฒเบกเบเปเบงเบเบเบฐเปเบเบชเปเบงเบเบเบปเบงเบเบญเบเปเบเบปเปเบฒ lottery.pk, เปเบเบดเปเบเปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบเบเปเบญเบเบซเบเปเบฒเบเบตเปเปเบเปเบงเบฅเบฒเบชเปเบฒเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ. .
เบเบฒเบโเบฎเบฑเบโเบเปเปโเบกเบนเบโเบเบฒเบโเบชเบฑเบโเบเบฒ smart เปเบเบโเปเบเปโเบงเบดโเบเบตโเบเบฒเบโเปเบเปโเบฎเบฑเบโ
เบเบญเบเบเบตเปเปเบซเปเปเบเบดเปเบเบงเบดเบเบตเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบชเบฑเบเบเบฒ smart เปเบเปเบฎเบฑเบเบงเบดเบเบตเบเบฒเบ.
เปเบเบตเบเบเบปเบง lite-client เปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบฎเบฑเบเบงเบดเบเบตเบเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฝเบ.
$ ./lite-client/lite-client -C ton-lite-client-test1.config.json
> runmethod 0QAESRAUnb6vjq27KyhyLn1qLcbiZOwvHZvr1vsgkHm8Ksyd balance
arguments: [ 104128 ]
result: [ 64633878952 ]
...ะ result เบเบฐเบเบญเบเบกเบตเบเปเบฒเบเบตเปเบเบฑเบเบเบฑเบเบชเบปเปเบเบเบทเบ balance() เบเบฒเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ.
เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฎเบฑเบเปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบชเปเบฒเบฅเบฑเบเบงเบดเบเบตเบเบฒเบเบซเบผเบฒเบ.
> runmethod 0QAESRAUnb6vjq27KyhyLn1qLcbiZOwvHZvr1vsgkHm8Ksyd get_seqno
...
arguments: [ 77871 ]
result: [ 1 ] เบเปเปเบซเปเบเบฐเบซเบงเบฑเบเบเบฒเบเปเบเบตเบกเบเบฑเบเบเบญเบเบเปเบฒเบ.
> runmethod 0QAESRAUnb6vjq27KyhyLn1qLcbiZOwvHZvr1vsgkHm8Ksyd get_orders
...
arguments: [ 67442 ]
result: [ ([0 1 1583258284 10000000000 0 74649920601963823558742197308127565167945016780694342660493511643532213172308] [1 3 1583258347 4000000000 0 74649920601963823558742197308127565167945016780694342660493511643532213172308] [2 1 1583259901 50000000000 0 74649920601963823558742197308127565167945016780694342660493511643532213172308]) ] เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฒเปเบเป lite-client เปเบฅเบฐเปเบเปเบฎเบฑเบเบงเบดเบเบตเบเบฒเบเปเบเบทเปเบญเบชเบฐเปเบเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบขเบนเปเปเบเปเบงเบฑเบเปเบเบเป.
เบชเบฐเปเบเบเบเปเปเบกเบนเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบขเบนเปเปเบเปเบงเบฑเบเปเบเบเป
เบเปเบญเบเบเบฝเบเปเบงเบฑเบเปเบเบเปเบเปเบฒเบเปเปเบ Python เปเบเบทเปเบญเบชเบฐเปเบเบเบเปเปเบกเบนเบเบเบฒเบเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเปเบเบงเบดเบเบตเบเบตเปเบชเบฐเบเบงเบ. เปเบเบเบตเปเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบเปเปเปเบเปเบญเบฒเปเบชเบขเบนเปเบเบฑเบเบกเบฑเบเปเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบฅเบฐเบเบฐเปเบเบตเบเปเบเปเปเบงเบฑเบเปเบเบเป .
เบเบฒเบเบฎเปเบญเบเบเปเปเบซเป TON เปเบกเปเบเบกเบฒเบเบฒเบ Python เปเบเบเบเบฒเบเบเปเบงเบเปเบซเบผเบทเบญ lite-client. เปเบเบทเปเบญเบเบงเบฒเบกเบชเบฐเบเบงเบ, เปเบงเบฑเบเปเบเบเปเปเบเปเบเบทเบเบเบฑเบเบเบธเบขเบนเปเปเบ Docker เปเบฅเบฐเปเบเบตเบเปเบเปเปเบ Google Cloud. .
เปเบซเปเบเบฐเบเบฒเบเบฒเบก
เบเบญเบเบเบตเปเปเบซเปเบเบฐเบเบฒเบเบฒเบกเบชเบปเปเบเบเบผเบฒเบกเบขเบนเปเบเบตเปเบเบฑเปเบเปเบเบทเปเบญเบเบฒเบเบเบทเปเบกเบเปเปเบกเบนเบเบเบฒเบ . เบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเปเบ 40 เบเบฃเบฒเบก. เปเบฅเบฐเปเบซเปเบเบงเบเปเบฎเบปเบฒเบงเบฒเบเปเบเบตเบกเบเบฑเบเบชเบญเบเบชเบฒเบกเบขเปเบฒเบเปเบเบทเปเบญเบเบงเบฒเบกเบเบฑเบเปเบเบ. เบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบเบงเปเบฒเปเบงเบฑเบเปเบเบเปเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบเบฐเบซเบงเบฑเบเบเบฒเบเปเบเบตเบกเบเบฑเบ, เบญเบฑเบเบเบฒเบชเปเบงเบเบเบฐเบเบฐเปเบเบเบฐเบเบธเบเบฑเบเปเบฅเบฐเบเปเปเบกเบนเบเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบเบญเบทเปเบเป.
เบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฐเบเบฑเปเบเบเปเบฒเบญเบดเบ, เปเบชเบเบเบตเบชเบญเบ.
Afterword
เบเบปเบเบเบงเบฒเบกเปเบเปเบเบฒเบเบกเบฒเปเบเบฑเบเบเบฒเบงเบเบงเปเบฒเบเบตเปเบเปเบญเบเบเบฒเบเปเบงเป, เบเบฒเบเบเบตเบกเบฑเบเบญเบฒเบเบเบฐเบชเบฑเปเบเบเบงเปเบฒ, เบซเบผเบทเบญเบฒเบเบเบฐเปเบเบฑเบเบเบฝเบเปเบเปเบเบนเปเบเบตเปเบเปเปเบฎเบนเปเบซเบเบฑเบเบเปเบฝเบงเบเบฑเบ TON เปเบฅเบฐเบเปเบญเบเบเบฒเบเบเบฝเบเปเบฅเบฐเปเบเบตเบเปเบเปเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบเบเบตเปเบเปเปเบเปเบฒเบเบเบฒเบเบเบตเปเบกเบตเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเบปเบงเบเบฑเบเบเบฑเบ. เบกเบฑเบ. เบเบฒเบเบเบตเบเบฒเบเบชเบดเปเบเบเบตเปเบชเบฒเบกเบฒเบเบญเบฐเบเบดเบเบฒเบเปเบเปเบเปเบฒเบเบเบถเปเบ.
เบเบฒเบโเบเบตโเบเบฒเบโเบเปเบฒเบโเบเบญเบโเบเบฒเบโเบเบฐโเบเบดโเบเบฑเบโเบชเบฒโเบกเบฒเบโเปเบฎเบฑเบโเปเบเปโเบขเปเบฒเบโเบกเบตโเบเบฐโเบชเบดเบโเบเบดโเบเบฒเบโเปเบฅเบฐโเบชเบฐโเบซเบเปเบฒโเบเบฒเบกโ, เปเบเปโเบซเบผเบฑเบโเบเบฒเบโเบเบฑเปเบโเบกเบฑเบโเบเบฐโเปเบเปโเปเบงโเบฅเบฒโเบซเบผเบฒเบโเบเบงเปเบฒโเบเบตเปโเบเบฐโเบเบฐโเบเบฝเบกโเบเบปเบโเบเบงเบฒเบกโ. เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบงเปเบฒเบเปเบญเบเปเบฎเบฑเบเบเบดเบเบเบฒเบเบขเบนเปเบเปเบญเบเปเบเบเปเบญเบเบซเบเบถเปเบเบซเบผเบทเบเปเปเปเบเบปเปเบฒเปเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบ, เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเปเบฒเบเบเปเบฒเบฅเบฑเบเปเบฎเบฑเบเบชเบดเปเบเบเบตเปเบฎเปเบฒเบเปเบฎเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบญเบตเบเปเบชเปเปเบญเบเบฐเบชเบฒเบเบเบฒเบเบเบฒเบเบซเบผเบทเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบเบตเปเบกเบตเบฅเบฐเบซเบฑเบ TON.
เบกเบฑเบเบเบงเบเบเบฐเบชเบฑเบเปเบเบเบงเปเบฒเบเบฑเบเบเบฑเปเบเปเบเป TON เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเบเบฑเบเบขเบนเปเปเบเบเบฑเปเบเบเบญเบเบเบญเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบขเปเบฒเบเบซเปเบฒเบงเบซเบฑเบ, เบเบฒเบเบเปเบฝเบเปเบเบเบญเบฒเบเบเบฐเปเบเบตเบเบเบทเปเบเบเบตเปเบเบฐเบเปเบฒเบฅเบฒเบเบเบฑเปเบเบเบญเบเปเบเปเปเบเบเบปเบเบเบงเบฒเบกเบเบตเป (เบเบตเปเปเบเบตเบเบเบถเปเบเปเบเบเบฐเบเบฐเบเบตเปเบเปเบญเบเบเบฝเบ, เบกเบฑเบเปเบเปเบเบทเบเปเบเปเปเบเปเบฅเปเบง), เปเบเปเบงเบดเบเบตเบเบฒเบเบเบปเปเบงเปเบเปเบกเปเบ. เบเบปเบเบเบฐเบเปเปเบเปเบฝเบเปเบเบ.
เบเปเบญเบเบเบฐเบเปเปเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบญเบฐเบเบฒเบเบปเบเบเบญเบ TON. เบเบฒเบเบเบตเปเบงเบเบตเบเบฐเบเบฒเบเปเบเบฑเบเบชเบดเปเบเบเบตเปเปเบซเบเปเปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเบงเบเปเบเปเปเบงเบฅเบฒเบชเบถเบเบชเบฒเบกเบฑเบเปเบฅเบฐเบเบทเปเบกเบเปเปเบกเบนเบเปเบชเปเบเบฑเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบเบฑเบเบเบธเบเบฑเบ.
เบเบฑเบเบกเบต Libra เบเบฒเบเปเบเบชเบเบธเบ, เปเบเบดเปเบเบกเบตเบเบนเปเบเบปเบกเบเบตเปเบกเบตเบเปเบฒเปเบฎเบเบเบญเบเบเบนเปเปเบเปเบเบฐเบซเบเบฒเบเปเบซเบเปเบเบงเปเบฒ TON. เบเปเบฒเบเบฐเปเบเบปเปเบฒเบฎเบนเปเปเบเบทเบญเบเบเปเปเบกเบตเบซเบเบฑเบเบเปเบฝเบงเบเบฑเบ Libra, เบเบฒเบเบเบฑเบเบชเบดเบเปเบเบเบเบญเบเบเบฐเบเบธเบกเบกเบตเบเบดเบเบเบฐเบเปเบฒเบซเบผเบฒเบเบเปเบงเบฒเบขเบนเปเปเบเบเบธเบกเบเบปเบ TON. เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบนเปเบเบฑเบเบเบฐเบเบฒเปเบฅเบฐเบเบธเบกเบเบปเบเบเบญเบ TON เปเบกเปเบเบเปเบฒเบเบเบทเบขเบนเปเปเบเปเบเบดเบ, เปเบเบดเปเบเบเบฑเบเปเบขเบฑเบ.
เปเบญเบเบฐเบชเบฒเบ
- เปเบญเบเบฐเบชเบฒเบ TON เบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบ:
- TON repository เบขเปเบฒเบโเปเบเบฑเบโเบเบฒเบโเบเบฒเบโ:
- เบเบฐเปเบเบปเบฒเปเบเบดเบเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเปเบงเบเบตเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ:
- เบเบฑเบเบชเบฑเบเบเบฒเบญเบฑเบเบชเบฐเบฅเบดเบเบฐเบเบฒเบเบเบปเบเบเบงเบฒเบกเบเบตเป:
- เปเบเบทเปเบญเบกเบเปเปเบเบฑเบเปเบงเบฑเบเปเบเบเปเบชเบฑเบเบเบฒเบชเบฐเบซเบกเบฒเบ:
- Repository เบชเปเบฒเบฅเบฑเบเบชเปเบงเบเบเบฐเบซเบเบฒเบเบชเปเบฒเบฅเบฑเบ Visual Studio Code เบชเปเบฒเบฅเบฑเบ FunC:
- เบชเบปเบเบเบฐเบเบฒเบเปเบฝเบงเบเบฑเบ TON เปเบ Telegram, เปเบเบดเปเบเบเปเปเบเปเบงเบเบเบดเบเปเบฅเปเบกเบฑเบเบขเบนเปเปเบเบเบฑเปเบเบเบญเบเปเบเบทเปเบญเบเบเบปเปเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบดเบเบงเปเบฒเบกเบฑเบเบเบฐเบเปเปเบกเบตเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเปเบฒเบเปเบญเบเปเบงเบปเปเบฒเบงเปเบฒเบเบธเบเบเบปเบเบเบตเปเบเบฝเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบชเปเบฒเบฅเบฑเบ TON เปเบกเปเบเบขเบนเปเบเบตเปเบเบฑเปเบ. เบเบญเบเบเบฑเปเบเบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเบฎเปเบญเบเบเปเปเบซเปเบกเบตเบเบผเบฒเบกเบเบปเบเบชเบญเบเบขเบนเปเบเบตเปเบเบฑเปเบ.
- เบเบฒเบเบชเบปเบเบเบฐเบเบฒเบญเบทเปเบเบเปเบฝเบงเบเบฑเบ TON เบเบตเปเบเปเบญเบเบเบปเบเบเปเปเบกเบนเบเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบ:
- เบเบฑเปเบโเบเบญเบโเบเปเบฒโเบญเบดเบโเบเบญเบโเบเบฒเบโเปเบเปเบโเบเบฑเบโ:
- เบเบฑเปเบโเบเบญเบโเบเบตโเบชเบญเบโเบเบญเบโเบเบฒเบโเปเบเปเบโเบเบฑเบโ:
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com
