āĻāĻĒāύāĻŋ āϏāĻŽā§āĻāĻŦāϤ āϝ⧠āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻļā§āύā§āĻā§āύ . āĻāĻŋāύā§āϤ⧠āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽā§āϰ āĻāĻŦāϰāĻāĻŋ āĻšāϝāĻŧāϤ⧠āĻāĻĒāύāĻŋ āĻŽāĻŋāϏ āĻāϰā§āĻā§āύ āĻāĻ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽā§āϰ āĻāύā§āϝ āĻāĻ āĻŦāĻž āĻāĻāĻžāϧāĻŋāĻ āϏā§āĻŽāĻžāϰā§āĻ āĻā§āĻā§āϤāĻŋ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύā§āϰ āĻāύā§āϝāĨ¤
āϏā§āϰā§āĻā§āϞ āĻĻāϞ, āĻŦā§āĻšā§ āĻŦā§āϞāĻāĻā§āĻāύ āĻĒā§āϰāĻāϞā§āĻĒāĻā§āϞāĻŋ āϤā§āϰāĻŋāϤ⧠āĻŦā§āϝāĻžāĻĒāĻ āĻ āĻāĻŋāĻā§āĻāϤāĻžāϰ āϏāĻžāĻĨā§, āĻāĻāĻĒāĻžāĻļā§ āĻĻāĻžāĻāĻĄāĻŧāĻžāϤ⧠āĻĒāĻžāϰā§āύāĻŋāĨ¤ āĻāĻŽāϰāĻž āĻĒā§āϰāϤāĻŋāϝā§āĻāĻŋāϤāĻžāϝāĻŧ āĻĒāĻžāĻāĻāĻāύ āĻāϰā§āĻŽāĻāĻžāϰā§āĻā§ āĻ āϰā§āĻĒāĻŖ āĻāϰā§āĻāĻŋ, āĻāĻŦāĻ āĻĻā§āĻ āϏāĻĒā§āϤāĻžāĻš āĻĒāϰ⧠āϤāĻžāϰāĻž (āĻāύ) āĻŦāĻŋāύāϝāĻŧā§ āĻāϞā§āĻŽā§āϞ⧠āĻĄāĻžāĻāύāĻžāĻŽ āϏā§āĻā§āϏāĻŋ āĻāĻŋāϰāĻāĻŋāĻāĻŋāϰ āĻ āϧā§āύ⧠āĻĒā§āϰāĻĨāĻŽ āϏā§āĻĨāĻžāύ āĻ āϧāĻŋāĻāĻžāϰ āĻāϰā§āĻā§āĨ¤ āĻāĻ āĻĒā§āϰāĻŦāύā§āϧ⧠āĻāĻŽāĻŋ āĻāĻĨāĻž āĻŦāϞāĻŦ āĻāĻŋāĻāĻžāĻŦā§ āϤāĻžāϰāĻž āĻāĻāĻž āĻāϰā§āĻā§āĨ¤ āĻāĻŽāϰāĻž āĻāĻļāĻž āĻāϰāĻŋ āϝ⧠āĻĒāϰāĻŦāϰā§āϤ⧠āĻĻāĻļ āĻŽāĻŋāύāĻŋāĻā§āϰ āĻŽāϧā§āϝ⧠āĻāĻĒāύāĻŋ āĻ āύā§āϤāϤ āĻāĻāĻāĻŋ āĻāĻāϰā§āώāĻŖā§āϝāĻŧ āĻāϞā§āĻĒ āĻĒāĻĄāĻŧāĻŦā§āύ āĻāĻŦāĻ āϏāϰā§āĻŦāĻžāϧāĻŋāĻ āĻāĻĒāύāĻŋ āĻāϤ⧠āĻĻāϰāĻāĻžāϰ⧠āĻāĻŋāĻā§ āĻĒāĻžāĻŦā§āύ āϝāĻž āĻāĻĒāύāĻŋ āĻāĻĒāύāĻžāϰ āĻāĻžāĻā§ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āϤāĻŦā§ āĻāĻāĻā§ āĻĒā§āϰāϏāĻā§āĻ āĻĻāĻŋāϝāĻŧā§ āĻļā§āϰ⧠āĻāϰāĻž āϝāĻžāĻāĨ¤
āĻĒā§āϰāϤāĻŋāϝā§āĻāĻŋāϤāĻž āĻāĻŦāĻ āϤāĻžāϰ āĻļāϰā§āϤāĻžāĻŦāϞā§
āϏā§āϤāϰāĻžāĻ, āĻ āĻāĻļāĻā§āϰāĻšāĻŖāĻāĻžāϰā§āĻĻā§āϰ āĻĒā§āϰāϧāĻžāύ āĻāĻžāĻāĻā§āϞāĻŋ āĻāĻŋāϞ āĻāĻ āĻŦāĻž āĻāĻāĻžāϧāĻŋāĻ āĻĒā§āϰāϏā§āϤāĻžāĻŦāĻŋāϤ āϏā§āĻŽāĻžāϰā§āĻ āĻā§āĻā§āϤāĻŋāϰ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ, āϏā§āĻāϏāĻžāĻĨā§ TON āĻāĻā§āϏāĻŋāϏā§āĻā§āĻŽ āĻāύā§āύāϤ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāϏā§āϤāĻžāĻŦ āϤā§āϰāĻŋ āĻāϰāĻžāĨ¤ āĻĒā§āϰāϤāĻŋāϝā§āĻāĻŋāϤāĻžāĻāĻŋ 24 āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ āĻĨā§āĻā§ 15 āĻ āĻā§āĻā§āĻŦāϰ āĻĒāϰā§āϝāύā§āϤ āĻāϞ⧠āĻāĻŦāĻ āĻĢāϞāĻžāĻĢāϞ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ 15 āύāĻā§āĻŽā§āĻŦāϰ āĻā§āώāĻŖāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤ āĻŦā§āĻļ āĻĻā§āϰā§āĻ āϏāĻŽāϝāĻŧ āϧāϰā§, āĻāĻ āϏāĻŽāϝāĻŧā§āϰ āĻŽāϧā§āϝ⧠āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽā§ āĻāĻŋāĻāĻāĻāĻĒāĻŋ āĻāϞā§āϰ āĻā§āĻŖāĻŽāĻžāύ āĻĒāϰā§āĻā§āώāĻž āĻāĻŦāĻ āĻŽā§āϞā§āϝāĻžāϝāĻŧāύā§āϰ āĻāύā§āϝ C++-āĻ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻā§āϞāĻŋāϰ āύāĻāĻļāĻž āĻāĻŦāĻ āĻŦāĻŋāĻāĻžāĻļā§āϰ āĻĒā§āϰāϤāĻŋāϝā§āĻāĻŋāϤāĻžāϰ āĻĢāϞāĻžāĻĢāϞāĻā§āϞāĻŋ āϧāϰ⧠āϰāĻžāĻāϤ⧠āĻāĻŦāĻ āĻā§āώāĻŖāĻž āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤
āĻāϝāĻŧā§āĻāĻāĻĻā§āϰ āĻĒā§āϰāϏā§āϤāĻžāĻŦāĻŋāϤ āϤāĻžāϞāĻŋāĻāĻž āĻĨā§āĻā§ āĻāĻŽāϰāĻž āĻĻā§āĻāĻŋ āϏā§āĻŽāĻžāϰā§āĻ āĻā§āĻā§āϤāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰā§āĻāĻŋāĨ¤ āϤāĻžāĻĻā§āϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋāϰ āĻāύā§āϝ, āĻāĻŽāϰāĻž TON-āĻāϰ āϏāĻžāĻĨā§ āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āϏāϰāĻā§āĻāĻžāĻŽāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĻāĻŋ āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāĻāĻŋ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻā§āĻāĻŋāύāĻŋāϝāĻŧāĻžāϰāĻĻā§āϰ āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻŋāĻļā§āώāĻāĻžāĻŦā§ TON-āĻāϰ āĻāύā§āϝ āϤā§āϰāĻŋ āĻāϰāĻž āĻāĻāĻāĻŋ āύāϤā§āύ āĻāĻžāώāĻžāϝāĻŧ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ Haskell-āĻ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
āĻāĻāĻāĻŋ āĻāĻžāϰā§āϝāĻāϰ⧠āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāĻžāώāĻžāϰ āĻĒāĻāύā§āĻĻ āĻāĻāϏā§āĻŽāĻŋāĻ āύāϝāĻŧāĨ¤ āĻāĻŽāĻžāĻĻā§āϰ āĻŽāĻžāĻā§ āĻāĻŽāϰāĻž āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻĨāĻž āĻŦāϞāĻŋ āĻā§āύ āĻāĻŽāϰāĻž āĻŽāύ⧠āĻāϰāĻŋ āĻāĻžāϰā§āϝāĻāϰ⧠āĻāĻžāώāĻžāϰ āĻāĻāĻŋāϞāϤāĻž āĻāĻāĻāĻŋ āĻŦāĻŋāĻļāĻžāϞ āĻ āϤāĻŋāϰāĻā§āĻāύ āĻāĻŦāĻ āĻā§āύ āĻāĻŽāϰāĻž āϏāĻžāϧāĻžāϰāĻŖāϤ āϏā§āĻā§āϞāĻŋāĻā§ āĻ āĻŦāĻā§āĻā§āĻ-āĻāϰāĻŋāϝāĻŧā§āύā§āĻā§āĻĄāĻā§āϞāĻŋāϰ āĻĨā§āĻā§ āĻĒāĻāύā§āĻĻ āĻāϰāĻŋāĨ¤ āĻāĻĒāĻžāϝāĻŧ āĻĻā§āĻŦāĻžāϰāĻž, āĻāĻāĻŋ āϧāĻžāϰāĻŖ āĻāϰ⧠.
āĻā§āύ āĻāĻŽāϰāĻž āĻāĻŽāύāĻāĻŋ āĻ āĻāĻļāĻā§āϰāĻšāĻŖ āĻāϰāĻžāϰ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āύāĻŋāϝāĻŧā§āĻāĻŋ?
āϏāĻāĻā§āώā§āĻĒā§, āĻāĻžāϰāĻŖ āĻāĻŽāĻžāĻĻā§āϰ āĻŦāĻŋāĻļā§āώā§āĻāϰāĻŖ āĻšāϞ āĻ -āĻŽāĻžāύāĻ āĻāĻŦāĻ āĻāĻāĻŋāϞ āĻĒā§āϰāĻāϞā§āĻĒ āϝāĻžāϰ āĻāύā§āϝ āĻŦāĻŋāĻļā§āώ āĻĻāĻā§āώāϤāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻāĻŦāĻ āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰāĻĻāĻžāϝāĻŧā§āϰ āĻāĻžāĻā§ āĻŦā§āĻā§āĻāĻžāύāĻŋāĻ āĻŽā§āϞā§āϝā§āϰāĨ¤ āĻāĻŽāϰāĻž āĻāĻĒā§āύ āϏā§āϰā§āϏ āĻĄā§āĻā§āϞāĻĒāĻŽā§āύā§āĻāĻā§ āĻĻā§āĻĸāĻŧāĻāĻžāĻŦā§ āϏāĻŽāϰā§āĻĨāύ āĻāϰāĻŋ āĻāĻŦāĻ āĻāϰ āĻāύāĻĒā§āϰāĻŋāϝāĻŧāĻāϰāĻŖā§ āύāĻŋāϝā§āĻā§āϤ āĻāĻāĻŋ, āĻāĻŦāĻ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāϰ āĻŦāĻŋāĻā§āĻāĻžāύ āĻāĻŦāĻ āĻāĻŖāĻŋāϤā§āϰ āĻā§āώā§āϤā§āϰ⧠āύā§āϤā§āϏā§āĻĨāĻžāύā§āϝāĻŧ āϰāĻžāĻļāĻŋāϝāĻŧāĻžāύ āĻŦāĻŋāĻļā§āĻŦāĻŦāĻŋāĻĻā§āϝāĻžāϞāϝāĻŧāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āϏāĻšāϝā§āĻāĻŋāϤāĻž āĻāϰāĻŋāĨ¤
āĻĒā§āϰāϤāĻŋāϝā§āĻāĻŋāϤāĻžāϰ āĻāĻāϰā§āώāĻŖā§āϝāĻŧ āĻāĻžāĻ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāĻŋāϝāĻŧ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻĒā§āϰāĻāϞā§āĻĒā§ āĻāĻĄāĻŧāĻŋāϤ āĻĨāĻžāĻāĻž āύāĻŋāĻā§āϰ āĻŽāϧā§āϝ⧠āĻāĻāĻāĻŋ āĻĻā§āϰā§āĻĻāĻžāύā§āϤ āĻĒā§āϰā§āϰāĻŖāĻž āĻāĻŋāϞ, āϤāĻŦā§ āĻĒā§āϰāϏā§āĻāĻžāϰ āϤāĻšāĻŦāĻŋāϞ āĻāĻāĻāĻŋ āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āĻĒā§āϰāĻŖā§āĻĻāύāĻž āĻšāϝāĻŧā§ āĻāĻ ā§āĻā§āĨ¤ đ
TON āĻŦā§āϞāĻāĻā§āĻāύ āĻāĻŦā§āώāĻŖāĻž
āĻāĻŽāϰāĻž āĻŦā§āϞāĻāĻā§āĻāύ, āĻā§āϤā§āϰāĻŋāĻŽ āĻŦā§āĻĻā§āϧāĻŋāĻŽāϤā§āϤāĻž āĻāĻŦāĻ āĻŽā§āĻļāĻŋāύ āϞāĻžāϰā§āύāĻŋāĻ-āĻ āύāϤā§āύ āĻāύā§āύāϝāĻŧāύ āĻāύāĻŋāώā§āĻ āĻāĻžāĻŦā§ āĻĒāϰā§āϝāĻŦā§āĻā§āώāĻŖ āĻāϰāĻŋ āĻāĻŦāĻ āĻāĻŽāϰāĻž āϝ⧠āϏāĻāϞ āĻā§āώā§āϤā§āϰ⧠āĻāĻžāĻ āĻāϰāĻŋ āϏā§āĻā§āϞāĻŋāϰ āĻĒā§āϰāϤāĻŋāĻāĻŋāϤ⧠āĻāĻāĻāĻŋ āĻāϞā§āϞā§āĻāϝā§āĻā§āϝ āĻĒā§āϰāĻāĻžāĻļ āĻŽāĻŋāϏ āύāĻž āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻŋāĨ¤ āĻ āϤāĻāĻŦ, āĻĒā§āϰāϤāĻŋāϝā§āĻāĻŋāϤāĻž āĻļā§āϰ⧠āĻšāĻāϝāĻŧāĻžāϰ āϏāĻŽāϝāĻŧ, āĻāĻŽāĻžāĻĻā§āϰ āĻĻāϞ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻāϰ āϧāĻžāϰāĻŖāĻžāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻĒāϰāĻŋāĻāĻŋāϤ āĻāĻŋāϞ . āϝāĻžāĻāĻšā§āĻ, TON-āĻāϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻļā§āϰ⧠āĻāϰāĻžāϰ āĻāĻā§, āĻāĻŽāϰāĻž āĻĒā§āϰāϝā§āĻā§āϤāĻŋāĻāϤ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻŦāĻ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽā§āϰ āĻĒā§āϰāĻā§āϤ āϏā§āϰā§āϏ āĻā§āĻĄ āĻŦāĻŋāĻļā§āϞā§āώāĻŖ āĻāϰāĻŋāύāĻŋ, āϤāĻžāĻ āĻĒā§āϰāĻĨāĻŽ āϧāĻžāĻĒāĻāĻŋ āĻŦā§āĻļ āϏā§āϏā§āĻĒāώā§āĻ āĻāĻŋāϞ - āĻ āĻĢāĻŋāϏāĻŋāϝāĻŧāĻžāϞ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύā§āϰ āĻāĻāĻāĻŋ āĻĒā§āĻā§āĻāĻžāύā§āĻĒā§āĻā§āĻ āĻ āϧā§āϝāϝāĻŧāύ āĻāĻŦāĻ āĻāύ .
āĻĒā§āϰāϤāĻŋāϝā§āĻāĻŋāϤāĻž āĻļā§āϰ⧠āĻšāĻāϝāĻŧāĻžāϰ āϏāĻŽāϝāĻŧ, āĻā§āĻĄāĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻĒā§āϰāĻāĻžāĻļāĻŋāϤ āĻšāϝāĻŧā§āĻāĻŋāϞ, āϤāĻžāĻ āϏāĻŽāϝāĻŧ āĻŦāĻžāĻāĻāĻžāύā§āϰ āĻāύā§āϝ, āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āĻāĻžāĻāĻĄ āĻŦāĻž āϏāĻžāϰāĻžāĻāĻļ āϞā§āĻāĻžāϰ āĻāύā§āϝ āϏāύā§āϧāĻžāύ āĻāϰāĻžāϰ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āύāĻŋāϝāĻŧā§āĻāĻŋāĨ¤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§. āĻĻā§āϰā§āĻāĻžāĻā§āϝāĻŦāĻļāϤ, āĻāĻāĻŋ āĻā§āύ⧠āĻĢāϞāĻžāĻĢāϞ āĻĻā§āϝāĻŧāύāĻŋ - āĻāĻŦā§āύā§āĻā§āϤ⧠āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰāĻžāϰ āύāĻŋāϰā§āĻĻā§āĻļāύāĻž āĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻŽāϰāĻž āĻ āύā§āϝ āĻā§āύ⧠āĻāĻĒāĻāϰāĻŖ āĻā§āĻāĻā§ āĻĒāĻžāĻāύāĻŋāĨ¤
āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āύāĻŋāĻā§āĻ āĻāĻžāϞ āĻāĻŦā§āώāĻŖāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻāĻŋāύā§āϤ⧠āĻāĻŋāĻā§ āĻāϞāĻžāĻāĻžāϝāĻŧ āĻĒāĻĄāĻŧāĻž āĻāĻ āĻŋāύ āĻāĻŋāϞ. āĻĒā§āϰāĻžāϝāĻŧāĻļāĻ āĻāĻŽāĻžāĻĻā§āϰ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻĒāϝāĻŧā§āύā§āĻā§ āĻĢāĻŋāϰ⧠āϝā§āϤ⧠āĻšāϝāĻŧ āĻāĻŦāĻ āĻŦāĻŋāĻŽā§āϰā§āϤ āϧāĻžāϰāĻŖāĻžāĻā§āϞāĻŋāϰ āĻāĻā§āĻ-āϏā§āϤāϰā§āϰ āĻŦāϰā§āĻŖāύāĻž āĻĨā§āĻā§ āύāĻŋāĻŽā§āύ-āϏā§āϤāϰā§āϰ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύā§āϰ āĻŦāĻŋāĻŦāϰāĻŖā§ āϏā§āϝā§āĻāĻ āĻāϰāϤ⧠āĻšāϝāĻŧāĨ¤
āϏā§āĻĒā§āϏāĻŋāĻĢāĻŋāĻā§āĻļāύ⧠āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύā§āϰ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāϰāĻŖ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āύāĻž āĻĨāĻžāĻāϞ⧠āĻāĻāĻŋ āϏāĻšāĻ āĻšāĻŦā§āĨ¤ āĻāĻāĻāĻŋ āĻāĻžāϰā§āĻā§āϝāĻŧāĻžāϞ āĻŽā§āĻļāĻŋāύ āĻā§āĻāĻžāĻŦā§ āϤāĻžāϰ āϏā§āĻā§āϝāĻžāĻā§āϰ āĻĒā§āϰāϤāĻŋāύāĻŋāϧāĻŋāϤā§āĻŦ āĻāϰ⧠āϏ⧠āϏāĻŽā§āĻĒāϰā§āĻā§ āϤāĻĨā§āϝ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āĻĻā§āϰ āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰāĻžāϰ āĻā§āϝāĻŧā§ TON āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽā§āϰ āĻāύā§āϝ āϏā§āĻŽāĻžāϰā§āĻ āĻā§āĻā§āϤāĻŋ āϤā§āϰāĻŋ āĻāϰ⧠āϤāĻžāĻĻā§āϰ āĻŦāĻŋāĻā§āϰāĻžāύā§āϤ āĻāϰāĻžāϰ āϏāĻŽā§āĻāĻžāĻŦāύāĻž āĻŦā§āĻļāĻŋāĨ¤
āύāĻŋāĻā§āϏ: āĻĒā§āϰāĻāϞā§āĻĒāĻāĻŋ āĻāĻāϏāĻžāĻĨā§ āϰāĻžāĻāĻž
āϏā§āϰā§āĻā§āϞ⧠āĻāĻŽāϰāĻž āĻŦāĻĄāĻŧ āĻāĻā§āϤ . āĻāĻŽāϰāĻž āĻāĻāĻŋ āĻĻāĻŋāϝāĻŧā§ āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāĻāϞā§āĻĒāĻā§āϞāĻŋ āϏāĻāĻā§āϰāĻš āĻāϰāĻŋ āĻāĻŦāĻ āϏā§āĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏā§āĻĨāĻžāĻĒāύ āĻāϰāĻŋ , āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āϰ āϏāĻŽāϏā§āϤ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāύāϏā§āĻāϞ āĻāϰāĻž āĻāĻā§ . āĻāϰ āĻāύā§āϝ āϧāύā§āϝāĻŦāĻžāĻĻ, āĻāĻŽāĻžāĻĻā§āϰ āϏāĻŽāϏā§āϤ āĻŦāĻŋāϞā§āĻĄāĻā§āϞāĻŋ āĻĒā§āύāϰā§āϤā§āĻĒāĻžāĻĻāύāϝā§āĻā§āϝ āĻāĻŦāĻ āϝ⧠āĻā§āύāĻ āĻ āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽā§ āĻāĻžāĻ āĻāϰ⧠āϝā§āĻāĻžāύ⧠āύāĻŋāĻā§āϏ āĻāύāϏā§āĻāϞ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤
āϤāĻžāĻ āĻāĻŽāϰāĻž āϤā§āϰāĻŋ āĻāϰ⧠āĻļā§āϰ⧠āĻāϰā§āĻāĻŋ . āĻāϰ āϏāĻžāĻšāĻžāϝā§āϝā§, TON āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāĻž āϝāϤāĻāĻž āϏāĻŽā§āĻāĻŦ āϏāĻšāĻ:
$ cd ~/.config/nixpkgs/overlays && git clone https://github.com/serokell/ton.nix
$ cd /path/to/ton/repo && nix-shell
[nix-shell]$ cmakeConfigurePhase && makeāĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ āϝ⧠āĻāĻĒāύāĻžāϰ āĻā§āύ āύāĻŋāϰā§āĻāϰāϤāĻž āĻāύāϏā§āĻāϞ āĻāϰāĻžāϰ āĻĻāϰāĻāĻžāϰ āύā§āĻāĨ¤ āĻāĻĒāύāĻŋ NixOS, Ubuntu āĻŦāĻž macOS āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻā§āύ āύāĻž āĻā§āύ, Nix āĻāĻžāĻĻā§āĻāϰā§āĻāĻžāĻŦā§ āĻāĻĒāύāĻžāϰ āĻāύā§āϝ āϏāĻŦāĻāĻŋāĻā§ āĻāϰāĻŦā§āĨ¤
TON āĻāϰ āĻāύā§āϝ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ
TON āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻā§āϰ āϏā§āĻŽāĻžāϰā§āĻ āĻāύā§āĻā§āϰāĻžāĻā§āĻ āĻā§āĻĄ TON āĻāĻžāϰā§āĻā§āϝāĻŧāĻžāϞ āĻŽā§āĻļāĻŋāύ⧠(TVM) āĻāϞā§āĨ¤ TVM āĻ āύā§āϝāĻžāύā§āϝ āĻāĻžāϰā§āĻā§āϝāĻŧāĻžāϞ āĻŽā§āĻļāĻŋāύā§āϰ āϤā§āϞāύāĻžāϝāĻŧ āĻāϰāĻ āĻāĻāĻŋāϞ, āĻāĻŦāĻ āĻā§āĻŦ āĻāĻāϰā§āώāĻŖā§āϝāĻŧ āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āϰāϝāĻŧā§āĻā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻāĻŋ āĻāĻžāĻ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻāϤāĻž и āĻĄā§āĻāĻž āϞāĻŋāĻā§āĻ.
āϤāĻžāĻāĻžāĻĄāĻŧāĻž, TON-āĻāϰ āĻā§āϞā§āϰāĻž āϤāĻŋāύāĻāĻŋ āύāϤā§āύ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāĻžāώāĻž āϤā§āϰāĻŋ āĻāϰā§āĻā§:
āĻĒāĻā§āĻāĻžāĻļ āĻāĻāĻāĻŋ āϏāĻžāϰā§āĻŦāĻāύā§āύ āϏā§āĻā§āϝāĻžāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāĻžāώāĻž āϝāĻž āĻ āύā§āϰā§āĻĒ . āϤāĻžāϰ āϏā§āĻĒāĻžāϰ āĻā§āώāĻŽāϤāĻž āĻšāϞ TVM āĻāϰ āϏāĻžāĻĨā§ āϝā§āĻāĻžāϝā§āĻ āĻāϰāĻžāϰ āĻā§āώāĻŽāϤāĻžāĨ¤
āĻĢāĻžāύāϏāĻŋ āĻāĻāĻāĻŋ āϏā§āĻŽāĻžāϰā§āĻ āĻā§āĻā§āϤāĻŋ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāĻžāώāĻž āϝāĻž āĻ āύā§āϰā§āĻĒ āĻāĻŦāĻ āĻ āύā§āϝ āĻāĻžāώāĻžāϝāĻŧ āϏāĻāĻāϞāĻŋāϤ āĻšāϝāĻŧ - āĻĢāĻŋāĻĢāĻ āĻ ā§āϝāĻžāϏā§āĻŽā§āĻŦāϞāĻžāϰāĨ¤
āĻĒāĻā§āĻāĻŽ āĻ ā§āϝāĻžāϏā§āĻŽā§āĻŦāϞāĻžāϰ â TVM-āĻāϰ āĻāύā§āϝ āĻŦāĻžāĻāύāĻžāϰāĻŋ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻā§āĻŦāϞ āĻā§āĻĄ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒāĻā§āĻāĻŽ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāĨ¤ āĻĒāĻā§āĻāĻŽ āĻ ā§āϝāĻžāϏā§āĻŽā§āĻŦāϞāĻžāϰā§āϰ āĻāĻāĻāĻŋ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āύā§āĻāĨ¤ āĻāĻ .
āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāϤāĻŋāϝā§āĻāĻŋāϤāĻž āĻāĻžāĻ āĻāϰā§
āĻ āĻŦāĻļā§āώā§, āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāĻā§āώā§āĻāĻžāϰ āĻĢāϞāĻžāĻĢāϞ āĻĻā§āĻāĻžāϰ āϏāĻŽāϝāĻŧ āĻāϏā§āĻā§āĨ¤
āĻ ā§āϝāĻžāϏāĻŋāĻā§āĻā§āϰā§āύāĻžāϏ āĻĒā§āĻŽā§āύā§āĻ āĻā§āϝāĻžāύā§āϞ
āĻĒā§āĻŽā§āύā§āĻ āĻā§āϝāĻžāύā§āϞ āĻšāϞ āĻāĻāĻāĻŋ āϏā§āĻŽāĻžāϰā§āĻ āĻā§āĻā§āϤāĻŋ āϝāĻž āĻĻā§āĻāĻāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻā§ āĻŦā§āϞāĻāĻā§āĻāύā§āϰ āĻŦāĻžāĻāϰ⧠āĻ āϰā§āĻĨāĻĒā§āϰāĻĻāĻžāύ āĻĒāĻžāĻ āĻžāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻĢāϞāϏā§āĻŦāϰā§āĻĒ, āĻāĻĒāύāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻ āϰā§āĻĨ āϏāĻžāĻļā§āϰāϝāĻŧ āĻāϰā§āύ āύāĻž (āĻā§āύ āĻāĻŽāĻŋāĻļāύ āύā§āĻ), āĻāĻŋāύā§āϤ⧠āϏāĻŽāϝāĻŧāĻ (āĻāĻĒāύāĻžāĻā§ āĻĒāϰāĻŦāϰā§āϤ⧠āĻŦā§āϞāĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰāĻžāϰ āĻāύā§āϝ āĻ āĻĒā§āĻā§āώāĻž āĻāϰāϤ⧠āĻšāĻŦā§ āύāĻž)āĨ¤ āĻĒā§āĻŽā§āύā§āĻ āϝāϤāĻāĻž āĻā§āĻ āĻāĻŦāĻ āϝāϤāĻŦāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āϤāϤāĻāĻž āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻ āĻā§āώā§āϤā§āϰā§, āĻĒāĻā§āώāĻā§āϞāĻŋāĻā§ āĻāĻā§ āĻ āĻĒāϰāĻā§ āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻāϰāϤ⧠āĻšāĻŦā§ āύāĻž, āϝā§āĻšā§āϤ⧠āĻā§āĻĄāĻŧāĻžāύā§āϤ āύāĻŋāώā§āĻĒāϤā§āϤāĻŋāϰ āύā§āϝāĻžāϝā§āϝāϤāĻž āϏā§āĻŽāĻžāϰā§āĻ āĻā§āĻā§āϤāĻŋ āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
āĻāĻŽāϰāĻž āϏāĻŽāϏā§āϝāĻžāϰ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āϏāĻšāĻ āϏāĻŽāĻžāϧāĻžāύ āĻā§āĻāĻā§ āĻĒā§āϝāĻŧā§āĻāĻŋāĨ¤ āĻĻā§āĻāĻŋ āĻĒāĻā§āώ āϏā§āĻŦāĻžāĻā§āώāϰāĻŋāϤ āĻŦāĻžāϰā§āϤāĻž āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧ āĻāϰāϤ⧠āĻĒāĻžāϰā§, āĻĒā§āϰāϤāĻŋāĻāĻŋāϤ⧠āĻĻā§āĻāĻŋ āύāĻŽā§āĻŦāϰ āϰāϝāĻŧā§āĻā§âāĻĒā§āϰāϤā§āϝā§āĻ āĻĒāĻā§āώā§āϰ āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāĻĻāϤā§āϤ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻĒāϰāĻŋāĻŽāĻžāĻŖāĨ¤ āĻāĻ āĻĻā§āĻāĻŋ āϏāĻāĻā§āϝāĻž āĻŽāϤ āĻāĻžāĻ āĻĒā§āϰāĻĨāĻžāĻāϤ āĻŦāĻŋāϤāϰāĻŖ āϏāĻŋāϏā§āĻā§āĻŽā§ āĻāĻŦāĻ āϞā§āύāĻĻā§āύā§āϰ āĻāύā§āϝ "āĻāĻā§ āĻāĻā§āĻāĻŋāϞ" āĻ āϰā§āĻĄāĻžāϰ āϏā§āĻ āĻāϰā§āύāĨ¤ āĻāĻ āĻĄā§āĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āĻā§āĻā§āϤāĻŋ āϝā§āĻā§āύ⧠āϏāĻŽā§āĻāĻžāĻŦā§āϝ āĻĻā§āĻŦāύā§āĻĻā§āĻŦ āϏāĻŽāĻžāϧāĻžāύ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āĻšāĻŦā§āĨ¤
āĻĒā§āϰāĻā§āϤāĻĒāĻā§āώā§, āĻāĻ āϧāĻžāϰāĻŖāĻžāĻāĻŋ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āϏāĻāĻā§āϝāĻžāĻ āϝāĻĨā§āώā§āĻ, āĻāĻŋāύā§āϤ⧠āĻāĻŽāϰāĻž āĻāĻāϝāĻŧāĻ āĻā§āĻĄāĻŧā§ āĻĻāĻŋāϝāĻŧā§āĻāĻŋ āĻāĻžāϰāĻŖ āĻāĻāĻāĻžāĻŦā§ āĻāĻŽāϰāĻž āĻāϰāĻ āϏā§āĻŦāĻŋāϧāĻžāĻāύāĻ āĻāĻāĻāĻžāϰ āĻāύā§āĻāĻžāϰāĻĢā§āϏ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋāĨ¤ āĻāĻĒāϰāύā§āϤā§, āĻāĻŽāϰāĻž āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻŦāĻžāϰā§āϤāĻžāϝāĻŧ āĻ āϰā§āĻĨāĻĒā§āϰāĻĻāĻžāύā§āϰ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āĻāϰāĻžāϰ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āύāĻŋāϝāĻŧā§āĻāĻŋāĨ¤ āĻāĻāĻŋ āĻāĻžāĻĄāĻŧāĻž, āϝāĻĻāĻŋ āĻā§āύāĻ āĻāĻžāϰāĻŖā§ āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ āĻšāĻžāϰāĻŋāϝāĻŧā§ āϝāĻžāϝāĻŧ, āϤāĻŦā§, āϝāĻĻāĻŋāĻ āϏāĻŽāϏā§āϤ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻāĻŦāĻ āĻā§āĻĄāĻŧāĻžāύā§āϤ āĻāĻŖāύāĻž āϏāĻ āĻŋāĻ āĻšāĻŦā§, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻā§āώāϤāĻŋāĻāĻŋ āϞāĻā§āώā§āϝ āύāĻžāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āĻāĻŽāĻžāĻĻā§āϰ āϧāĻžāϰāĻŖāĻž āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāĻŽāϰāĻž āĻāĻ āϧāϰāύā§āϰ āĻāĻāĻāĻŋ āϏāĻšāĻ āĻāĻŦāĻ āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻ āϰā§āĻĨāĻĒā§āϰāĻĻāĻžāύā§āϰ āĻā§āϝāĻžāύā§āϞ āĻĒā§āϰā§āĻā§āĻāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻāĻĻāĻžāĻšāϰāĻŖāĻā§āϞāĻŋ āϏāύā§āϧāĻžāύ āĻāϰā§āĻāĻŋāĨ¤ āĻāĻļā§āĻāϰā§āϝāĻāύāĻāĻāĻžāĻŦā§, āĻāĻŽāϰāĻž āĻŽāĻžāϤā§āϰ āĻĻā§āĻāĻŋ āĻā§āĻāĻā§ āĻĒā§āϝāĻŧā§āĻāĻŋ:
- āĻāĻāĻāĻŋ āĻ āύā§āϰā§āĻĒ āĻĒāĻĻā§āϧāϤāĻŋ, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻāĻāĻŽā§āĻā§ āĻā§āϝāĻžāύā§āϞā§āϰ āĻā§āώā§āϤā§āϰā§āĨ¤
- , āϝāĻž āĻāĻŽāĻžāĻĻā§āϰ āĻŽāϤ āĻāĻāĻ āϧāĻžāϰāĻŖāĻž āĻŦāϰā§āĻŖāύāĻž āĻāϰā§, āĻāĻŋāύā§āϤ⧠āϏāĻžāϧāĻžāϰāĻŖ āϏāĻ āĻŋāĻāϤāĻž āĻāĻŦāĻ āĻĻā§āĻŦāύā§āĻĻā§āĻŦ āϏāĻŽāĻžāϧāĻžāύ āĻĒāĻĻā§āϧāϤāĻŋāϰ āĻŽāϤ⧠āĻ āύā§āĻ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āĻŦāĻŋāĻŦāϰāĻŖ āĻŦā§āϝāĻžāĻā§āϝāĻž āύāĻž āĻāϰā§āĨ¤
āĻāĻāĻž āϏā§āĻĒāώā§āĻ āĻšāϝāĻŧā§ āĻā§āϞ āϝ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰā§āĻā§āĻāϞāĻā§ āĻŦāĻŋāĻļāĻĻāĻāĻžāĻŦā§ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āĻ āϰā§āĻĨāĻĒā§āϰā§āĻŖ, āĻāϰ āϏāĻ āĻŋāĻāϤāĻžāϰ āĻĻāĻŋāĻā§ āĻŦāĻŋāĻļā§āώ āĻŽāύā§āϝā§āĻ āĻĻā§āĻāϝāĻŧāĻžāĨ¤ āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻĒā§āύāϰāĻžāĻŦā§āϤā§āϤāĻŋāϰ āĻĒāϰā§, āϏā§āĻĒā§āϏāĻŋāĻĢāĻŋāĻā§āĻļāύ āĻĒā§āϰāϏā§āϤā§āϤ āĻāĻŋāϞ, āĻāĻŦāĻ āĻāĻāύ āĻāĻĒāύāĻŋāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ .
āĻāĻŽāϰāĻž FunC-āϤ⧠āĻā§āĻā§āϤāĻŋāĻāĻŋ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰā§āĻāĻŋ, āĻāĻŦāĻ āϏāĻāĻāĻ āĻāĻĻā§āϰ āϏā§āĻĒāĻžāϰāĻŋāĻļ āĻ āύā§āϏāĻžāϰ⧠āĻāĻŽāϰāĻž āϏāĻŽā§āĻĒā§āϰā§āĻŖāĻāĻžāĻŦā§ āĻĢāĻŋāĻĢāĻā§ āĻāĻŽāĻžāĻĻā§āϰ āĻā§āĻā§āϤāĻŋāϰ āϏāĻžāĻĨā§ āĻāύā§āĻāĻžāϰāĻ ā§āϝāĻžāĻā§āĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻŽāĻžāύā§āĻĄ āϞāĻžāĻāύ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āϞāĻŋāĻā§āĻāĻŋāĨ¤ āĻāĻŽāϰāĻž āĻāĻŽāĻžāĻĻā§āϰ CLI-āĻāϰ āĻāύā§āϝ āĻ āύā§āϝ āĻā§āύ⧠āĻāĻžāώāĻž āĻŦā§āĻā§ āύāĻŋāϤ⧠āĻĒāĻžāϰāϤāĻžāĻŽ, āĻāĻŋāύā§āϤ⧠āĻāĻŽāϰāĻž āĻĢāĻŋāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĻā§āĻāϤ⧠āĻāĻā§āϰāĻšā§ āĻāĻŋāϞāĻžāĻŽ āϝ⧠āĻāĻāĻŋ āĻ āύā§āĻļā§āϞāύ⧠āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰā§āĨ¤
āϏāϤā§āϝāĻŋ āĻāĻĨāĻž āĻŦāϞāϤā§, āĻĢāĻŋāĻĢā§āĻā§āϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰāĻžāϰ āĻĒāϰā§, āĻāĻŽāϰāĻž āĻāύā§āύāϤ āϏāϰāĻā§āĻāĻžāĻŽ āĻāĻŦāĻ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āϏāĻš āĻāύāĻĒā§āϰāĻŋāϝāĻŧ āĻāĻŦāĻ āϏāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšā§āϤ āĻāĻžāώāĻžāĻā§āϞāĻŋāϰ āĻĨā§āĻā§ āĻāĻ āĻāĻžāώāĻžāĻāĻŋāĻā§ āĻĒāĻāύā§āĻĻ āĻāϰāĻžāϰ āĻā§āύāĻ āĻŦāĻžāϧā§āϝāϤāĻžāĻŽā§āϞāĻ āĻāĻžāϰāĻŖ āĻĻā§āĻāĻŋāύāĻŋāĨ¤ āĻāĻāĻāĻŋ āϏā§āĻā§āϝāĻžāĻ-āĻāĻŋāϤā§āϤāĻŋāĻ āĻāĻžāώāĻžāϝāĻŧ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻŦā§āĻļ āĻ āĻĒā§āϰā§āϤāĻŋāĻāϰ, āϝā§āĻšā§āϤ⧠āϏā§āĻā§āϝāĻžāĻā§āϰ āĻāĻĒāϰ āĻā§ āĻāĻā§ āϤāĻž āĻāĻĒāύāĻžāĻā§ āĻā§āϰāĻŽāĻžāĻāϤ āĻāĻĒāύāĻžāϰ āĻŽāĻžāĻĨāĻžāϝāĻŧ āϰāĻžāĻāϤ⧠āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āĻāϤ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰ⧠āύāĻžāĨ¤
āĻ āϤāĻāĻŦ, āĻāĻŽāĻžāĻĻā§āϰ āĻŽāϤā§, āĻĢāĻŋāĻĢā§āĻā§āϰ āĻ āϏā§āϤāĻŋāϤā§āĻŦā§āϰ āĻāĻāĻŽāĻžāϤā§āϰ āύā§āϝāĻžāϝā§āϝāϤāĻž āĻšāϞ āĻĢāĻŋāĻĢā§āĻ āĻ ā§āϝāĻžāϏā§āĻŽā§āĻŦāϞāĻžāϰā§āϰ āĻšā§āϏā§āĻ āĻāĻžāώāĻž āĻšāĻŋāϏāĻžāĻŦā§ āĻāϰ āĻā§āĻŽāĻŋāĻāĻžāĨ¤ āĻāĻŋāύā§āϤ⧠āĻāĻ āĻāĻāĻŽāĻžāϤā§āϰ āĻāĻĻā§āĻĻā§āĻļā§āϝā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āύāϤā§āύ āĻāĻĻā§āĻāĻžāĻŦāύā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻāĻŋāĻāĻŋāĻāĻŽ āĻ ā§āϝāĻžāϏā§āĻŽā§āĻŦāϞāĻžāϰāĻā§ āĻāĻŋāĻā§ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻāĻžāώāĻžāϝāĻŧ āĻāĻŽā§āĻŦā§āĻĄ āĻāϰāĻž āĻāĻŋ āĻāĻžāϞ āĻšāĻŦā§ āύāĻž?
TVM Haskell eDSL
āĻāĻāύ āĻāĻŽāĻžāĻĻā§āϰ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āϏā§āĻŽāĻžāϰā§āĻ āĻā§āĻā§āϤāĻŋ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻĨāĻž āĻŦāϞāĻžāϰ āϏāĻŽāϝāĻŧāĨ¤ āĻāĻŽāϰāĻž āĻāĻāĻāĻŋ āĻŽāĻžāϞā§āĻāĻŋ-āϏāĻŋāĻāύā§āĻāĻžāϰ āĻāϝāĻŧāĻžāϞā§āĻ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āύāĻŋāϝāĻŧā§āĻāĻŋ, āĻāĻŋāύā§āϤ⧠FunC-āϤ⧠āĻāϰā§āĻāĻāĻŋ āϏā§āĻŽāĻžāϰā§āĻ āĻā§āĻā§āϤāĻŋ āϞā§āĻāĻž āĻā§āĻŦāĻ āĻŦāĻŋāϰāĻā§āϤāĻŋāĻāϰ āĻšāĻŦā§āĨ¤ āĻāĻŽāϰāĻž āĻāĻŋāĻā§ āϏā§āĻŦāĻžāĻĻ āϝā§āĻ āĻāϰāϤ⧠āĻā§āϝāĻŧā§āĻāĻŋāϞāĻžāĻŽ, āĻāĻŦāĻ āĻāĻāĻŋ TVM-āĻāϰ āĻāύā§āϝ āĻāĻŽāĻžāĻĻā§āϰ āύāĻŋāĻāϏā§āĻŦ āϏāĻŽāĻžāĻŦā§āĻļ āĻāĻžāώāĻž āĻāĻŋāϞāĨ¤
āĻĢāĻŋāĻĢā§āĻ āĻ ā§āϝāĻžāϏā§āĻŽā§āĻŦāϞāĻžāϰā§āϰ āĻŽāϤā§, āĻāĻŽāĻžāĻĻā§āϰ āύāϤā§āύ āĻāĻžāώāĻž āĻāĻŽā§āĻŦā§āĻĄ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻāĻŋāύā§āϤ⧠āĻāĻŽāϰāĻž āĻĢāĻŋāĻĢāĻā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻšāĻžāϏāĻā§āϞāĻā§ āĻšā§āϏā§āĻ āĻšāĻŋāϏā§āĻŦā§ āĻŦā§āĻā§ āύāĻŋāϝāĻŧā§āĻāĻŋ, āϝāĻžāϰ āĻĢāϞ⧠āĻāĻŽāϰāĻž āĻāϰ āĻāύā§āύāϤ āϧāϰāύā§āϰ āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āϏā§āĻŦāĻŋāϧāĻž āύāĻŋāϤ⧠āĻĒāĻžāϰāĻŋāĨ¤ āϏā§āĻŽāĻžāϰā§āĻ āĻā§āĻā§āϤāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, āϝā§āĻāĻžāύ⧠āĻāĻŽāύāĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻ āϤā§āϰā§āĻāĻŋāϰ āĻāϰāĻ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻšāϤ⧠āĻĒāĻžāϰā§, āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻāĻžāĻāĻĒāĻŋāĻ, āĻāĻŽāĻžāĻĻā§āϰ āĻŽāϤā§, āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āϏā§āĻŦāĻŋāϧāĻžāĨ¤
Haskell āĻ āĻāĻŽāĻŦā§āĻĄ āĻāϰāĻž TVM āĻ ā§āϝāĻžāϏā§āĻŽā§āĻŦāϞāĻžāϰ āĻĻā§āĻāϤ⧠āĻā§āĻŽāύ āϤāĻž āĻĒā§āϰāĻĻāϰā§āĻļāύ āĻāϰāϤā§, āĻāĻŽāϰāĻž āĻāĻāĻŋāϤ⧠āĻāĻāĻāĻŋ āĻāĻĻāϰā§āĻļ āĻāϝāĻŧāĻžāϞā§āĻ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰā§āĻāĻŋāĨ¤ āĻāĻāĻžāύ⧠āĻŽāύā§āϝā§āĻ āĻĻāĻŋāϤ⧠āĻāϝāĻŧā§āĻāĻāĻŋ āĻŦāĻŋāώāϝāĻŧ āϰāϝāĻŧā§āĻā§:
- āĻāĻ āĻā§āĻā§āϤāĻŋāĻāĻŋ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύ āύāĻŋāϝāĻŧā§ āĻāĻ āĻŋāϤ, āϤāĻŦā§ āĻāĻĒāύāĻŋ āϝāϤ āĻā§āĻļāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻĒāύāĻŋ āϝāĻāύ āĻšā§āϏā§āĻ āϞā§āϝāĻžāĻā§āĻā§āϝāĻŧā§āĻ (āϝā§āĻŽāύ āĻšāĻžāϏā§āĻā§āϞ) āĻāĻāĻāĻŋ āύāϤā§āύ āĻĢāĻžāĻāĻļāύ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰā§āύ, āϤāĻāύ āĻāĻŽāĻžāĻĻā§āϰ eDSL āĻāĻĒāύāĻžāĻā§ āĻāĻāĻŋ āĻŦā§āĻā§ āύāĻŋāϤ⧠āĻĻā§āϝāĻŧ āϝ⧠āĻāĻĒāύāĻŋ āĻāĻāĻŋ āĻāĻŋāĻāĻŋāĻāĻŽ-āĻ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āϰā§āĻāĻŋāύ āĻšāϝāĻŧā§ āĻāĻ āϤ⧠āĻāĻžāύ āύāĻžāĻāĻŋ āĻāϞā§āϰ āĻĒāϝāĻŧā§āύā§āĻā§ āĻā§āĻŦāϞ āĻāύāϞāĻžāĻāύ āĻāϰāϤ⧠āĻāĻžāύāĨ¤
- āĻšāĻžāϏā§āĻā§āϞā§āϰ āĻŽāϤā§, āĻĢāĻžāĻāĻļāύāĻā§āϞāĻŋāϰ āϧāϰāύ āϰāϝāĻŧā§āĻā§ āϝāĻž āĻāĻŽā§āĻĒāĻžāĻāϞā§āϰ āϏāĻŽāϝāĻŧ āĻā§āĻ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻĄāĻŋāĻāϏāĻāϞ-āĻ, āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύā§āϰ āĻāύāĻĒā§āĻ āĻĒā§āϰāĻāĻžāϰāĻāĻŋ āϏā§āĻā§āϝāĻžāĻā§āϰ āĻĒā§āϰāĻāĻžāϰ āϝāĻž āĻĢāĻžāĻāĻļāύāĻāĻŋ āĻĒā§āϰāϤā§āϝāĻžāĻļāĻž āĻāϰ⧠āĻāĻŦāĻ āĻĢāϞāĻžāĻĢāϞā§āϰ āĻĒā§āϰāĻāĻžāϰāĻāĻŋ āĻšāϞ āϏā§āĻā§āϝāĻžāĻā§āϰ āĻĒā§āϰāĻāĻžāϰ āϝāĻž āĻāϞā§āϰ āĻĒāϰ⧠āĻāϤā§āĻĒāĻžāĻĻāĻŋāϤ āĻšāĻŦā§āĨ¤
- āĻā§āĻĄā§ āĻā§āĻāĻž āĻāĻā§
stacktype, āĻāϞ āĻĒāϝāĻŧā§āύā§āĻā§ āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤ āϏā§āĻā§āϝāĻžāĻā§āϰ āĻĒā§āϰāĻāĻžāϰ āĻŦāϰā§āĻŖāύāĻž āĻāϰā§āĨ¤ āĻāϏāϞ āĻāϝāĻŧāĻžāϞā§āĻ āĻā§āĻā§āϤāĻŋāϤ⧠āĻāĻā§āϞāĻŋ āĻā§āĻŦāϞ āĻŽāύā§āϤāĻŦā§āϝ āĻāĻŋāϞ, āĻāĻŋāύā§āϤ⧠āĻāĻŽāĻžāĻĻā§āϰ eDSL-āĻ āĻāĻā§āϞāĻŋ āĻāϏāϞ⧠āĻā§āĻĄā§āϰ āĻ āĻāĻļ āĻāĻŦāĻ āĻāĻŽā§āĻĒāĻžāĻāϞā§āϰ āϏāĻŽāϝāĻŧ āĻā§āĻ āĻāϰāĻž āĻšāϝāĻŧ⧎ āĻāĻā§āϞāĻŋ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻŦāĻž āĻŦāĻŋāĻŦā§āϤāĻŋ āĻšāĻŋāϏāĻžāĻŦā§ āĻĒāϰāĻŋāĻŦā§āĻļāύ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āϝāĻž āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āĻā§ āϏāĻŽāϏā§āϝāĻž āĻā§āĻāĻā§ āĻĒā§āϤ⧠āϏāĻšāĻžāϝāĻŧāϤāĻž āĻāϰ⧠āϝāĻĻāĻŋ āĻā§āĻĄ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻšāϝāĻŧ āĻāĻŦāĻ āϏā§āĻā§āϝāĻžāĻā§āϰ āĻĒā§āϰāĻāĻžāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻšāϝāĻŧāĨ¤ āĻ āĻŦāĻļā§āϝāĻ, āĻāĻ āϧāϰāύā§āϰ āĻā§āĻāĻž āϰāĻžāύāĻāĻžāĻāĻŽ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻĒā§āϰāĻāĻžāĻŦāĻŋāϤ āĻāϰ⧠āύāĻž, āϝā§āĻšā§āϤ⧠āϤāĻžāĻĻā§āϰ āĻāύā§āϝ āĻā§āύ⧠TVM āĻā§āĻĄ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧ āύāĻžāĨ¤ - āĻāĻāĻŋ āĻāĻāύāĻ āĻĻā§āĻ āϏāĻĒā§āϤāĻžāĻšā§āϰ āĻŽāϧā§āϝ⧠āϞā§āĻāĻž āĻāĻāĻāĻŋ āĻĒā§āϰā§āĻā§āĻāĻžāĻāĻĒ, āϤāĻžāĻ āĻĒā§āϰāĻāϞā§āĻĒā§ āĻāĻāύāĻ āĻ āύā§āĻ āĻāĻžāĻ āĻāϰāĻž āĻŦāĻžāĻāĻŋ āĻāĻā§āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āύā§āĻā§āϰ āĻā§āĻĄā§ āĻāĻĒāύāĻŋ āϝ⧠āĻā§āϞāĻžāϏāĻā§āϞāĻŋ āĻĻā§āĻāĻā§āύ āϤāĻžāϰ āϏāĻŽāϏā§āϤ āĻāĻĻāĻžāĻšāϰāĻŖ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āϤā§āϰāĻŋ āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤāĨ¤
āĻāĻŽāĻžāĻĻā§āϰ āĻāĻĄāĻŋāĻāϏāĻāϞ-āĻ āĻāĻāĻāĻŋ āĻŽāĻžāϞā§āĻāĻŋāϏāĻŋāĻ āĻāϝāĻŧāĻžāϞā§āĻā§āϰ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāĻāϰāĻāĻŽ āĻĻā§āĻāĻžāĻā§āĻā§:
main :: IO ()
main = putText $ pretty $ declProgram procedures methods
where
procedures =
[ ("recv_external", decl recvExternal)
, ("recv_internal", decl recvInternal)
]
methods =
[ ("seqno", declMethod getSeqno)
]
data Storage = Storage
{ sCnt :: Word32
, sPubKey :: PublicKey
}
instance DecodeSlice Storage where
type DecodeSliceFields Storage = [PublicKey, Word32]
decodeFromSliceImpl = do
decodeFromSliceImpl @Word32
decodeFromSliceImpl @PublicKey
instance EncodeBuilder Storage where
encodeToBuilder = do
encodeToBuilder @Word32
encodeToBuilder @PublicKey
data WalletError
= SeqNoMismatch
| SignatureMismatch
deriving (Eq, Ord, Show, Generic)
instance Exception WalletError
instance Enum WalletError where
toEnum 33 = SeqNoMismatch
toEnum 34 = SignatureMismatch
toEnum _ = error "Uknown MultiSigError id"
fromEnum SeqNoMismatch = 33
fromEnum SignatureMismatch = 34
recvInternal :: '[Slice] :-> '[]
recvInternal = drop
recvExternal :: '[Slice] :-> '[]
recvExternal = do
decodeFromSlice @Signature
dup
preloadFromSlice @Word32
stacktype @[Word32, Slice, Signature]
-- cnt cs sign
pushRoot
decodeFromCell @Storage
stacktype @[PublicKey, Word32, Word32, Slice, Signature]
-- pk cnt' cnt cs sign
xcpu @1 @2
stacktype @[Word32, Word32, PublicKey, Word32, Slice, Signature]
-- cnt cnt' pk cnt cs sign
equalInt >> throwIfNot SeqNoMismatch
push @2
sliceHash
stacktype @[Hash Slice, PublicKey, Word32, Slice, Signature]
-- hash pk cnt cs sign
xc2pu @0 @4 @4
stacktype @[PublicKey, Signature, Hash Slice, Word32, Slice, PublicKey]
-- pubk sign hash cnt cs pubk
chkSignU
stacktype @[Bool, Word32, Slice, PublicKey]
-- ? cnt cs pubk
throwIfNot SignatureMismatch
accept
swap
decodeFromSlice @Word32
nip
dup
srefs @Word8
pushInt 0
if IsEq
then ignore
else do
decodeFromSlice @Word8
decodeFromSlice @(Cell MessageObject)
stacktype @[Slice, Cell MessageObject, Word8, Word32, PublicKey]
xchg @2
sendRawMsg
stacktype @[Slice, Word32, PublicKey]
endS
inc
encodeToCell @Storage
popRoot
getSeqno :: '[] :-> '[Word32]
getSeqno = do
pushRoot
cToS
preloadFromSlice @Word32āĻāĻŽāĻžāĻĻā§āϰ eDSL āĻāĻŦāĻ āĻŽāĻžāϞā§āĻāĻŋ-āϏāĻŋāĻāύā§āĻāĻžāϰ āĻāϝāĻŧāĻžāϞā§āĻ āĻā§āĻā§āϤāĻŋāϰ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āϏā§āϰā§āϏ āĻā§āĻĄ āĻāĻāĻžāύ⧠āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāĻŦā§ āĻāĻŦāĻ āĻāϰ⧠āĻ āύā§āϤāϰā§āύāĻŋāϰā§āĻŽāĻŋāϤ āĻāĻžāώāĻž āϏāĻŽā§āĻĒāϰā§āĻā§, āĻāĻŽāĻžāĻĻā§āϰ āϏāĻšāĻāϰā§āĻŽā§ āĻāϰā§āĻāĻŋ āĻāĻāĻžāĻĒā§āĻāĨ¤
āĻĒā§āϰāϤāĻŋāϝā§āĻāĻŋāϤāĻž āĻāĻŦāĻ TON āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻĒāϏāĻāĻšāĻžāϰ
āĻŽā§āĻ, āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāĻā§ āϞā§āĻā§āĻā§ 380 āĻāύā§āĻāĻž (āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ, āĻŽāĻŋāĻāĻŋāĻ āĻāĻŦāĻ āĻĒā§āϰāĻā§āϤ āĻāύā§āύāϝāĻŧāύā§āϰ āϏāĻžāĻĨā§ āĻĒāϰāĻŋāĻāĻŋāϤāĻŋ āϏāĻš)āĨ¤ āĻĒā§āϰāϤāĻŋāϝā§āĻāĻŋāϤāĻžāĻŽā§āϞāĻ āĻĒā§āϰāĻāϞā§āĻĒā§ āĻĒāĻžāĻāĻāĻāύ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰ⧠āĻ āĻāĻļ āύāĻŋāϝāĻŧā§āĻāĻŋāϞ: CTO, āĻĻāϞā§āϰ āύā§āϤā§āϤā§āĻŦ, āĻŦā§āϞāĻāĻā§āĻāύ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ āĻŦāĻŋāĻļā§āώāĻā§āĻ āĻāĻŦāĻ Haskell āϏāĻĢā§āĻāĻāϝāĻŧā§āϝāĻžāϰ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āĨ¤
āĻāĻŽāϰāĻž āĻā§āύ⧠āĻ āϏā§āĻŦāĻŋāϧāĻž āĻāĻžāĻĄāĻŧāĻžāĻ āĻĒā§āϰāϤāĻŋāϝā§āĻāĻŋāϤāĻžāϝāĻŧ āĻ āĻāĻļāĻā§āϰāĻšāĻŖā§āϰ āĻāύā§āϝ āϏāĻŽā§āĻĒāĻĻ āĻā§āĻāĻā§ āĻĒā§āϝāĻŧā§āĻāĻŋ, āϝā§āĻšā§āϤ⧠āĻšā§āϝāĻžāĻāĻžāĻĨāύā§āϰ āĻā§āϤāύāĻž, āĻāύāĻŋāώā§āĻ āĻĻāϞāĻŦāĻĻā§āϧ āĻāĻžāĻ, āĻāĻŦāĻ āύāϤā§āύ āĻĒā§āϰāϝā§āĻā§āϤāĻŋāϰ āĻĻāĻŋāĻāĻā§āϞāĻŋāϤ⧠āĻĻā§āϰā§āϤ āύāĻŋāĻā§āĻā§ āύāĻŋāĻŽāĻā§āĻāĻŋāϤ āĻāϰāĻžāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āϏāĻŦāϏāĻŽāϝāĻŧāĻ āĻāϤā§āϤā§āĻāύāĻžāĻĒā§āϰā§āĻŖāĨ¤ āϏā§āĻŽāĻŋāϤ āϏāĻŽā§āĻĒāĻĻā§āϰ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤ⧠āϏāϰā§āĻŦāĻžāϧāĻŋāĻ āĻĢāϞāĻžāĻĢāϞ āĻ āϰā§āĻāύā§āϰ āĻāύā§āϝ āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āύāĻŋāĻĻā§āϰāĻžāĻšā§āύ āϰāĻžāϤ āĻ āĻŽā§āϞā§āϝ āĻ āĻāĻŋāĻā§āĻāϤāĻž āĻāĻŦāĻ āĻĻā§āϰā§āĻĻāĻžāύā§āϤ āϏā§āĻŽā§āϤāĻŋ āĻĻā§āĻŦāĻžāϰāĻž āĻā§āώāϤāĻŋāĻĒā§āϰāĻŖ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧāĨ¤ āĻāĻĒāϰāύā§āϤā§, āĻāĻ āϧāϰāύā§āϰ āĻāĻžāĻāĻā§āϞāĻŋāϤ⧠āĻāĻžāĻ āĻāϰāĻž āϏāϰā§āĻŦāĻĻāĻž āĻā§āĻŽā§āĻĒāĻžāύāĻŋāϰ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋ āĻāĻžāϞ āĻĒāϰā§āĻā§āώāĻž, āϝā§āĻšā§āϤ⧠āĻāĻžāϞāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰāĻž āĻ āĻā§āϝāύā§āϤāϰā§āĻŖ āĻŽāĻŋāĻĨāϏā§āĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāĻĄāĻŧāĻž āϏāϤā§āϝāĻŋāĻāĻžāϰā§āϰ āĻļāĻžāϞā§āύ āĻĢāϞāĻžāĻĢāϞ āĻ āϰā§āĻāύ āĻāϰāĻž āĻ āϤā§āϝāύā§āϤ āĻāĻ āĻŋāύāĨ¤
āĻāĻžāύā§āϰ āĻāĻĨāĻž āĻāĻāĻĒāĻžāĻļā§: TON āĻāĻŋāĻŽ āϝ⧠āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻāĻžāĻ āĻāϰā§āĻā§ āϤāĻžāϤ⧠āĻāĻŽāϰāĻž āĻŽā§āĻā§āϧ āĻšāϝāĻŧā§āĻāĻŋāĨ¤ āϤāĻžāϰāĻž āĻāĻāĻāĻŋ āĻāĻāĻŋāϞ, āϏā§āύā§āĻĻāϰ āĻāĻŦāĻ āϏāĻŦāĻā§āϝāĻŧā§ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰāĻžāϰ āϏāĻŋāϏā§āĻā§āĻŽ āϤā§āϰāĻŋ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤ TON āύāĻŋāĻā§āĻā§ āĻ āύā§āĻ āϏāĻŽā§āĻāĻžāĻŦāύāĻžāϰ āϏāĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ āĻšāĻŋāϏāĻžāĻŦā§ āĻĒā§āϰāĻŽāĻžāĻŖ āĻāϰā§āĻā§āĨ¤ āϝāĻžāĻāĻšā§āĻ, āĻāĻ āĻŦāĻžāϏā§āϤā§āϤāύā§āϤā§āϰā§āϰ āĻŦāĻŋāĻāĻžāĻļā§āϰ āĻāύā§āϝ, āĻŦā§āϞāĻāĻā§āĻāύ āĻĒā§āϰāĻāϞā§āĻĒā§ āĻāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻŦāĻ āĻāύā§āύāϝāĻŧāύ āϏāϰāĻā§āĻāĻžāĻŽāĻā§āϞāĻŋāϰ āĻāύā§āύāϤāĻŋāϰ āĻā§āώā§āϤā§āϰ⧠āĻāĻāϝāĻŧ āĻā§āώā§āϤā§āϰā§āĻ āĻāϰāĻ āĻ āύā§āĻ āĻāĻŋāĻā§ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻŽāϰāĻž āĻāĻāύ āĻāĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāϰ āĻ āĻāĻļ āĻšāϤ⧠āĻĒā§āϰ⧠āĻāϰā§āĻŦāĻŋāϤāĨ¤
āĻāĻ āύāĻŋāĻŦāύā§āϧāĻāĻŋ āĻĒāĻĄāĻŧāĻžāϰ āĻĒāϰā§āĻ āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āĻā§āύ⧠āĻĒā§āϰāĻļā§āύ āĻĨāĻžāĻā§ āĻŦāĻž āĻāĻĒāύāĻžāϰ āϏāĻŽāϏā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύā§āϰ āĻāύā§āϝ TON āĻā§āĻāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŦā§āύ āϏ⧠āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻĒāύāĻžāϰ āϧāĻžāϰāĻŖāĻž āĻĨāĻžāĻā§, â āĻāĻŽāϰāĻž āĻāĻŽāĻžāĻĻā§āϰ āĻ āĻāĻŋāĻā§āĻāϤāĻž āĻļā§āϝāĻŧāĻžāϰ āĻāϰāϤ⧠āĻĒā§āϰ⧠āĻā§āĻļāĻŋ āĻšāĻŦāĨ¤
āĻāϤā§āϏ: www.habr.com
