TON เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเจเจฐเจพเจฐเจจเจพเจฎเฉ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจฒเจฟเจเจฃเจพ เจ เจคเฉ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจเจพ เจนเฉ เจเจธ เจฌเจพเจฐเฉ
เจเจน เจฒเฉเจ เจเจฟเจธ เจฌเจพเจฐเฉ เจนเฉ?
เจฒเฉเจ เจตเจฟเฉฑเจ เจฎเฉเจ เจเจธ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐเจพเจเจเจพ เจเจฟ เจฎเฉเจ เจชเจนเจฟเจฒเฉ (เจฆเฉ เจตเจฟเฉฑเจเฉเจ) เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจฌเจฒเจพเจเจเฉเจจ เจฎเฉเจเจพเจฌเจฒเฉ เจตเจฟเฉฑเจ เจเจฟเจตเฉเจ เจนเจฟเฉฑเจธเจพ เจฒเจฟเจ, เจเฉเจ เจเจจเจพเจฎ เจจเจนเฉเจ เจฒเจฟเจ, เจ เจคเฉ เจเฉฑเจ เจฒเฉเจ เจตเจฟเฉฑเจ เจเจชเจฃเฉ เจคเจเจผเจฐเจฌเฉ เจจเฉเฉฐ เจฐเจฟเจเจพเจฐเจก เจเจฐเจจ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ เจคเจพเจ เจเฉ เจเจน เจญเฉเจฒเฉเจเฉ เจตเจฟเฉฑเจ เจจเจพ เจกเฉเฉฑเจฌ เจเจพเจตเฉ เจ เจคเฉ, เจธเจผเจพเจเจฆ, เจฎเจฆเจฆ เจเจฐ เจธเจเฉเฅค เจเฉเจ
เจเจฟเจเจเจเจฟ เจฎเฉเจ เจเจฌเจธเจเจฐเฉเจเจ เจเฉเจก เจจเจนเฉเจ เจฒเจฟเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจธเฉ, เจชเจฐ เจเฉเจ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ, เจฒเฉเจ เจฒเจ เจฎเฉเจ เจเฉฑเจ เจคเจคเจเจพเจฒ เจฒเจพเจเจฐเฉ เจฒเจ เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฒเจฟเจเจฟเจ เจ เจคเฉ เจเฉฑเจ เจตเฉเจฌเจธเจพเจเจ เจเฉ เจเฉฐเจเจฐเจฎเฉเจกเฉเจเจ เจธเจเฉเจฐเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเฉเจคเฉ เจฌเจฟเจจเจพเจ TON เจคเฉเจ เจธเจฟเฉฑเจงเจพ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจกเฉเจเจพ เจฆเจฟเจเจพเจเจเจฆเฉ เจนเฉเฅค
เจฒเฉเจ เจเจนเจจเจพเจ เจฒเจ เจฒเจพเจญเจฆเจพเจเจ เจนเฉเจตเฉเจเจพ เจเฉ TON เจตเจฟเฉฑเจ เจเจชเจฃเจพ เจชเจนเจฟเจฒเจพ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฌเจฃเจพเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจจ, เจชเจฐ เจเจน เจจเจนเฉเจ เจเจพเจฃเจฆเฉ เจเจฟ เจเจฟเฉฑเจฅเฉ เจธเจผเฉเจฐเฉ เจเจฐเจจเจพ เจนเฉ.
เจฒเจพเจเจฐเฉ เจฆเฉ เจเฉฑเจ เจเจฆเจพเจนเจฐเจฃ เจตเจเฉเจ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ, เจฎเฉเจ เจตเจพเจคเจพเจตเจฐเจฃ เจจเฉเฉฐ เจธเจฅเจพเจชเจค เจเจฐเจจ เจคเฉเจ เจฒเฉ เจเฉ เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจ, เจเจธ เจจเจพเจฒ เจเฉฑเจฒเจฌเจพเจค เจเจฐเจจ, เจ เจคเฉ เจกเฉเจเจพ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจ เจคเฉ เจชเฉเจฐเจเจพเจธเจผเจค เจเจฐเจจ เจฒเจ เจเฉฑเจ เจตเฉเจฌเจธเจพเจเจ เจฒเจฟเจเจฃ เจคเฉฑเจ เจเจพเจตเจพเจเจเจพเฅค
เจฎเฉเจเจพเจฌเจฒเฉ เจตเจฟเฉฑเจ เจญเจพเจ เจฒเฉเจฃ เจฌเจพเจฐเฉ
เจชเจฟเจเจฒเฉ เจ
เจเจคเฉเจฌเจฐ, เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจจเฉ เจจเจตเฉเจเจ เจญเจพเจธเจผเจพเจตเจพเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจฌเจฒเจพเจเจเฉเจจ เจฎเฉเจเจพเจฌเจฒเฉ เจฆเฉ เจเฉเจธเจผเจฃเจพ เจเฉเจคเฉ Fift
ะธ FunC
. เจชเฉฐเจ เจชเฉเจฐเจธเจคเจพเจตเจฟเจค เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจเจธ เจตเจฟเฉฑเจเฉเจ เจเจฟเจธเฉ เจจเฉเฉฐ เจตเฉ เจฒเจฟเจเจฃเจพ เจเฉเจฃเจจเจพ เจเจผเจฐเฉเจฐเฉ เจธเฉเฅค เจฎเฉเจ เจธเฉเจเจฟเจ เจเจฟ เจเฉเจ เจตเฉฑเจเจฐเจพ เจเจฐเจจเจพ, เจญเจพเจธเจผเจพ เจธเจฟเฉฑเจเจฃเจพ เจ
เจคเฉ เจเฉเจ เจฌเจฃเจพเจเจฃเจพ เจเฉฐเจเจพ เจฒเฉฑเจเฉเจเจพ, เจญเจพเจตเฉเจ เจฎเฉเจจเฉเฉฐ เจญเจตเจฟเฉฑเจ เจตเจฟเฉฑเจ เจเฉเจ เจนเฉเจฐ เจฒเจฟเจเจฃเจพ เจจเจพ เจชเจตเฉเฅค เจจเจพเจฒ เจนเฉ, เจตเจฟเจธเจผเจพ เจฒเจเจพเจคเจพเจฐ เจฌเฉเฉฑเจฒเฉเจนเจพเจ 'เจคเฉ เจนเฉ.
เจเจน เจเจนเจฟเจฃเจพ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจฃ เจนเฉ เจเจฟ เจฎเฉเจฐเฉ เจเฉเจฒ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจตเจฟเจเจธเจฟเจค เจเจฐเจจ เจฆเจพ เจเฉเจ เจ เจจเฉเจญเจต เจจเจนเฉเจ เจธเฉเฅค
เจฎเฉเจ เจ
เฉฐเจค เจคเฉฑเจ เจนเจฟเฉฑเจธเจพ เจฒเฉเจฃ เจฆเฉ เจฏเฉเจเจจเจพ เจฌเจฃเจพเจ เจเจฆเฉเจ เจคเฉฑเจ เจฎเฉเจ เจจเจนเฉเจ เจเจฐ เจธเจเจฆเจพ เจ
เจคเฉ เจซเจฟเจฐ เจเฉฑเจ เจธเจฎเฉเจเจฟเจ เจฒเฉเจ เจฒเจฟเจ เจธเจเจฆเจพ เจนเจพเจ, เจชเจฐ เจฎเฉเจ เจชเจนเจฟเจฒเฉ เจเฉฑเจ เจตเจฟเฉฑเจ เจคเฉเจฐเฉฐเจค เจ
เจธเจซเจฒ เจฐเจฟเจนเจพ. เจเจ FunC
เจ
เจคเฉ เจเจน เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉเฅค เจฎเฉเจ เจเจธเจจเฉเฉฐ เจเฉฑเจ เจ
เจงเจพเจฐ เจตเจเฉเจ เจฒเจฟเจ
เจเจธ เจธเจฎเฉเจ, เจฎเฉเจ เจธเฉเจเจฟเจ เจเจฟ เจเจน เจฏเจเฉเจจเฉ เจคเฉเจฐ 'เจคเฉ เจเฉฑเจเฉ เจเฉฑเจ เจเฉเจ เจเจจเจพเจฎเฉ เจธเจฅเจพเจจ เจฒเฉเจฃ เจฒเจ เจเจพเจซเจผเฉ เจธเฉ. เจจเจคเฉเจเฉ เจตเจเฉเจ, 40 เจตเจฟเฉฑเจเฉเจ เจฒเจเจญเจ 60 เจญเจพเจเฉเจฆเจพเจฐ เจเจจเจพเจฎ เจเฉเจคเฉ เจฌเจฃ เจเจ เจ เจคเฉ เจฎเฉเจ เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจจเจนเฉเจ เจธเฉเฅค เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจเจธ เจตเจฟเฉฑเจ เจเฉเจ เจตเฉ เจเจฒเจค เจจเจนเฉเจ เจนเฉ, เจชเจฐ เจเฉฑเจ เจเฉฑเจฒ เจจเฉ เจฎเฉเจจเฉเฉฐ เจชเจฐเฉเจธเจผเจพเจจ เจเฉเจคเจพ. เจจเจคเฉเจเจฟเจเจ เจฆเฉ เจเฉเจธเจผเจฃเจพ เจฆเฉ เจธเจฎเฉเจ, เจฎเฉเจฐเฉ เจเจเจฐเจพเจฐเจจเจพเจฎเฉ เจฒเจ เจเฉเจธเจ เจฆเฉ เจธเจฎเฉเจเจฟเจ เจจเจนเฉเจ เจเฉเจคเฉ เจเจ เจธเฉ, เจฎเฉเจ เจเฉเจ เจตเจฟเฉฑเจ เจญเจพเจ เจฒเฉเจฃ เจตเจพเจฒเจฟเจเจ เจจเฉเฉฐ เจชเฉเฉฑเจเจฟเจ เจเจฟ เจเฉ เจเฉเจ เจนเฉเจฐ เจธเฉ เจเจฟเจธ เจเฉเจฒ เจเจน เจจเจนเฉเจ เจธเฉ, เจเฉเจ เจตเฉ เจจเจนเฉเจ เจธเฉ.
เจเจผเจพเจนเจฐ เจคเฉเจฐ 'เจคเฉ เจฎเฉเจฐเฉ เจธเฉเจจเฉเจนเจฟเจเจ เจตเฉฑเจฒ เจงเจฟเจเจจ เจฆเจฟเฉฐเจฆเฉ เจนเฉเจ, เจฆเฉ เจฆเจฟเจจ เจฌเจพเจ เจฆ เจเฉฑเจเจพเจ เจจเฉ เจเฉฑเจ เจเจฟเฉฑเจชเจฃเฉ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเฉเจคเฉ เจ เจคเฉ เจฎเฉเจจเฉเฉฐ เจ เจเฉ เจตเฉ เจเจน เจธเจฎเจ เจจเจนเฉเจ เจ เจฐเจฟเจนเจพ เจนเฉ เจเจฟ เจเฉ เจเจจเฉเจนเจพเจ เจจเฉ เจจเจฟเจฐเจฃเจพ เจฆเฉ เจฆเฉเจฐเจพเจจ เจเจฒเจคเฉ เจจเจพเจฒ เจฎเฉเจฐเฉ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจจเฉเฉฐ เจเฉเฉฐเจเจพเจเจ เจเจพเจ เจฌเจธ เจเจน เจธเฉเจเจฟเจ เจเจฟ เจเจน เจเฉฐเจจเจพ เจฌเฉเจฐเจพ เจธเฉ เจเจฟ เจเจธ เจจเฉเฉฐ เจเจฟเฉฑเจชเจฃเฉ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจธเฉเฅค เจฎเฉเจ เจชเฉฐเจจเฉ 'เจคเฉ เจเฉฑเจ เจธเจตเจพเจฒ เจชเฉเฉฑเจเจฟเจ, เจชเจฐ เจเจตเจพเจฌ เจจเจนเฉเจ เจฎเจฟเจฒเจฟเจเฅค เจนเจพเจฒเจพเจเจเจฟ เจเจน เจเฉเจ เจญเฉเจค เจจเจนเฉเจ เจนเฉ เจเจฟ เจเจฟเจธ เจจเฉ เจจเจฟเจฐเจฃเจพ เจเฉเจคเจพ, เจฎเฉเจ เจจเจฟเฉฑเจเฉ เจธเฉฐเจฆเฉเจธเจผ เจฒเจฟเจเจฃเจพ เจฌเฉเจฒเฉเฉเจพ เจธเจฎเจเจฟเจ.
เจธเจฎเจเจฃ เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจธเจฎเจพเจ เจฒเฉฑเจ เจเจฟเจ, เจเจธ เจฒเจ เจเฉฑเจ เจฒเฉเจ เจฒเจฟเจเจฃ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ เจเจฟเจเฅค เจเจฟเจเจเจเจฟ เจ เจเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจจเจนเฉเจ เจนเฉ, เจเจน เจฒเฉเจ เจฆเจฟเจฒเจเจธเจชเฉ เจฐเฉฑเจเจฃ เจตเจพเจฒเฉ เจนเจฐเฉเจ เจฒเจ เจธเจฎเจพเจ เจฌเจเจพเจเจฃ เจตเจฟเฉฑเจ เจฎเจฆเจฆ เจเจฐเฉเจเจพเฅค
TON เจตเจฟเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฆเฉ เจงเจพเจฐเจจเจพ
เจเจธ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจเจฟ เจคเฉเจธเฉเจ เจเฉเจ เจตเฉ เจฒเจฟเจเฉ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจน เจชเจคเจพ เจฒเจเจพเจเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ เจเจฟ เจเจธ เจเฉเจเจผ เจคเฉฑเจ เจเจฟเจธ เจชเจพเจธเฉ เจชเจนเฉเฉฐเจเจฃเจพ เจนเฉ. เจเจธ เจฒเจ, เจนเฉเจฃ เจฎเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจฆเฉฑเจธเจพเจเจเจพ เจเจฟ เจธเจฟเจธเจเจฎ เจตเจฟเฉฑเจ เจเจฟเจนเฉเฉ เจนเจฟเฉฑเจธเฉ เจธเจผเจพเจฎเจฒ เจนเจจ. เจตเจงเฉเจฐเฉ เจธเจชเจธเจผเจ เจคเฉเจฐ 'เจคเฉ, เจเฉฑเจเฉ-เจเฉฑเจ เจเจฟเจธเฉ เจเจฟเจธเจฎ เจฆเจพ เจเฉฐเจฎเจเจพเจเฉ เจเจเจฐเจพเจฐเจจเจพเจฎเจพ เจฒเจฟเจเจฃ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจฟเจนเฉเฉ เจนเจฟเฉฑเจธเฉ เจเจพเจฃเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
เจ
เจธเฉเจ เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฒเจฟเจเจฃ เจ
เจคเฉ เจเจธ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ 'เจคเฉ เจงเจฟเจเจจ เจฆเฉเจตเจพเจเจเฉ TON Virtual Machine (TVM)
, Fift
ะธ FunC
, เจเจธ เจฒเจ เจฒเฉเจ เจเฉฑเจ เจจเจฟเจฏเจฎเจค เจชเฉเจฐเฉเจเจฐเจพเจฎ เจฆเฉ เจตเจฟเจเจพเจธ เจฆเฉ เจตเจฐเจฃเจจ เจตเจฐเจเจพ เจนเฉ. เจ
เจธเฉเจ เจเจธ เจเฉฑเจฒ 'เจคเฉ เจงเจฟเจเจจ เจจเจนเฉเจ เจฆเฉเจตเจพเจเจเฉ เจเจฟ เจชเจฒเฉเจเจซเจพเจฐเจฎ เจเฉเจฆ เจเฉฑเจฅเฉ เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉเฅค
เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเจน เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ TVM
เจ
เจคเฉ เจญเจพเจธเจผเจพ Fift
เจตเจงเฉเจ เจ
เจงเจฟเจเจพเจฐเจค เจฆเจธเจคเจพเจตเฉเจเจผ เจนเจจเฅค เจฎเฉเจเจพเจฌเจฒเฉ เจตเจฟเจ เจนเจฟเฉฑเจธเจพ เจฒเฉเจฃ เจธเจฎเฉเจ เจ
เจคเฉ เจนเฉเจฃ เจฎเฉเจเฉเจฆเจพ เจเจเจฐเจพเจฐเจจเจพเจฎเฉ เจจเฉเฉฐ เจฒเจฟเจเจฃ เจตเฉเจฒเฉ, เจฎเฉเจ เจ
เจเจธเจฐ เจเจธ เจตเฉฑเจฒ เจฎเฉเฉเจฟเจ.
เจฎเฉเฉฑเจ เจญเจพเจธเจผเจพ เจเจฟเจธ เจตเจฟเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฒเจฟเจเฉ เจเจพเจเจฆเฉ เจนเจจ FunC
. เจเจธ เจธเจฎเฉเจ เจเจธ 'เจคเฉ เจเฉเจ เจฆเจธเจคเจพเจตเฉเจเจผ เจจเจนเฉเจ เจนเฉ, เจเจธเจฒเจ เจเฉเจ เจฒเจฟเจเจฃ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจ
เจงเจฟเจเจพเจฐเจค เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจคเฉเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจเจธ เจฆเฉเจเจ เจเจฆเจพเจนเจฐเจฃเจพเจ เจฆเจพ เจ
เจงเจฟเจเจจ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ เจ
เจคเฉ เจเฉฑเจฅเฉ เจเฉเจฆ เจญเจพเจธเจผเจพ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจเจพ, เจจเจพเจฒ เจนเฉ เจคเฉเจธเฉเจ เจชเจฟเจเจฒเฉ เจฆเฉ เจคเฉเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจเจธ เจฆเฉเจเจ เจเจฆเจพเจนเจฐเจฃเจพเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉเฅค เจฎเฉเจเจพเจฌเจฒเฉ เจฒเฉเจ เจฆเฉ เจ
เฉฐเจค เจตเจฟเฉฑเจ เจฒเจฟเฉฐเจ.
เจฎเฉฐเจจ เจฒเจ เจ
เจธเฉเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฒเจฟเจ เจเฉเฉฑเจเฉ เจนเจพเจ FunC
, เจเจธ เจคเฉเจ เจฌเจพเจ
เจฆ เจ
เจธเฉเจ เจเฉเจก เจจเฉเฉฐ เจซเจฟเจซเจ เจ
เจธเฉเจเจฌเจฒเจฐ เจตเจฟเฉฑเจ เจเฉฐเจชเจพเจเจฒ เจเจฐเจฆเฉ เจนเจพเจเฅค
เจเฉฐเจชเจพเจเจฒ เจเฉเจคเจพ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเฉเจคเจพ เจเจพเจฃเจพ เจฌเจพเจเฉ เจนเฉเฅค เจ
เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจตเจฟเฉฑเจ เจเฉฑเจ เจซเฉฐเจเจธเจผเจจ เจฒเจฟเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ Fift
, เจเฉ เจเจฟ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจเฉเจก เจ
เจคเฉ เจเฉเจ เจนเฉเจฐ เจชเฉเจฐเจพเจฎเฉเจเจฐเจพเจ เจจเฉเฉฐ เจเจจเจชเฉเจ เจตเจเฉเจ เจฒเจตเฉเจเจพ, เจ
เจคเฉ เจเจเจเจชเฉเฉฑเจ เจเจเจธเจเฉเจเจธเจผเจจ เจตเจพเจฒเฉ เจเฉฑเจ เจซเจพเจเจฒ เจนเฉเจตเฉเจเฉเฅค .boc
(เจเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉ "เจธเฉเฉฑเจฒเจพเจ เจฆเจพ เจฌเฉเจ"), เจ
เจคเฉ, เจเจธ เจเฉฑเจฒ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจพ เจนเฉ เจเจฟ เจ
เจธเฉเจ เจเจธเจจเฉเฉฐ เจเจฟเจตเฉเจ เจฒเจฟเจเจฆเฉ เจนเจพเจ, เจเฉฑเจ เจชเฉเจฐเจพเจเจตเฉเจ เจเฉเฉฐเจเฉ เจ
เจคเฉ เจชเจคเจพ, เจเฉ เจเจฟ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจเฉเจก เจฆเฉ เจ
เจงเจพเจฐ 'เจคเฉ เจคเจฟเจเจฐ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค เจคเฉเจธเฉเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฆเฉ เจชเจคเฉ 'เจคเฉ เจเฉเจฐเจพเจฎ เจญเฉเจ เจธเจเจฆเฉ เจนเฉ เจเฉ เจ
เจเฉ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจจเจนเฉเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
TON เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจ เจฒเจ เจชเฉเจฐเจพเจชเจค เจเฉเจคเจพ .boc
เจซเจพเจเจฒ เจจเฉเฉฐ เจเฉฑเจ เจนเจฒเจเฉ เจเจฒเจพเจเฉฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจฌเจฒเจพเจเจเฉเจจ เจจเฉเฉฐ เจญเฉเจเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเจเจเฉ (เจนเฉเจ เจพเจ เจเจธ เจฌเจพเจฐเฉ เจนเฉเจฐ)เฅค เจชเจฐ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเฉเจฐเจพเจฎ เจจเฉเฉฐ เจคเจฟเจเจฐ เจเฉเจคเฉ เจชเจคเฉ 'เจคเฉ เจเฉเจฐเจพเจเจธเจซเจฐ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจจเจนเฉเจ เจคเจพเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจจเจนเฉเจ เจเฉเจคเจพ เจเจพเจตเฉเจเจพเฅค เจชเฉเจฐเจเจพเจธเจผเจจ เจคเฉเจ เจฌเจพเจ
เจฆ, เจคเฉเจธเฉเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจจเฉเฉฐ เจฌเจพเจนเจฐเฉเจ เจธเฉฐเจฆเฉเจธเจผ เจญเฉเจ เจเฉ (เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเฉฑเจ เจนเจฒเจเฉ เจเจฒเจพเจเฉฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ) เจเจพเจ เจ
เฉฐเจฆเจฐเฉเจ (เจเจฆเจพเจนเจฐเจฃ เจตเจเฉเจ, เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฆเฉเจเฉ เจจเฉเฉฐ TON เจฆเฉ เจ
เฉฐเจฆเจฐ เจธเฉเจจเฉเจนเจพ เจญเฉเจ เจเฉ) เจจเจพเจฒ เจเฉฑเจฒเจฌเจพเจค เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
เจเฉฑเจ เจตเจพเจฐ เจเจฆเฉเจ เจ
เจธเฉเจ เจธเจฎเจ เจเจพเจเจฆเฉ เจนเจพเจ เจเจฟ เจเฉเจก เจเจฟเจตเฉเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจนเฉเฉฐเจฆเจพ เจนเฉ, เจคเจพเจ เจเจน เจเจธเจพเจจ เจนเฉ เจเจพเจเจฆเจพ เจนเฉเฅค เจ
เจธเฉเจ เจฎเฉเจเฉ เจคเฉเจฐ 'เจคเฉ เจเจพเจฃเจฆเฉ เจนเจพเจ เจเจฟ เจ
เจธเฉเจ เจเฉ เจฒเจฟเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ เจ
เจคเฉ เจธเจพเจกเจพ เจชเฉเจฐเฉเจเจฐเจพเจฎ เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเฉเจเจพเฅค เจ
เจคเฉ เจฒเจฟเจเจฃ เจตเฉเจฒเฉ, เจ
เจธเฉเจ เจฆเฉเจเจฆเฉ เจนเจพเจ เจเจฟ เจเจน เจฎเฉเจเฉเจฆเจพ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจเจธ เจตเจฟเฉฑเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเจฟเจตเฉเจ เจฒเจพเจเฉ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจเจพเจ เจ
เจธเฉเจ เจฒเจพเจเฉเจเจฐเจจ เจเฉเจก เจจเฉเฉฐ เจฆเฉเจเจฆเฉ เจนเจพเจ Fift
ะธ FunC
เจ
เจงเจฟเจเจพเจฐเจค เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจตเจฟเฉฑเจ, เจเจพเจ เจ
เจงเจฟเจเจพเจฐเจค เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจตเจฟเฉฑเจ เจฆเฉเจเฉเฅค
เจฌเจนเฉเจค เจตเจพเจฐ เจฎเฉเจ เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจเฉเจ เจตเจฟเฉฑเจ เจเฉเจตเจฐเจกเจธ เจฆเฉ เจเฉเจ เจเฉเจคเฉ เจเจฟเฉฑเจฅเฉ เจธเจพเจฐเฉ เจฎเฉเจเจพเจฌเจฒเฉ เจฆเฉ เจญเจพเจเฉเจฆเจพเจฐ เจ เจคเฉ เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจเจฐเจฎเจเจพเจฐเฉ เจเจเฉฑเจ เฉ เจนเฉเจ, เจ เจคเฉ เจ เจเจฟเจนเจพ เจนเฉเจเจ เจเจฟ เจฎเฉเจเจพเจฌเจฒเฉ เจฆเฉ เจฆเฉเจฐเจพเจจ เจนเจฐ เจเฉเจ เจเฉฑเจฅเฉ เจเจเฉฑเจ เฉ เจนเฉ เจเจฟเจ เจ เจคเฉ เจซเจพเจเจซเจ เจ เจคเฉ เจซเจจเจธเฉ เจฌเจพเจฐเฉ เจเจฐเจเจพ เจเจฐเจจเฉ เจธเจผเฉเจฐเฉ เจเจฐ เจฆเจฟเฉฑเจคเฉเฅค เจฒเฉเจ เจฆเฉ เจ เฉฐเจค เจตเจฟเฉฑเจ เจฒเจฟเฉฐเจ.
เจเจน เจฅเจฟเจเจฐเฉ เจคเฉเจ เจ เจญเจฟเจเจธ เจตเฉฑเจฒ เจเจพเจฃ เจฆเจพ เจธเจฎเจพเจ เจนเฉ.
TON เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจตเจพเจคเจพเจตเจฐเจจ เจคเจฟเจเจฐ เจเจฐเจจเจพ
เจฎเฉเจ เจเจน เจธเจญ เจเฉเจ เจเฉเจคเจพ เจเฉ MacOS 'เจคเฉ เจฒเฉเจ เจตเจฟเฉฑเจ เจตเจฐเจฃเจจ เจเฉเจคเจพ เจเจพเจตเฉเจเจพ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจกเฉเจเจฐ 'เจคเฉ เจธเจพเจซเจผ เจเจฌเฉฐเจเฉ 18.04 LTS เจตเจฟเฉฑเจ เจกเจฌเจฒ-เจเฉเฉฑเจ เจเฉเจคเจพ เจนเฉเฅค
เจชเจนเจฟเจฒเฉ เจเฉฑเจฒ เจเจน เจนเฉ เจเจฟ เจคเฉเจนเจพเจจเฉเฉฐ เจเฉ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจกเจพเจเจจเจฒเฉเจก เจ
เจคเฉ เจเฉฐเจธเจเจพเจฒ เจนเฉ lite-client
เจเจฟเจธ เจจเจพเจฒ เจคเฉเจธเฉเจ TON เจจเฉเฉฐ เจฌเฉเจจเจคเฉเจเจ เจญเฉเจ เจธเจเจฆเฉ เจนเฉเฅค
เจ
เจงเจฟเจเจพเจฐเจค เจตเฉเฉฑเจฌเจธเจพเจเจ 'เจคเฉ เจนเจฆเจพเจเจคเจพเจ เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจเจพเจซเจผเฉ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจ เจ
เจคเฉ เจธเจชเจธเจผเจ เจฐเฉเจช เจตเจฟเฉฑเจ เจฌเจฟเจเจจ เจเจฐเจฆเฉเจเจ เจนเจจ เจ
เจคเฉ เจเฉเจ เจตเฉเจฐเจตเจฟเจเจ เจจเฉเฉฐ เจเฉฑเจกเจฆเฉเจเจ เจนเจจเฅค เจเฉฑเจฅเฉ เจ
เจธเฉเจ เจจเจฟเจฐเจฆเฉเจธเจผเจพเจ เจฆเฉ เจชเจพเจฒเจฃเจพ เจเจฐเจฆเฉ เจนเจพเจ, เจฐเจธเจคเฉ เจตเจฟเฉฑเจ เจเฉเฉฐเจฎ เจนเฉเจเจเจ เจจเจฟเจฐเจญเจฐเจคเจพเจตเจพเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจฆเฉ เจนเฉเจเฅค เจฎเฉเจ เจนเจฐเฉเจ เจชเฉเจฐเฉเจเฉเจเจ เจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจเฉฐเจชเจพเจเจฒ เจจเจนเฉเจ เจเฉเจคเจพ เจ
เจคเฉ เจ
เจงเจฟเจเจพเจฐเจค เจเจฌเฉฐเจเฉ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ (เจฎเฉเจเจเจเจธ 'เจคเฉ เจเฉ เจฎเฉเจ เจตเจฐเจคเจฟเจ เจนเฉ) เจคเฉเจ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเจพ 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
.
เจชเจนเจฟเจฒเจพเจ, เจ
เจธเฉเจ TON เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเฉเฉฐ เจเจธเจฆเฉ เจจเจฟเจฐเจญเจฐเจคเจพ เจฆเฉ เจจเจพเจฒ เจเจฒเฉเจจ เจเจฐเจฆเฉ เจนเจพเจเฅค เจธเจนเฉเจฒเจค เจฒเจ, เจ
เจธเฉเจ เจเฉฑเจ เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ เจธเจญ เจเฉเจ เจเจฐเจพเจเจเฉ ~/TON
.
cd ~/TON
git clone https://github.com/ton-blockchain/ton.git
cd ./ton
git submodule update --init --recursive
เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจ
เจฎเจฒ เจจเฉเฉฐ เจตเฉ เจธเจเฉเจฐ เจเจฐเจฆเฉ เจนเฉ Fift
ะธ FunC
.
เจนเฉเจฃ เจ
เจธเฉเจ เจชเฉเจฐเฉเจเฉเจเจ เจจเฉเฉฐ เจ
เจธเฉเจเจฌเจฒ เจเจฐเจจ เจฒเจ เจคเจฟเจเจฐ เจนเจพเจเฅค เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจเฉเจก เจจเฉเฉฐ เจเฉฑเจ เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ เจเจฒเฉเจจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ ~/TON/ton
. The ~/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
เจ
เฉฑเจเฉ, เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจซเจพเจเจฒ เจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจเจฐเฉ เจเจฟเจธ เจตเจฟเฉฑเจ เจจเฉเจก เจฌเจพเจฐเฉ เจกเฉเจเจพ เจธเจผเจพเจฎเจฒ เจนเฉ 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
เจเฉเจเจฐ เจฌเจฟเจฒเจก เจธเจซเจฒ เจธเฉ, เจคเจพเจ เจฒเจพเจเจ เจคเฉเจ เจฌเจพเจ เจฆ เจคเฉเจธเฉเจ เจจเฉเจก เจจเจพเจฒ เจฒเจพเจเจ เจเจฒเจพเจเฉฐเจ เจฆเฉ เจเฉเจจเฉเจเจธเจผเจจ เจฆเจพ เจเฉฑเจ เจฒเฉเจ เจตเฉเจเฉเจเฉเฅค
[ 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 parameters
last ะฟะพะปััะฐะตั ะฟะพัะปะตะดะฝะธะน ัะพะทะดะฐะฝะฝัะน ะฑะปะพะบ ั ัะตัะฒะตัะฐ.
sendfile <filename> ะพัะฟัะฐะฒะปัะตั ะฒ TON ัะฐะนะป ั ัะพะพะฑัะตะฝะธะตะผ, ะธะผะตะฝะฝะพ ั ะฟะพะผะพััั ััะพะน ะบะพะผะฐะฝะดั ะฟัะฑะปะธะบัะตััั ัะผะฐัั-ะบะพะฝััะฐะบั ะธ ะทะฐะฟััะพัั ะบ ะฝะตะผั.
getaccount <addr> ะทะฐะณััะถะฐะตั ัะตะบััะตะต ัะพััะพัะฝะธะต ัะผะฐัั-ะบะพะฝััะฐะบัะฐ ั ัะบะฐะทะฐะฝะฝัะผ ะฐะดัะตัะพะผ.
runmethod <addr> [<block-id-ext>] <method-id> <params> ะทะฐะฟััะบะฐะตั get-ะผะตัะพะดั ัะผะฐััะบะพะฝััะฐะบัะฐ.
เจนเฉเจฃ เจ เจธเฉเจ เจเฉเจฆ เจเจเจฐเจพเจฐเจจเจพเจฎเจพ เจฒเจฟเจเจฃ เจฒเจ เจคเจฟเจเจฐ เจนเจพเจเฅค
ะ ะตะฐะปะธะทะฐัะธั
เจเจเจกเฉเจ
เจเจฟเจตเฉเจ เจเจฟ เจฎเฉเจ เจเฉฑเจชเจฐ เจฒเจฟเจเจฟเจ เจนเฉ, เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจเฉ เจ เจธเฉเจ เจฒเจฟเจ เจฐเจนเฉ เจนเจพเจ เจเฉฑเจ เจฒเจพเจเจฐเฉ เจนเฉ.
เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเจน เจเฉเจ เจฒเจพเจเจฐเฉ เจจเจนเฉเจ เจนเฉ เจเจฟเจธ เจตเจฟเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจฟเจเจ เจเจฐเฉเจฆเจฃ เจ
เจคเฉ เจเจ เจเฉฐเจเจพ, เจฆเจฟเจจ เจเจพเจ เจฎเจนเฉเจจเจพ เจเฉฐเจคเจเจผเจพเจฐ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจชเจฐ เจเจ เจคเจคเจเจพเจฒ เจเจฟเจธ เจตเจฟเจ เจเจชเจญเฉเจเจคเจพ เจเจเจฐเจพเจฐเจจเจพเจฎเฉ เจฆเฉ เจชเจคเฉ 'เจคเฉ เจเฉเจฐเจพเจเจธเจซเจฐ เจเจฐเจฆเจพ เจนเฉเฅค N
เจเฉเจฐเจพเจฎ, เจ
เจคเฉ เจคเฉเจฐเฉฐเจค เจเจธเจจเฉเฉฐ เจตเจพเจชเจธ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเจพ เจนเฉ 2 * N
เจเฉเจฐเจพเจฎ เจเจพเจ เจเจพเจเจพ. เจ
เจธเฉเจ เจฒเจเจญเจ 40% เจเจฟเฉฑเจคเจฃ เจฆเฉ เจธเฉฐเจญเจพเจตเจจเจพ เจฌเจฃเจพเจตเจพเจเจเฉเฅค เจเฉเจเจฐ เจญเฉเจเจคเจพเจจ เจฒเจ เจฒเฉเฉเฉเจเจฆเฉ เจเฉเจฐเจพเจฎ เจจเจนเฉเจ เจนเจจ, เจคเจพเจ เจ
เจธเฉเจ เจเฉเจฐเจพเจเจเฉเจเจธเจผเจจ เจจเฉเฉฐ เจเฉเจช-เจ
เฉฑเจช เจธเจฎเจเจพเจเจเฉเฅค
เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเจน เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉ เจเจฟ เจธเฉฑเจเฉเจฌเจพเจเจผเฉ เจจเฉเฉฐ เจฐเฉเจ เจฒ เจเจพเจเจฎ เจตเจฟเฉฑเจ เจ เจคเฉ เจเฉฑเจ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจฐเฉเจช เจตเจฟเฉฑเจ เจฆเฉเจเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจคเจพเจ เจเฉ เจเจชเจญเฉเจเจคเจพ เจคเฉเจฐเฉฐเจค เจธเจฎเจ เจธเจเฉ เจเจฟ เจเจน เจเจฟเฉฑเจค เจเจฟเจ เจเจพเจ เจนเจพเจฐ เจเจฟเจเฅค เจเจธ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเฉฑเจ เจตเฉเจฌเจธเจพเจเจ เจฌเจฃเจพเจเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ เจเฉ TON เจคเฉเจ เจธเจฟเฉฑเจงเฉ เจธเฉฑเจเฉ เจ เจคเฉ เจจเจคเฉเจเฉ เจฆเจฟเจเจพเจเจเฉเฅค
เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเจเจฐเจพเจฐเจจเจพเจฎเจพ เจฒเจฟเจเจฃเจพ
เจธเจนเฉเจฒเจค เจฒเจ, เจฎเฉเจ FunC เจฒเจ เจเฉเจก เจจเฉเฉฐ เจเจเจพเจเจฐ เจเฉเจคเจพ เจนเฉ; เจชเจฒเฉฑเจเจเจจ เจจเฉเฉฐ เจตเจฟเจเจผเฉเจ เจฒ เจธเจเฉเจกเฉเจ เจเฉเจก เจเฉเจ เจตเจฟเฉฑเจ เจฒเฉฑเจญเจฟเจ เจ เจคเฉ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ; เจเฉเจเจฐ เจคเฉเจธเฉเจ เจ เจเจพเจจเจ เจเฉเจ เจเฉเฉเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ, เจคเจพเจ เจฎเฉเจ เจชเจฒเฉฑเจเจเจจ เจจเฉเฉฐ เจเจจเจคเจ เจคเฉเจฐ 'เจคเฉ เจเจชเจฒเจฌเจง เจเจฐ เจฆเจฟเฉฑเจคเจพ เจนเฉเฅค เจจเจพเจฒ เจนเฉ, เจเจฟเจธเฉ เจจเฉ เจชเจนเจฟเจฒเจพเจ เจซเจฟเจซเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจชเจฒเฉฑเจเจเจจ เจฌเจฃเจพเจเจ เจธเฉ, เจคเฉเจธเฉเจ เจเจธเจจเฉเฉฐ เจตเฉ เจธเจฅเจพเจชเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ VSC เจตเจฟเฉฑเจ เจฒเฉฑเจญ เจธเจเจฆเฉ เจนเฉเฅค
เจเจฒเฉ เจคเฉเจฐเฉฐเจค เจเฉฑเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจฌเจฃเจพเจเจ เจเจฟเฉฑเจฅเฉ เจ เจธเฉเจ เจตเจฟเจเจเจพเจฐเจฒเฉ เจจเจคเฉเจเฉ เจฆเฉเจตเจพเจเจเฉเฅค
เจเจชเจฃเฉ เจเจผเจฟเฉฐเจฆเจเฉ เจจเฉเฉฐ เจเจธเจพเจจ เจฌเจฃเจพเจเจฃ เจฒเจ, เจ เจธเฉเจ เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเจเจฐเจพเจฐเจจเจพเจฎเฉ เจจเฉเฉฐ เจฒเจฟเจเจพเจเจเฉ เจ เจคเฉ เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจเจธเจฆเฉ เจเจพเจเจ เจเจฐเจพเจเจเฉ เจเจฆเฉเจ เจคเฉฑเจ เจเจน เจคเจฟเจเจฐ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพเฅค เจเจธ เจคเฉเจ เจฌเจพเจ เจฆ เจนเฉ เจ เจธเฉเจ เจเจธเจจเฉเฉฐ TON เจตเจฟเฉฑเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจพเจเจเฉเฅค
เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจตเจฟเฉฑเจ เจฆเฉ เจฌเจพเจนเจฐเฉ เจคเจฐเฉเจเฉ เจนเจจ เจเจฟเจจเฉเจนเจพเจ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจเฉเจคเฉ เจเจพ เจธเจเจฆเฉ เจนเฉเฅค เจชเจนเจฟเจฒเจพเจ, recv_external()
เจเจน เจซเฉฐเจเจธเจผเจจ เจเจฆเฉเจ เจเจฒเจพเจเจ เจเจพเจเจฆเจพ เจนเฉ เจเจฆเฉเจ เจเจเจฐเจพเจฐเจจเจพเจฎเฉ เจฒเจ เจฌเฉเจจเจคเฉ เจฌเจพเจนเจฐเฉ เจฆเฉเจจเฉเจ เจคเฉเจ เจเจเจเจฆเฉ เจนเฉ, เจฏเจพเจจเฉ TON เจคเฉเจ เจจเจนเฉเจ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจฆเฉเจ เจ
เจธเฉเจ เจเฉเจฆ เจเฉฑเจ เจธเฉเจจเฉเจนเจพ เจคเจฟเจเจฐ เจเจฐเจฆเฉ เจนเจพเจ เจ
เจคเฉ เจเจธเจจเฉเฉฐ เจฒเจพเจเจ-เจเจฒเจพเจเฉฐเจ เจฆเฉเจเจฐเจพ เจญเฉเจเจฆเฉ เจนเจพเจเฅค เจฆเฉเจเจพ, recv_internal()
เจเจน เจเจฆเฉเจ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเจฆเฉเจ, TON เจฆเฉ เจ
เฉฐเจฆเจฐ เจนเฉ, เจเฉเจ เจตเฉ เจเจเจฐเจพเจฐเจจเจพเจฎเจพ เจธเจพเจกเจพ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจฆเฉเจตเจพเจ เจฎเจพเจฎเจฒเจฟเจเจ เจตเจฟเฉฑเจ, เจคเฉเจธเฉเจ เจซเฉฐเจเจธเจผเจจ เจตเจฟเฉฑเจ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจชเจพเจธ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
เจเจ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจเจฆเจพเจนเจฐเจฃ เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจเจฐเฉเจ เจเฉ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจนเฉเจฃ 'เจคเฉ เจเฉฐเจฎ เจเจฐเฉเจเฉ, เจชเจฐ เจเจธ เจตเจฟเฉฑเจ เจเฉเจ เจเจพเจฐเจเจธเจผเฉเจฒ เจฒเฉเจก เจจเจนเฉเจ เจนเฉเฅค
() recv_internal(slice in_msg) impure {
;; TODO: implementation
}
() recv_external(slice in_msg) impure {
;; TODO: implementation
}
เจเฉฑเจฅเฉ เจธเจพเจจเฉเฉฐ เจเจน เจฆเฉฑเจธเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ เจเจฟ เจเจน เจเฉ เจนเฉ slice
. TON เจฌเจฒเจพเจเจเฉเจจ เจตเจฟเฉฑเจ เจธเจเฉเจฐ เจเฉเจคเจพ เจธเจพเจฐเจพ เจกเจพเจเจพ เจเฉฑเจ เจธเฉฐเจเฉเจฐเจนเจฟ เจนเฉ TVM cell
เจ เจฌเจธ cell
, เจ
เจเจฟเจนเฉ เจธเฉเฉฑเจฒ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ 1023 เจฌเจฟเฉฑเจ เจกเฉเจเจพ เจ
เจคเฉ เจนเฉเจฐ เจธเฉเฉฑเจฒเจพเจ เจฆเฉ 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
เจ
เจธเฉเจ เจตเจฟเฉฑเจ เจซเจฟเจซเจ เจ
เจธเฉเจเจฌเจฒเจฐ เจเฉเจก เจเฉฐเจชเจพเจเจฒ เจเฉเจคเจพ เจนเฉ 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
, เจเจน เจซเจฟเจซเจ เจ
เจธเฉเจเจฌเจฒเจฐ เจฒเจ เจซเจฟเจซเจ เจตเจฟเฉฑเจ เจฒเจฟเจเจฟเจ เจเฉเจก เจนเฉเฅค
เจเจฟเจเจเจเจฟ เจ
เจธเฉเจ เจธเจฅเจพเจจเจ เจคเฉเจฐ 'เจคเฉ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃเจพ เจ
เจคเฉ เจเฉเจธเจ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ, เจ
เจธเฉเจ เจเฉฑเจ เจซเจพเจเจฒ เจฌเจฃเจพเจตเจพเจเจเฉ lottery-test-suite.fif
เจ
เจคเฉ เจเจฅเฉ เจเฉฐเจชเจพเจเจฒ เจเฉเจคเฉ เจเฉเจก เจฆเฉ เจจเจเจฒ เจเจฐเฉ, เจเจธ เจตเจฟเฉฑเจ เจเจเจฐเฉ เจฒเจพเจเจจ เจจเฉเฉฐ เจฌเจฆเจฒเฉ, เจเฉ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจเฉเจก เจจเฉเฉฐ เจเฉฑเจ เจธเจฅเจฟเจฐ เจตเจฟเฉฑเจ เจฒเจฟเจเจฆเจพ เจนเฉ code
เจซเจฟเจฐ เจเจธเจจเฉเฉฐ เจตเจฐเจเฉเจ
เจฒ เจฎเจธเจผเฉเจจ เจตเจฟเฉฑเจ เจเฉเจฐเจพเจเจธเจซเจฐ เจเจฐเจจ เจฒเจ:
"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
0 เจ
เจคเฉ -1 เจฎเฉเฉฑเจฒเจพเจ เจตเจพเจฒเฉ เจธเจฅเจฟเจฐเจพเจเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจตเจฟเฉฑเจ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจซเฉฐเจเจธเจผเจจเจพเจ เจจเฉเฉฐ เจเจพเจฒ เจเจฐเจจ เจฒเจ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ เจนเฉเจฃเจเฉเฅค
เจนเฉเจฃ เจ
เจธเฉเจ เจเจชเจฃเฉ เจเจพเจฒเฉ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฒเจ เจชเจนเจฟเจฒเจพ เจเฉเจธเจ เจฌเจฃเจพเจเจฃ เจฒเจ เจคเจฟเจเจฐ เจนเจพเจเฅค เจธเจชเจธเจผเจเจคเจพ เจฒเจ, เจนเฉเจฃ เจฒเจ เจ
เจธเฉเจ เจธเจพเจฐเฉ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจเจธเฉ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉเฉเจพเจเจเฉ lottery-test-suite.fif
.
เจเจฒเฉ เจเฉฑเจ เจตเฉเจฐเฉเจเจฌเจฒ เจฌเจฃเจพเจ storage
เจ
เจคเฉ เจเจธ เจตเจฟเฉฑเจ เจเฉฑเจ เจเจพเจฒเฉ เจฒเจฟเจเฉ cell
, เจเจน เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจธเจเฉเจฐเฉเจ เจนเฉเจตเฉเจเฉเฅค
message
เจเจน เจเจน เจธเฉฐเจฆเฉเจธเจผ เจนเฉ เจเฉ เจ
เจธเฉเจ เจฌเจพเจนเจฐเฉเจ เจธเจฎเจพเจฐเจ เจธเฉฐเจชเจฐเจ เจจเฉเฉฐ เจธเฉฐเจเจพเจฐเจฟเจค เจเจฐเจพเจเจเฉเฅค เจ
เจธเฉเจ เจเจธเจจเฉเฉฐ เจนเฉเจฃ เจฒเจ เจเจพเจฒเฉ เจตเฉ เจเจฐ เจฆเฉเจตเจพเจเจเฉเฅค
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 เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจนเจพเจเฅค เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฒเจ เจนเจฐเฉเจ เจธเฉฐเจฆเฉเจธเจผ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจฎเฉเจเฉเจฆเจพ เจเจพเจเจเจเจฐ เจฎเฉเฉฑเจฒ เจจเฉเฉฐ เจเฉเฉเจพเจเจเฉเฅค เจเฉเจเจฐ เจธเฉเจจเฉเจนเฉ เจตเจฟเฉฑเจ เจเจพเจเจเจเจฐ เจฎเฉเฉฑเจฒ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฆเฉ เจฎเฉเฉฑเจฒ เจจเจพเจฒ เจฎเฉเจฒ เจจเจนเฉเจ เจเจพเจเจฆเจพ, เจคเจพเจ เจ เจธเฉเจ เจเจธ 'เจคเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเจนเฉเจ เจเจฐเจฆเฉ; เจเฉเจเจฐ เจ เจเจฟเจนเจพ เจนเฉเฉฐเจฆเจพ เจนเฉ, เจคเจพเจ เจ เจธเฉเจ เจเจธ 'เจคเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเจฆเฉ เจนเจพเจ เจ เจคเฉ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจตเจฟเฉฑเจ เจเจพเจเจเจเจฐ เจจเฉเฉฐ 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-เจฌเจฟเฉฑเจ เจฒเฉเจก เจเจฐเจฆเจพ เจนเฉ unsigned int
เจชเฉเจฐเจธเจพเจฐเจฟเจค เจธเฉฐเจฆเฉเจธเจผ เจคเฉเจ.
เจ เฉฑเจเฉ เจ เจธเฉเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจธเจเฉเจฐเฉเจ เจคเฉเจ 32 เจฌเจฟเฉฑเจ เจฒเฉเจก เจเจฐเจฆเฉ เจนเจพเจเฅค เจ เจธเฉเจ เจเจพเจเจ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟ เจฒเฉเจก เจเฉเจคเจพ เจจเฉฐเจฌเจฐ เจชเจพเจธ เจเฉเจคเฉ เจจเฉฐเจฌเจฐ เจจเจพเจฒ เจฎเฉเจฒ เจเจพเจเจฆเจพ เจนเฉ; เจเฉเจเจฐ เจจเจนเฉเจ, เจคเจพเจ เจ เจธเฉเจ เจเฉฑเจ เจ เจชเจตเจพเจฆ เจฆเจฟเฉฐเจฆเฉ เจนเจพเจเฅค เจธเจพเจกเฉ เจเฉเจธ เจตเจฟเฉฑเจ, เจเจฟเจเจเจเจฟ เจ เจธเฉเจ เจเฉฑเจ เจเฉเจฐ-เจฎเฉเจ เจชเจพเจธ เจเจฐ เจฐเจนเฉ เจนเจพเจ, เจเฉฑเจ เจ เจชเจตเจพเจฆ เจฆเจฟเฉฑเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค
เจนเฉเจฃ เจเฉฐเจชเจพเจเจฒ เจเจฐเฉเจเฅค
~/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
เจจเฉเจ เจเจฐเฉ เจเจฟ เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฆเฉ เจเฉฐเจชเจพเจเจฒ เจเฉเจคเฉ เจเฉเจก เจจเฉเฉฐ เจเฉเจธเจเจพเจ เจตเจพเจฒเฉ เจเฉฑเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจฒเจเจพเจคเจพเจฐ เจเจพเจชเฉ เจเจฐเจจเจพ เจ
เจธเฉเจตเจฟเจงเจพเจเจจเจ เจนเฉ, เจเจธ เจฒเจ เจเจ เจเฉฑเจ เจธเจเฉเจฐเจฟเจชเจ เจฒเจฟเจเฉเจ เจเฉ เจเฉเจก เจจเฉเฉฐ เจธเจพเจกเฉ เจฒเจ เจเฉฑเจ เจธเจฅเจฟเจฐ เจตเจฟเฉฑเจ เจฒเจฟเจ เจฆเฉเจตเฉเจเฉ, เจ
เจคเฉ เจ
เจธเฉเจ เจเฉฐเจชเจพเจเจฒ เจเฉเจคเฉ เจเฉเจก เจจเฉเฉฐ เจธเจพเจกเฉ เจเฉเจธเจเจพเจ เจจเจพเจฒ เจเฉเฉเจพเจเจเฉ "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
เจนเฉเจฃ, เจธเจฟเจฐเจซเจผ เจเจเจฐเจพเจฐเจจเจพเจฎเฉ เจจเฉเฉฐ เจเฉฐเจชเจพเจเจฒ เจเจฐเจจ เจฒเจ เจธเจพเจกเฉ เจธเจเฉเจฐเจฟเจชเจ เจเจฒเจพเจเฅค เจชเจฐ เจเจธเจฆเฉ เจเจฒเจพเจตเจพ, เจธเจพเจจเฉเฉฐ เจเจธเจจเฉเฉฐ เจเฉฑเจ เจธเจฅเจฟเจฐ เจตเจฟเฉฑเจ เจฒเจฟเจเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ code
. เจเจธ เจฒเจ เจ
เจธเฉเจ เจเฉฑเจ เจจเจตเฉเจ เจซเจพเจเจฒ เจฌเจฃเจพเจตเจพเจเจเฉ lotter-compiled-for-test.fif
, เจเจฟเจธ เจจเฉเฉฐ เจ
เจธเฉเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ เจเจฐเจพเจเจเฉ lottery-test-suite.fif
.
เจเจฒเฉ เจธเจเจฐเจฟเจชเจ เจเฉเจก เจจเฉเฉฐ sh เจตเจฟเฉฑเจ เจเฉเฉเจฆเฉ เจนเจพเจ, เจเฉ เจเจฟ เจเฉฐเจชเจพเจเจฒ เจเฉเจคเฉ เจซเจพเจเจฒ เจจเฉเฉฐ เจเจธเจพเจจเฉ เจจเจพเจฒ เจกเฉเจชเจฒเฉเจเฉเจ เจเจฐเฉเจเจพ 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
เจเจฟเฉฑเจฅเฉ เจ
เจธเฉเจ เจเจพเจชเฉ เจเฉเจคเฉ เจเจเจฐเจพเจฐเจจเจพเจฎเฉ เจ
เจคเฉ เจเจธเจฆเฉ เจเจฒเฉเจจ เจจเฉเฉฐ เจเฉฑเจ เจธเจฅเจฟเจฐ เจตเจฟเฉฑเจ เจฒเจฟเจเจฟเจ เจนเฉเจเจ เจธเจเฉเจฐ เจเจฐเจพเจเจเฉ 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
. เจ
เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจเจ เจเฉฐเจเจฐเจเจเจเจฟเจต เจฎเฉเจก เจตเจฟเฉฑเจ เจซเจฟเจซเจ เจจเฉเฉฐ เจฒเจพเจเจ เจเจฐเฉเจ เจ
เจคเฉ เจเจพเจฐ เจเจฎเจพเจเจกเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเฉเจเฅค
`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
.
เจ เจธเฉเจ เจธเจเฉเจ เจคเฉเจ เจเจจเจคเจ เจเฉเฉฐเจเฉ เจจเฉเฉฐ เจนเจเจพเจเจเจฆเฉ เจนเจพเจ เจ เจคเฉ เจฒเฉเฉ เจชเฉเจฃ 'เจคเฉ เจ เจธเฉเจ เจเจธเจจเฉเฉฐ เจชเฉเจฐเจพเจเจตเฉเจ เจคเฉเจ เจชเฉเจฐเจพเจชเจค เจเจฐ เจธเจเจฆเฉ เจนเจพเจเฅค
เจนเฉเจฃ เจธเจพเจจเฉเฉฐ เจฆเจธเจคเจเจค เจคเจธเจฆเฉเจ เจฒเจฟเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจเจ เจเฉเจธเจ เจฆเฉ เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจเจฐเฉเจ. เจชเจนเจฟเจฒเจพเจ เจ
เจธเฉเจ เจซเฉฐเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจซเจพเจเจฒ เจคเฉเจ เจชเฉเจฐเจพเจเจตเฉเจ เจเฉ เจชเฉเฉเจนเจฆเฉ เจนเจพเจ 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 !
เจธเจพเจจเฉเฉฐ เจฆเฉเจจเจพเจ เจเฉเฉฐเจเฉเจเจ เจฆเฉ เจฒเฉเฉ เจชเจตเฉเจเฉเฅค
เจ
เจธเฉเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจธเจเฉเจฐเฉเจ เจจเฉเฉฐ เจเจฐเจฌเจฟเจเจฐเจฐเฉ เจกเฉเจเจพ เจฆเฉ เจจเจพเจฒ เจเจธเฉ เจเฉเจฐเจฎ เจตเจฟเฉฑเจ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟเจตเฉเจ เจเจฟ เจซเฉฐเจเจธเจผเจจ เจตเจฟเฉฑเจ เจนเฉ 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 !
เจ เฉฑเจเฉ, เจ เจธเฉเจ เจเฉฑเจ เจฆเจธเจคเจเจค เจเฉเจคเฉ เจธเฉฐเจฆเฉเจธเจผ เจจเฉเฉฐ เจฒเจฟเจเจพเจเจเฉ, เจเจธ เจตเจฟเฉฑเจ เจธเจฟเจฐเจซเจผ เจฆเจธเจคเจเจค เจ เจคเฉ เจเจพเจเจเจเจฐ เจฎเฉเฉฑเจฒ เจธเจผเจพเจฎเจฒ เจนเฉเจตเฉเจเจพเฅค
เจชเจนเจฟเจฒเจพเจ, เจ เจธเฉเจ เจเจน เจกเฉเจเจพ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจ เจเฉ เจ เจธเฉเจ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ, เจซเจฟเจฐ เจ เจธเฉเจ เจเจธเจจเฉเฉฐ เจเฉฑเจ เจชเฉเจฐเจพเจเจตเฉเจ เจเฉเฉฐเจเฉ เจจเจพเจฒ เจฆเจธเจคเจเจค เจเจฐเจฆเฉ เจนเจพเจ เจ เจคเฉ เจ เฉฐเจค เจตเจฟเฉฑเจ เจ เจธเฉเจ เจเฉฑเจ เจฆเจธเจคเจเจค เจธเฉเจจเฉเจนเจพ เจคเจฟเจเจฐ เจเจฐเจฆเฉ เจนเจพเจเฅค
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 เจฌเจฟเฉฑเจ เจเจฟเจฃเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจเฉฑเจ เจตเฉเจฐเฉเจเจฌเจฒ เจตเจฟเฉฑเจ เจฒเจฟเจเจฆเฉ เจนเจพเจ, เจซเจฟเจฐ เจ เจธเฉเจ เจเจพเจเจเจเจฐ เจตเฉเจฐเฉเจเจฌเจฒ เจฆเฉ 32 เจฌเจฟเฉฑเจ เจเจฟเจฃเจฆเฉ เจนเจพเจเฅค
เจเจฟเจเจเจเจฟ เจธเจพเจกเฉ เจเฉเจฒ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจธเจเฉเจฐเฉเจ เจคเฉเจ เจกเจพเจเจพ เจชเฉเฉเจนเจจ เจฒเจ เจเฉฑเจ เจซเฉฐเจเจธเจผเจจ เจนเฉ, เจ เจธเฉเจ เจเจธเจจเฉเฉฐ เจตเจฐเจคเจพเจเจเฉเฅค
เจ เฉฑเจเฉ เจธเจเฉเจฐเฉเจ เจฆเฉ เจจเจพเจฒ เจเฉเจฐเจพเจเจธเจซเจฐ เจเฉเจคเฉ เจเจพเจเจเจเจฐ เจฆเฉ เจเจพเจเจ เจเจฐ เจฐเจฟเจนเจพ เจนเฉ เจ เจคเฉ เจฆเจธเจคเจเจค เจฆเฉ เจเจพเจเจ เจเจฐ เจฐเจฟเจนเจพ เจนเฉเฅค เจเฉเจเจฐ เจเฉเจ เจฎเฉเจฒ เจจเจนเฉเจ เจเจพเจเจฆเจพ, เจคเจพเจ เจ เจธเฉเจ เจเจเจฟเจค เจเฉเจก เจจเจพเจฒ เจเฉฑเจ เจ เจชเจตเจพเจฆ เจธเฉเฉฑเจ เจฆเจฟเฉฐเจฆเฉ เจนเจพเจเฅค
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));
เจธเฉฐเจฌเฉฐเจงเจฟเจค เจตเจเจจเจฌเฉฑเจงเจคเจพ
เจเจ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจเจฆเฉ เจนเจพเจ เจ เจคเฉ เจฆเฉเจเจฆเฉ เจนเจพเจ เจเจฟ เจฆเฉเจเจพ เจเฉเจธเจ เจซเฉเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจฆเฉ เจเจพเจฐเจจเจพเจ เจเจฐเจเฉ, เจธเฉเจจเฉเจนเฉ เจตเจฟเฉฑเจ เจฒเฉเฉเฉเจเจฆเฉ เจฌเจฟเฉฑเจ เจจเจนเฉเจ เจนเจจ เจ เจคเฉ เจธเจเฉเจฐเฉเจ เจตเจฟเฉฑเจ เจฒเฉเฉเฉเจเจฆเฉ เจฌเจฟเฉฑเจ เจจเจนเฉเจ เจนเจจ, เจเจธเจฒเจ เจเฉเจก เจชเจพเจฐเจธ เจเจฐเจจ เจตเฉเจฒเฉ เจเฉเจฐเฉเจธเจผ เจนเฉ เจเจพเจเจฆเจพ เจนเฉเฅค เจธเจพเจจเฉเฉฐ เจเจธ เจธเฉเจจเฉเจนเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจฆเจธเจคเจเจค เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ เจเฉ เจ เจธเฉเจ เจญเฉเจ เจฐเจนเฉ เจนเจพเจ เจ เจคเฉ เจเจเจฐเฉ เจเฉเจธเจ เจคเฉเจ เจธเจเฉเจฐเฉเจ เจจเฉเฉฐ เจเจพเจชเฉ เจเจฐเจจเจพ เจนเฉเฅค
เจฆเฉเจเฉ เจเฉเจธเจ เจตเจฟเฉฑเจ, เจ
เจธเฉเจ เจเฉฑเจ เจธเฉเจจเฉเจนเจพ เจฆเจธเจคเจเจค เจเฉเฉเจพเจเจเฉ เจ
เจคเฉ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจธเจเฉเจฐเฉเจ เจจเฉเฉฐ เจฌเจฆเจฒเจพเจเจเฉเฅค
เจเจ เจเฉฑเจ เจเฉเจฅเจพ เจเฉเจธเจ เจฒเจฟเจเจฆเฉ เจนเจพเจ, เจเจฟเจธ เจตเจฟเฉฑเจ เจ
เจธเฉเจ เจเจฟเจธเฉ เจนเฉเจฐ เจฆเฉ เจชเฉเจฐเจพเจเจตเฉเจ เจเฉเฉฐเจเฉ เจจเจพเจฒ เจฆเจธเจคเจเจค เจเฉเจคเฉ เจเฉฑเจ เจธเฉฐเจฆเฉเจธเจผ เจญเฉเจเจพเจเจเฉเฅค เจเจฒเฉ เจเฉฑเจ เจนเฉเจฐ เจชเฉเจฐเจพเจเจตเฉเจ เจเฉเฉฐเจเฉ เจฌเจฃเจพเจ เจ
เจคเฉ เจเจธเจจเฉเฉฐ เจเฉฑเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจธเฉเจต เจเจฐเฉเจ not-owner.pk
. เจ
เจธเฉเจ เจเจธ เจจเจฟเฉฑเจเฉ เจเฉเฉฐเจเฉ เจจเจพเจฒ เจธเฉฐเจฆเฉเจธเจผ 'เจคเฉ เจฆเจธเจคเจเจค เจเจฐเจพเจเจเฉเฅค เจเจ เจเฉเจธเจเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจเจฆเฉ เจนเจพเจ เจ
เจคเฉ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจ เจเจฟ เจธเจพเจฐเฉ เจเฉเจธเจ เจชเจพเจธ เจนเฉเฉฐเจฆเฉ เจนเจจเฅค
เจนเฉเจฃ เจ
เจธเฉเจ เจ
เฉฐเจค เจตเจฟเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจคเจฐเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจฒเจ เจ
เฉฑเจเฉ เจตเจง เจธเจเจฆเฉ เจนเจพเจเฅค
ะ recv_external()
เจ
เจธเฉเจ เจฆเฉ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจธเฉเจจเฉเจนเฉ เจธเจตเฉเจเจพเจฐ เจเจฐเจพเจเจเฉเฅค
เจเจฟเจเจเจเจฟ เจธเจพเจกเจพ เจเจเจฐเจพเจฐเจจเจพเจฎเจพ เจเจฟเจกเจพเจฐเฉเจเจ เจฆเฉ เจจเฉเจเจธเจพเจจ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเฉเจเจพ, เจเจธ เจฒเจ เจเจน เจชเฉเจธเจพ เจฒเจพเจเจฐเฉ เจฆเฉ เจจเจฟเจฐเจฎเจพเจคเจพ เจจเฉเฉฐ เจเฉเจฐเจพเจเจธเจซเจฐ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจเจฆเฉเจ เจเจเจฐเจพเจฐเจจเจพเจฎเจพ เจฌเจฃเจพเจเจ เจเจพเจเจฆเจพ เจนเฉ เจคเจพเจ เจฒเจพเจเจฐเฉ เจฌเจฃเจพเจเจฃ เจตเจพเจฒเฉ เจฆเจพ เจตเจพเจฒเจฟเจ เจชเจคเจพ เจธเจเฉเจฐเฉเจ เจตเจฟเฉฑเจ เจฆเจฐเจ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค
เจฌเฉฑเจธ, เจธเจพเจจเฉเฉฐ เจเจธ เจชเจคเฉ เจจเฉเฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ เจฏเฉเจเจคเจพ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ เจเจฟเจธ 'เจคเฉ เจ เจธเฉเจ เจนเจพเจฐเจจ เจตเจพเจฒเจฟเจเจ เจฆเฉ เจเฉเจฐเจพเจฎ เจญเฉเจเจฆเฉ เจนเจพเจเฅค เจธเจพเจจเฉเฉฐ เจฒเจพเจเจฐเฉ เจคเฉเจ เจฎเจพเจฒเจ เจฆเฉ เจชเจคเฉ 'เจคเฉ เจเฉเจฐเจพเจฎ เจญเฉเจเจฃ เจฆเฉ เจฏเฉเจ เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค
เจเจ เจชเจนเจฟเจฒเฉ เจเฉฑเจ เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจเจฐเฉเจ. เจเจ เจชเจนเจฟเจฒเจพเจ เจเฉฑเจ เจเฉเจธเจ เจฒเจฟเจเจฆเฉ เจนเจพเจ เจเฉ เจเจน เจเจพเจเจ เจเจฐเฉเจเจพ เจเจฟ เจธเฉเจจเฉเจนเจพ เจญเฉเจเจฃ เจคเฉเจ เจฌเจพเจ
เจฆ, เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจจเฉ เจธเจเฉเจฐเฉเจ เจตเจฟเฉฑเจ เจจเจตเจพเจ เจชเจคเจพ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจเฉเจคเจพ เจนเฉ. เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจจเฉเจ เจเจฐเฉ เจเจฟ เจธเฉฐเจฆเฉเจธเจผ เจตเจฟเฉฑเจ, เจเจพเจเจเจเจฐ เจ
เจคเฉ เจจเจตเฉเจ เจชเจคเฉ เจคเฉเจ เจเจฒเจพเจตเจพ, เจ
เจธเฉเจ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจตเฉ เจเจฐเจฆเฉ เจนเจพเจ action
เจเฉฑเจ 7-เจฌเจฟเฉฑเจ เจชเฉเจฐเจจ เจ
เฉฐเจ เจเฉเจฐ-เจจเฉเจเฉเจเจฟเจต เจจเฉฐเจฌเจฐ, เจเจธ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเฉ เจนเฉเจ, เจ
เจธเฉเจ เจเฉเจฃเจพเจเจเฉ เจเจฟ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจตเจฟเฉฑเจ เจธเฉฐเจฆเฉเจธเจผ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเจจเจพ เจนเฉเฅค
<b 0 32 u, 1 @ 7 u, new_owner_wc @ 32 i, new_owner_account_id @ 256 u, b> message_to_sign !
เจเฉเจธเจ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ เจเจฟ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจธเจเฉเจฐเฉเจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจกเฉเจธเฉเจฐเฉเจ
เจฒเจพเจเจเจผ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ storage
เจชเฉฐเจ เจตเจฟเฉฑเจ. เจตเฉเจฐเฉเจเจฌเจฒเจพเจ เจฆเฉ เจกเฉเจธเฉเจฐเฉเจ
เจฒเจพเจเจเจผเฉเจธเจผเจจ เจฆเจพ เจตเจฐเจฃเจจ เจซเจฟเจซเจ เจฆเจธเจคเจพเจตเฉเจเจผ เจตเจฟเฉฑเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
เจเจฒเฉ เจเฉเจธเจ เจเจฒเจพเจเจเจฆเฉ เจนเจพเจ เจ เจคเฉ เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจ เจเจฟ เจเจน เจ เจธเจซเจฒ เจฐเจฟเจนเจพ เจนเฉเฅค เจนเฉเจฃ เจฒเจพเจเจฐเฉ เจฎเจพเจฒเจ เจฆเจพ เจชเจคเจพ เจฌเจฆเจฒเจฃ เจฒเจ เจคเจฐเจ เจเฉเฉเจฆเฉ เจนเจพเจเฅค
เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจตเจฟเฉฑเจ เจ
เจธเฉเจ เจชเจพเจฐเจธ เจเจฐเจจเจพ เจเจพเจฐเฉ เจฐเฉฑเจเจฆเฉ เจนเจพเจ message
, เจตเจฟเฉฑเจ เจชเฉเฉเจนเฉ action
. เจเจ เจคเฉเจนเจพเจจเฉเฉฐ เจฏเจพเจฆ เจฆเจฟเจตเจพ เจฆเฉเจเจ เจเจฟ เจธเจพเจกเฉ เจเฉเจฒ เจฆเฉ เจนเฉเจฃเจเฉ action
: เจชเจคเจพ เจฌเจฆเจฒเฉ เจ
เจคเฉ เจเฉเจฐเจพเจฎ เจญเฉเจเฉเฅค
เจซเจฟเจฐ เจ
เจธเฉเจ เจเจเจฐเจพเจฐเจจเจพเจฎเฉ เจฆเฉ เจฎเจพเจฒเจ เจฆเจพ เจจเจตเจพเจ เจชเจคเจพ เจชเฉเฉเจนเจฆเฉ เจนเจพเจ เจ
เจคเฉ เจเจธเจจเฉเฉฐ เจธเจเฉเจฐเฉเจ เจตเจฟเฉฑเจ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจเจฐเจฆเฉ เจนเจพเจเฅค
เจ
เจธเฉเจ เจเฉเจธเจ เจเจฒเจพเจเจเจฆเฉ เจนเจพเจ เจ
เจคเฉ เจฆเฉเจเจฆเฉ เจนเจพเจ เจเจฟ เจคเฉเจเจพ เจเฉเจธเจ เจซเฉเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจเจน เจเจธ เจคเฉฑเจฅ เจฆเฉ เจเจพเจฐเจจ เจเจฐเฉเจธเจผ เจนเฉ เจเจฟเจ เจนเฉ เจเจฟ เจเจเจฐเจพเจฐเจจเจพเจฎเจพ เจนเฉเจฃ เจธเฉเจจเฉเจนเฉ เจคเฉเจ 7 เจฌเจฟเฉฑเจเจพเจ เจจเฉเฉฐ เจชเจพเจฐเจธ เจเจฐเจฆเจพ เจนเฉ, เจเฉ เจเฉเจธเจ เจตเจฟเฉฑเจ เจเจพเจเจฌ เจนเจจเฅค เจธเฉเจจเฉเจนเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉเจฐ-เจฎเฉเจเฉเจฆ เจจเฉเฉฐ เจธเจผเจพเจฎเจฒ เจเจฐเฉ 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-เจฌเจฟเฉฑเจ เจชเฉเจฐเจจ เจ เฉฐเจ เจเฉ เจตเจฐเจเจเฉเจจ เจฒเจ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉ เจ เจคเฉ เจเจธ เจตเจฐเจเจเฉเจจ เจตเจฟเฉฑเจ เจเฉฑเจ 256-เจฌเจฟเฉฑเจ เจเฉเจฐ-เจจเฉเจเฉเจเจฟเจต เจชเฉเจฐเจจ เจ เฉฐเจ เจตเจฟเจฒเฉฑเจเจฃ เจเจพเจคเจพ เจจเฉฐเจฌเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, -1 เจ เจคเฉ 12345, เจเจน เจเจน เจชเจคเจพ เจนเฉ เจเฉ เจ เจธเฉเจ เจเฉฑเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจธเฉเจต เจเจฐเจพเจเจเฉเฅค
เจฎเฉเจ เจเจกเจฐเฉเฉฑเจธ เจจเฉเฉฐ เจธเฉเจต เจเจฐเจจ เจฒเจ เจซเฉฐเจเจธเจผเจจ เจจเฉเฉฐ เจเจพเจชเฉ เจเฉเจคเจพ เจนเฉ TonUtil.fif
// ( 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
เจเจ เจฆเฉเจเฉเจ เจเจฟ เจซเฉฐเจเจธเจผเจจ เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ, เจเจน เจธเจฎเจ เจฆเฉเจตเฉเจเจพ เจเจฟ เจซเจฟเจซเจ เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉเฅค เจเฉฐเจเจฐเจเจเจเจฟเจต เจฎเฉเจก เจตเจฟเฉฑเจ เจซเจฟเจซเจ เจฒเจพเจเจ เจเจฐเฉเฅค
~/TON/build/crypto/fift -i
เจชเจนเจฟเจฒเจพเจ เจ เจธเฉเจ เจธเจเฉเจ เจเฉฑเจคเฉ -1, 12345 เจ เจคเฉ เจญเจตเจฟเฉฑเจเฉ เจซเจพเจเจฒ "sender.addr" เจฆเจพ เจจเจพเจฎ เจฆเจฌเจพเจเจเจฆเฉ เจนเจพเจ:
-1 12345 "sender.addr"
เจ
เจเจฒเจพ เจเจฆเจฎ เจซเฉฐเจเจธเจผเจจ เจจเฉเฉฐ เจเจฒเจพเจเจฃเจพ เจนเฉ -rot
, เจเฉ เจธเจเฉเจ เจจเฉเฉฐ เจเจธ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจฌเจฆเจฒเจฆเจพ เจนเฉ เจเจฟ เจธเจเฉเจ เจฆเฉ เจธเจฟเจเจฐ 'เจคเฉ เจเฉฑเจ เจตเจฟเจฒเฉฑเจเจฃ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจจเฉฐเจฌเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉ:
"sender.addr" -1 12345
256 u>B
เจเฉฑเจ 256-เจฌเจฟเฉฑเจ เจเฉเจฐ-เจจเฉเจเฉเจเจฟเจต เจชเฉเจฐเจจ เจ
เฉฐเจ เจจเฉเฉฐ เจฌเจพเจเจเจพเจ เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฆเจพ เจนเฉเฅค
"sender.addr" -1 BYTES:0000000000000000000000000000000000000000000000000000000000003039
swap
เจธเจเฉเจ เจฆเฉ เจธเจฟเจเจฐเจฒเฉ เจฆเฉ เจคเฉฑเจคเจพเจ เจจเฉเฉฐ เจธเจตเฉเจช เจเจฐเจฆเจพ เจนเฉเฅค
"sender.addr" BYTES:0000000000000000000000000000000000000000000000000000000000003039 -1
32 i>B
เจเฉฑเจ 32-เจฌเจฟเฉฑเจ เจชเฉเจฐเจจ เจ
เฉฐเจ เจจเฉเฉฐ เจฌเจพเจเจเจพเจ เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฆเจพ เจนเฉเฅค
"sender.addr" BYTES:0000000000000000000000000000000000000000000000000000000000003039 BYTES:FFFFFFFF
B+
เจฌเจพเจเจเจธ เจฆเฉ เจฆเฉ เจเฉเจฐเจฎ เจเฉเฉเจฆเจพ เจนเฉเฅค
"sender.addr" BYTES:0000000000000000000000000000000000000000000000000000000000003039FFFFFFFF
เจฆเฉเจฌเจพเจฐเจพ swap
.
BYTES:0000000000000000000000000000000000000000000000000000000000003039FFFFFFFF "sender.addr"
เจ
เจคเฉ เจ
เฉฐเจค เจตเจฟเฉฑเจ เจฌเจพเจเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจฒเจฟเจเฉ เจเจพเจเจฆเฉ เจนเจจ B>file
. เจเจธ เจคเฉเจ เจฌเจพเจ
เจฆ เจธเจพเจกเจพ เจธเจเฉเจ เจเจพเจฒเฉ เจนเฉเฅค เจ
เจธเฉเจ เจฐเฉเจเจฆเฉ เจนเจพเจ 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));
}
เจเจน เจธเจญ เจเฉเจ เจนเฉ
เจนเฉเจฃ เจเฉ เจฌเจพเจเฉ เจฌเจเจฟเจ เจนเฉ เจเจน เจธเจงเจพเจฐเจจ เจนเฉ, เจเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฆเฉ เจคเจฐเฉเจเฉ เจฌเจฃเจพเจเจ เจคเจพเจ เจเฉ เจ เจธเฉเจ เจฌเจพเจนเจฐเฉ เจฆเฉเจจเฉเจ เจคเฉเจ เจเจเจฐเจพเจฐเจจเจพเจฎเฉ เจฆเฉ เจธเจฅเจฟเจคเฉ เจฌเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจชเฉเจฐเจพเจชเจค เจเจฐ เจธเจเฉเจ (เจ เจธเจฒ เจตเจฟเฉฑเจ, เจเจนเจจเจพเจ เจฆเฉ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจธเจเฉเจฐเฉเจ เจคเฉเจ เจกเฉเจเจพ เจชเฉเฉเจนเฉ)เฅค
เจฎเฉเจ เจเจน เจเฉเจก เจเฉเฉเจจเจพ เจตเฉ เจญเฉเฉฑเจฒ เจเจฟเจ เจเฉ เจธเจฎเจพเจฐเจ เจเจเจฐเจพเจฐเจจเจพเจฎเฉ เจจเฉเฉฐ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจ เจตเฉเจฒเฉ เจธเจญ เจคเฉเจ เจชเจนเจฟเจฒเฉ เจฌเฉเจจเจคเฉ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเฉเจเจพเฅค
เจ
เจเจฒเจพ เจเจฆเจฎ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจจเฉเฉฐ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจเจพ เจนเฉเฅค เจเจฒเฉ เจเฉฑเจ เจซเฉเจฒเจกเจฐ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจ requests
.
เจฎเฉเจ เจชเฉเจฐเจเจพเจธเจผเจจ เจเฉเจก เจจเฉเฉฐ เจเจงเจพเจฐ เจตเจเฉเจ เจฒเจฟเจ simple-wallet-code.fc
เจงเจฟเจเจจ เจฆเฉเจฃ เจฏเฉเจ เจเฉเจเจผ. เจ
เจธเฉเจ เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจธเจเฉเจฐเฉเจ เจ
เจคเฉ เจเฉฑเจ เจเจจเจชเฉเจ เจธเฉเจจเฉเจนเจพ เจคเจฟเจเจฐ เจเจฐเจฆเฉ เจนเจพเจเฅค เจเจธ เจคเฉเจ เจฌเจพเจ
เจฆ, เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฆเจพ เจชเจคเจพ เจคเจฟเจเจฐ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจฏเจพเจจเฉ, เจชเจคเจพ TON เจตเจฟเฉฑเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจนเฉเจฃ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเจพเจฃเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจซเจฟเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจเจธ เจชเจคเฉ 'เจคเฉ เจเจ เจเฉเจฐเจพเจฎ เจญเฉเจเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเฉฐเจฆเฉ เจนเฉ, เจ
เจคเฉ เจเจธ เจคเฉเจ เจฌเจพเจ
เจฆ เจนเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจซเจพเจเจฒ เจญเฉเจเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเฉฐเจฆเฉ เจนเฉ, เจเจฟเจเจเจเจฟ เจจเฉเจเจตเจฐเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจ
เจคเฉ เจเจธ เจตเจฟเฉฑเจ เจเจชเจฐเฉเจธเจผเจจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจเจฎเจฟเจธเจผเจจ เจฒเฉเจเจฆเจพ เจนเฉ (เจชเฉเจฐเจฎเจพเจฃเจฟเจ โโเจเฉ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจจเฉเฉฐ เจธเจเฉเจฐ เจ
เจคเฉ เจฒเจพเจเฉ เจเจฐเจฆเฉ เจนเจจเฅค ).
เจ
เฉฑเจเฉ เจ
เจธเฉเจ เจชเจฌเจฒเจฟเจธเจผเจฟเฉฐเจ เจเฉเจก เจจเฉเฉฐ เจเจฒเจพเจเจเจฆเฉ เจนเจพเจ เจ
เจคเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเฉ เจนเจพเจ 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 เจเฉเจฐเจพเจฎ เจ
เจคเฉ เจเฉเจ เจธเจเจฟเฉฐเจเจพเจ เจฌเจพเจ
เจฆ เจ
เจธเฉเจ เจเจนเฉ เจเจฎเจพเจเจก เจเจฒเจพเจเจเจฆเฉ เจนเจพเจเฅค เจเฉเจฐเจพเจฎ เจญเฉเจเจฃ เจฒเจ เจฎเฉเจ เจตเจฐเจคเจฆเจพ เจนเจพเจ
> getaccount 0QAESRAUnb6vjq27KyhyLn1qLcbiZOwvHZvr1vsgkHm8Ksyd
เจเฉฑเจ เจ
เจฃ-เจธเจผเฉเจฐเฉเจเจคเฉ เจตเจฐเจเจพ เจฒเฉฑเจเจฆเจพ เจนเฉ (state:account_uninit
) เจเฉฑเจเฉ เจชเจคเฉ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจ
เจคเฉ 1 เจจเฉเจจเฉเจเฉเจฐเจพเจฎ เจฆเจพ เจธเฉฐเจคเฉเจฒเจจเฅค
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
เจนเฉเจฃ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจจเฉเฉฐ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเฉเจ. เจเจ เจฒเจพเจเจ-เจเจฒเจพเจเฉฐเจ เจฒเจพเจเจ เจเจฐเฉเจ เจ เจคเฉ เจเจเจเจผเฉเจเจฟเจเจ เจเจฐเฉเจเฅค
> 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
.
เจคเจฌเจฆเฉเจฒเฉเจเจ เจฆเฉ เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจตเจเจจเจฌเฉฑเจงเจคเจพ
เจเจ เจนเฉเจฃ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจจเจพเจฒ เจเฉฐเจเจฐเฉเจเจ เจเจฐเจจ เจฒเจ เจฌเฉเจจเจคเฉเจเจ เจเจฐเฉเจเฅค
เจตเจงเฉเจฐเฉ เจธเจชเจธเจผเจ เจคเฉเจฐ 'เจคเฉ, เจ เจธเฉเจ เจเฉฑเจ เจธเฉเจคเฉฐเจคเจฐ เจเฉฐเจฎ เจตเจเฉเจ เจชเจคเฉ เจจเฉเฉฐ เจฌเจฆเจฒเจฃ เจฒเจ เจชเจนเจฟเจฒเฉ เจจเฉเฉฐ เจเฉฑเจก เจฆเฉเจตเจพเจเจเฉ, เจ เจคเฉ เจ เจธเฉเจ เจฎเจพเจฒเจ เจฆเฉ เจชเจคเฉ 'เจคเฉ เจเฉเจฐเจพเจฎ เจญเฉเจเจฃ เจฒเจ เจฆเฉเจเจพ เจเฉฐเจฎ เจเจฐเจพเจเจเฉเฅค เจตเจพเจธเจคเจต เจตเจฟเฉฑเจ, เจธเจพเจจเฉเฉฐ เจเฉเจฐเจพเจฎ เจญเฉเจเจฃ เจฒเจ เจเฉเจธเจ เจตเจฟเฉฑเจ เจเจนเฉ เจเฉฐเจฎ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเจเจเฉเฅค
เจเจน เจเจน เจธเฉเจจเฉเจนเจพ เจนเฉ เจเฉ เจ
เจธเฉเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจจเฉเฉฐ เจญเฉเจเจพเจเจเฉ, เจเจฟเฉฑเจฅเฉ msg_seqno
165, action
เจญเฉเจเจฃ เจฒเจ 2 เจ
เจคเฉ 9.5 เจเฉเจฐเจพเจฎเฅค
<b 165 32 u, 2 7 u, 9500000000 Gram, b>
เจเจชเจฃเฉ เจจเจฟเฉฑเจเฉ เจเฉเฉฐเจเฉ เจจเจพเจฒ เจธเฉเจจเฉเจนเฉ 'เจคเฉ เจฆเจธเจคเจเจค เจเจฐเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉ lottery.pk
, เจเฉ เจเจฟ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฌเจฃเจพเจเจฃ เจตเฉเจฒเฉ เจชเจนเจฟเจฒเจพเจ เจคเจฟเจเจฐ เจเฉเจคเจพ เจเจฟเจ เจธเฉเฅค
เจชเฉเจฐเจพเจชเจค เจคเจฐเฉเจเจฟเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉฑเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจคเฉเจ เจเจพเจฃเจเจพเจฐเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ
เจนเฉเจฃ เจเจ เจฆเฉเจเฉเจ เจเจฟ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฆเฉ เจคเจฐเฉเจเจฟเจเจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจเจฒเจพเจเจฃเจพ เจนเฉ.
เจฒเจพเจเจ เจเจฐเฉ 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]) ]
เจ เจธเฉเจ เจฒเจพเจเจ-เจเจฒเจพเจเฉฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉ เจ เจคเฉ เจธเจพเจเจ 'เจคเฉ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฌเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเจจ เจฒเจ เจคเจฐเฉเจเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจพเจเจเฉเฅค
เจตเฉเฉฑเจฌเจธเจพเจเจ 'เจคเฉ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจกเฉเจเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเจจเจพ
เจฎเฉเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจคเฉเจ เจกเฉเจเจพ เจจเฉเฉฐ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจเจฐเจจ เจฒเจ เจชเจพเจเจฅเจจ เจตเจฟเฉฑเจ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจตเฉเจฌเจธเจพเจเจ เจฒเจฟเจเฉ เจนเฉเฅค เจเฉฑเจฅเฉ เจฎเฉเจ เจเจธ 'เจคเฉ เจตเจฟเจธเจฅเจพเจฐ เจจเจพเจฒ เจจเจนเฉเจ เจฌเฉเจฒเจพเจเจเจพ เจ
เจคเฉ เจธเจพเจเจ เจจเฉเฉฐ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจพเจเจเจพ
เจคเฉเจ TON เจจเฉเฉฐ เจฌเฉเจจเจคเฉเจเจ เจเฉเจคเฉเจเจ เจเจพเจเจฆเฉเจเจ เจนเจจ Python
เจฆเฉ เจธเจนเจพเจเจคเจพ เจจเจพเจฒ lite-client
. เจธเจนเฉเจฒเจค เจฒเจ, เจธเจพเจเจ เจจเฉเฉฐ เจกเฉเจเจฐ เจตเจฟเฉฑเจ เจชเฉเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ เจ
เจคเฉ เจเฉเจเจฒ เจเจฒเจพเจเจก 'เจคเฉ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
เจเฉเจธเจผเจฟเจธเจผ เจเจฐ เจฐเจฟเจนเจพ เจนเฉ
เจนเฉเจฃ เจเจ เจเฉฑเจฅเฉ เจคเฉเจ เจชเฉเจฐเจคเฉ เจฒเจ เจเฉเจฐเจพเจฎ เจญเฉเจเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเจ
เจฌเจพเจ เจฆ
เจฒเฉเจ เจฎเฉเจฐเฉ เจเจฎเฉเจฆ เจจเจพเจฒเฉเจ เจฌเจนเฉเจค เจฒเฉฐเจฌเจพ เจจเจฟเจเจฒเจฟเจ, เจธเจผเจพเจเจฆ เจเจน เจเฉเจเจพ เจนเฉ เจธเจเจฆเจพ เจธเฉ, เจเจพเจ เจนเฉ เจธเจเจฆเจพ เจนเฉ เจธเจฟเจฐเจซเจผ เจเจธ เจตเจฟเจ เจเจคเฉ เจฒเจ เจเฉ TON เจฌเจพเจฐเฉ เจเฉเจ เจจเจนเฉเจ เจเจพเจฃเจฆเจพ เจนเฉ เจ เจคเฉ เจเจธ เจจเจพเจฒ เจเฉฑเจฒเจฌเจพเจค เจเจฐเจจ เจฆเฉ เจฏเฉเจเจคเจพ เจตเจพเจฒเจพ เจเฉฑเจ เจฌเจนเฉเจค เจนเฉ เจธเจงเจพเจฐเจจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฒเจฟเจเจฃเจพ เจ เจคเฉ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเฉเฅค เจเจน. เจธเจผเจพเจเจฆ เจเฉเจ เจเฉฑเจฒเจพเจ เจจเฉเฉฐ เจนเฉเจฐ เจธเจฐเจฒ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจธเจฎเจเจพเจเจ เจเจพ เจธเจเจฆเจพ เจธเฉเฅค
เจธเจผเจพเจเจฆ เจฒเจพเจเฉ เจเจฐเจจ เจฆเฉ เจเฉเจ เจชเจนเจฟเจฒเฉเจเจ เจจเฉเฉฐ เจนเฉเจฐ เจเฉเจธเจผเจฒเจคเจพ เจ เจคเฉ เจธเจผเจพเจจเจฆเจพเจฐ เจขเฉฐเจ เจจเจพเจฒ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจธเฉ, เจชเจฐ เจซเจฟเจฐ เจฒเฉเจ เจจเฉเฉฐ เจคเจฟเจเจฐ เจเจฐเจจ เจฒเจ เจนเฉเจฐ เจตเฉ เจธเจฎเจพเจ เจฒเฉฑเจ เจธเจเจฆเจพ เจธเฉ. เจเจน เจตเฉ เจธเฉฐเจญเจต เจนเฉ เจเจฟ เจฎเฉเจ เจเจฟเจคเฉ เจเจฒเจคเฉ เจเฉเจคเฉ เจนเฉ เจเจพเจ เจเฉเจ เจธเจฎเจ เจจเจนเฉเจ เจเจเจ, เจเจธ เจฒเจ เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเฉเจ เจเฉฐเจญเฉเจฐ เจเจฐ เจฐเจนเฉ เจนเฉ, เจคเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ TON เจเฉเจก เจฆเฉ เจจเจพเจฒ เจ เจงเจฟเจเจพเจฐเจค เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจเจพเจ เจ เจงเจฟเจเจพเจฐเจค เจฐเจฟเจชเฉเจเจผเจเจฐเฉ 'เจคเฉ เจญเจฐเฉเจธเจพ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
เจเจน เจจเฉเจ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจเจฟ เจเจฟเจเจเจเจฟ TON เจเฉเจฆ เจ เจเฉ เจตเฉ เจตเจฟเจเจพเจธ เจฆเฉ เจธเจฐเจเจฐเจฎ เจชเฉเจพเจ เจตเจฟเฉฑเจ เจนเฉ, เจคเจฌเจฆเฉเจฒเฉเจเจ เจนเฉ เจธเจเจฆเฉเจเจ เจนเจจ เจเฉ เจเจธ เจฒเฉเจ เจฆเฉ เจเจฟเจธเฉ เจตเฉ เจเจฆเจฎ เจจเฉเฉฐ เจคเฉเฉ เจฆเฉเจฃเจเฉเจเจ (เจเฉ เจฎเฉเจ เจฒเจฟเจ เจฐเจฟเจนเจพ เจธเฉ, เจเจธ เจจเฉเฉฐ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจ เฉเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ), เจชเจฐ เจเจฎ เจชเจนเฉเฉฐเจ เจนเฉ. เจฌเจฆเจฒเจฃ เจฆเฉ เจธเฉฐเจญเจพเจตเจจเจพ เจจเจนเฉเจ เจนเฉเฅค
เจฎเฉเจ TON เจฆเฉ เจญเจตเจฟเฉฑเจ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจจเจนเฉเจ เจเจฐเจพเจเจเจพเฅค เจธเจผเจพเจเจฆ เจชเจฒเฉเจเจซเจพเจฐเจฎ เจเฉเจ เจตเฉฑเจกเจพ เจฌเจฃ เจเจพเจตเฉเจเจพ เจ เจคเฉ เจธเจพเจจเฉเฉฐ เจเจธเจฆเจพ เจ เจงเจฟเจเจจ เจเจฐเจจ เจตเจฟเฉฑเจ เจธเจฎเจพเจ เจฌเจฟเจคเจพเจเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ เจ เจคเฉ เจนเฉเจฃ เจธเจพเจกเฉ เจเจคเจชเจพเจฆเจพเจ เจจเจพเจฒ เจเฉฑเจ เจธเจฅเจพเจจ เจญเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค
เจซเฉเจธเจฌเฉเฉฑเจ เจคเฉเจ เจฒเจฟเจฌเจฐเจพ เจตเฉ เจนเฉ, เจเจฟเจธ เจตเจฟเฉฑเจ TON เจคเฉเจ เจตเฉฑเจกเฉ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจฆเฉ เจธเฉฐเจญเจพเจตเฉ เจฆเจฐเจธเจผเจ เจนเจจเฅค เจฎเฉเจ เจฒเจฟเจฌเจฐเจพ เจฌเจพเจฐเฉ เจฒเจเจญเจ เจเฉเจ เจจเจนเฉเจ เจเจพเจฃเจฆเจพ, เจซเฉเจฐเจฎ เจฆเฉเจเจฐเจพ เจจเจฟเจฐเจฃเจพ เจเจฐเจฆเฉ เจนเฉเจ เจเฉฑเจฅเฉ TON เจเจฎเจฟเจเจจเจฟเจเฉ เจจเจพเจฒเฉเจ เจฌเจนเฉเจค เจเจผเจฟเจเจฆเจพ เจเจคเฉเจตเจฟเจงเฉ เจนเฉ. เจนเจพเจฒเจพเจเจเจฟ TON เจฆเฉ เจกเจฟเจตเฉเจฒเจชเจฐ เจ เจคเฉ เจเจฎเจฟเจเจจเจฟเจเฉ เจญเฉเจฎเฉเจเจค เจตเจฐเจเฉ เจนเจจ, เจเฉ เจเจฟ เจ เฉฐเจกเจพ เจตเฉ เจนเฉ.
เจนเจตเจพเจฒเฉ
- เจ
เจงเจฟเจเจพเจฐเจค TON เจฆเจธเจคเจพเจตเฉเจเจผ:
https://test.ton.org - เจ
เจงเจฟเจเจพเจฐเจค TON เจญเฉฐเจกเจพเจฐ:
https://github.com/ton-blockchain/ton - เจตเฉฑเจ-เจตเฉฑเจ เจชเจฒเฉเจเจซเจพเจฐเจฎเจพเจ เจฒเจ เจ
เจงเจฟเจเจพเจฐเจค เจตเจพเจฒเจฟเจ:
https://wallet.ton.org - เจเจธ เจฒเฉเจ เจคเฉเจ เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ:
https://github.com/raiym/astonished - เจธเจฎเจพเจฐเจ เจเฉฐเจเจฐเฉเจเจ เจตเฉเฉฑเจฌเจธเจพเจเจ เจจเจพเจฒ เจฒเจฟเฉฐเจ เจเจฐเฉ:
https://ton-lottery.appspot.com - FunC เจฒเจ เจตเจฟเจเจผเฉเจ
เจฒ เจธเจเฉเจกเฉเจ เจเฉเจก เจฒเจ เจเจเจธเจเฉเจเจธเจผเจจ เจฒเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ:
https://github.com/raiym/func-visual-studio-plugin - เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจตเจฟเฉฑเจ TON เจฌเจพเจฐเฉ เจเฉฑเจฒเจฌเจพเจค เจเจฐเฉ, เจเจฟเจธ เจจเฉ เจ
เจธเจฒ เจตเจฟเฉฑเจ เจธเจผเฉเจฐเฉเจเจคเฉ เจชเฉเจพเจ
'เจคเฉ เจเจธเจฆเจพ เจชเจคเจพ เจฒเจเจพเจเจฃ เจตเจฟเฉฑเจ เจฎเจฆเจฆ เจเฉเจคเฉเฅค เจฎเฉเจจเฉเฉฐ เจฒเจเจฆเจพ เจนเฉ เจเจฟ เจเจน เจเฉเจ เจเจฒเจคเฉ เจจเจนเฉเจ เจนเฉเจตเฉเจเฉ เจเฉเจเจฐ เจฎเฉเจ เจเจนเจพเจ เจเจฟ เจนเจฐ เจเฉเจ เจเจฟเจธเจจเฉ TON เจฒเจ เจเฉเจ เจฒเจฟเจเจฟเจ เจนเฉ เจเฉฑเจฅเฉ เจนเฉ. เจคเฉเจธเฉเจ เจเฉฑเจฅเฉ เจเฉเจธเจ เจเฉเจฐเจพเจฎ เจตเฉ เจฎเฉฐเจ เจธเจเจฆเฉ เจนเฉเฅค
https://t.me/tondev_ru - TON เจฌเจพเจฐเฉ เจเฉฑเจ เจนเฉเจฐ เจเฉฑเจฒเจฌเจพเจค เจเจฟเจธ เจตเจฟเฉฑเจ เจฎเฉเจจเฉเฉฐ เจเจชเจฏเฉเจเฉ เจเจพเจฃเจเจพเจฐเฉ เจฎเจฟเจฒเฉ:
https://t.me/TONgramDev - เจฎเฉเจเจพเจฌเจฒเฉ เจฆเจพ เจชเจนเจฟเจฒเจพ เจชเฉเจพเจ
:
https://contest.com/blockchain - เจฎเฉเจเจพเจฌเจฒเฉ เจฆเจพ เจฆเฉเจเจพ เจชเฉเจพเจ
:
https://contest.com/blockchain-2
เจธเจฐเฉเจค: www.habr.com