рдПрдХ рд╕рд╛рд▓ рд╕реЗ рднреА рдЕрдзрд┐рдХ рд╕рдордп рдкрд╣рд▓реЗ, рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореИрд╕реЗрдВрдЬрд░ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╡рд┐рдХреЗрдиреНрджреНрд░реАрдХреГрдд рдиреЗрдЯрд╡рд░реНрдХ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдУрдкрди рдиреЗрдЯрд╡рд░реНрдХ. рдлрд┐рд░ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рддрдХрдиреАрдХреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЙрдкрд▓рдмреНрдз рд╣реБрдЖ, рдЬреЛ рдХрдерд┐рдд рддреМрд░ рдкрд░ рдирд┐рдХреЛрд▓рд╛рдИ рдбреБрд░реЛрд╡ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЬреЛ рд▓реЛрдЧ рдЗрд╕реЗ рджреЗрдЦрдиреЗ рд╕реЗ рдЪреВрдХ рдЧрдП, рдЙрдирдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рджреЛрдмрд╛рд░рд╛ рдХрд╣реА рдЧрдИ рдмрд╛рддреЗрдВ рдкрдврд╝реЗрдВ (
рддрдм рд╕реЗ, рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ (рдПрдХ рдореЗрдВ) рддрдХ TON рд╡рд┐рдХрд╛рд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЦрдмрд░ рдирд╣реАрдВ рдЖрдИ рд╣реИ
тЧж
тЧж
тЧж
тЧж
тЧж
тЧж
тЧж
тЧж
рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ, рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕реЗ рдкреЗрдЬ рдФрд░ рдЗрди рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреА рдорд╛рддреНрд░рд╛ рдЙрдиреНрд╣реЗрдВ рдХрд╛рдлреА рдкреНрд░рд╢рдВрд╕рдиреАрдп рдмрдирд╛рддреА рд╣реИред рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреНрд▓рд╛рдЗрдВрдЯ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдЕрдкрдиреЗ рдЬреЛрдЦрд┐рдо рдкрд░.
рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреНрд▓рд╛рдЗрдВрдЯ рдмрдирд╛рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ - рд╕реМрднрд╛рдЧреНрдп рд╕реЗ,
-
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЕрдирдкреИрдХ рдХрд░реЗрдВ
рд╕реНрд░реЛрдд рдкреБрд░рд╛рд▓реЗрдЦ . рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдмреИрдХрд╡рд░реНрдб рд╕рдВрдЧрддрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИред -
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдореЗрдХ, рд╕реЗрдореЗрдХ (рд╕рдВрд╕реНрдХрд░рдг 3.0.2 рдпрд╛ рдЙрдЪреНрдЪрддрд░), рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ (рд╕реА рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕рд╣рд┐рдд), рдЬреА++ рдпрд╛ рдХреНрд▓реИрдВрдЧ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВред рдореБрдЭреЗ рдХреБрдЫ рднреА рдЗрдВрд╕реНрдЯреЙрд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рд╕рдм рдХреБрдЫ рддреБрд░рдВрдд рдПрдХ рд╕рд╛рде рдЖ рдЧрдпрд╛ред
-
рдЖрдЗрдП рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╕реНрд░реЛрдд рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрдирдкреЕрдХ рдХрд┐рдП рдЧрдП рд╣реИрдВ
~/lite-client
. рдЗрд╕рд╕реЗ рдЕрд▓рдЧ, рдЗрдХрдЯреНрдареЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд╛рд▓реА рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,~/liteclient-build
), рдФрд░ рдЗрд╕рд╕реЗ (cd ~/liteclient-build
) рдЖрджреЗрд╢реЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ:cmake ~/lite-client cmake --build . --target test-lite-client
рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдлрд┐рдлреНрдЯ рднрд╛рд╖рд╛ рджреБрднрд╛рд╖рд┐рдпрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдиреАрдЪреЗ рджреА рдЧрдИ рд╣реИ), рд╣рдо рднреА рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВcmake --build . --target fift
-
рд╡рд░реНрддрдорд╛рди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓ рдкрд░реАрдХреНрд╖рдг рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЕрд╕реЗрдВрдмрд▓ рдХрд┐рдП рдЧрдП рдХреНрд▓рд╛рдЗрдВрдЯ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдПред -
рдЕрдВрдд, рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рд╛рд░рдВрдн рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
./test-lite-client -C ton-lite-client-test1.config.json
рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреБрдЫ рд╣реА рдХрдорд╛рдВрдб рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
тЧж help
- рдЖрджреЗрд╢реЛрдВ рдХреА рдЗрд╕ рд╕реВрдЪреА рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ;
тЧж quit
- рдмрд╛рд╣рд░ рдЬрд╛рдУ;
тЧж time
- рд╕рд░реНрд╡рд░ рдкрд░ рд╡рд░реНрддрдорд╛рди рд╕рдордп рджрд┐рдЦрд╛рдПрдВ;
тЧж status
- рдХрдиреЗрдХреНрд╢рди рдФрд░ рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рдПрдВ;
тЧж last
- рдмреНрд▓реЙрдХрдЪреЗрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ (рдЕрдВрддрд┐рдо рдмреНрд▓реЙрдХ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ)ред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдк рдиреЗрдЯрд╡рд░реНрдХ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рдХрд┐рд╕реА рднреА рдЕрдиреБрд░реЛрдз рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
тЧж sendfile
<filename>
тАФ TON рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реЗрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдП рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдзреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЦрд╛рддреЛрдВ рдХреЗ рдмреАрдЪ рдзрди рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз;
тЧж getaccount
<address>
- рд╡рд░реНрддрдорд╛рди рджрд┐рдЦрд╛рдПрдВ (рдЬрд┐рд╕ рд╕рдордп рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) last
) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрддреЗ рдХреЗ рд╕рд╛рде рдЦрд╛рддреЗ рдХреА рд╕реНрдерд┐рддрд┐;
тЧж privkey
<filename>
- рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдирд┐рдЬреА рдХреБрдВрдЬреА рд▓реЛрдб рдХрд░реЗрдВред
рдпрджрд┐, рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╕рдордп, рдЖрдк рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕рдореЗрдВ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ -D
, рдлрд┐рд░ рд╡рд╣ рдЗрд╕рдореЗрдВ рдорд╛рд╕реНрдЯрд░рдЪреЗрди рдХрд╛ рдЕрдВрддрд┐рдо рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝ рджреЗрдЧрд╛:
./test-lite-client -C ton-lite-client-test1.config.json -D ~/ton-db-dir
рдЕрдм рд╣рдо рдФрд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЛрдВ рдХреА рдУрд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ - рдлрд┐рдлреНрдЯ рднрд╛рд╖рд╛ рд╕реАрдЦреЗрдВ, рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╡реЙрд▓реЗрдЯ рдмрдирд╛рдПрдВ), рдЗрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЦрд╛рддреЛрдВ рдХреЗ рдмреАрдЪ рдзрди рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рднрд╛рд╖рд╛ рдкрд╛рдБрдЪрд╡реАрдВ
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИ, 87 рдкреГрд╖реНрда, рдФрд░ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЛрдмрд╛рд░рд╛ рдирд╣реАрдВ рдмрддрд╛рдКрдВрдЧрд╛ (рдХрдо рд╕реЗ рдХрдо рдЗрд╕рд▓рд┐рдП рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдкрдврд╝рдирд╛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ :)ред рдореИрдВ рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЗрд╕ рднрд╛рд╖рд╛ рдореЗрдВ рдХреБрдЫ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред
рдмреБрдирд┐рдпрд╛рджреА рд╕реНрддрд░ рдкрд░, рдлрд┐рдлреНрдЯ рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: рдЗрд╕рдХреЗ рдХреЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рд╢рдмреНрдж, рдЖрдорддреМрд░ рдкрд░ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдпрд╛ рд▓рд╛рдЗрди рдмреНрд░реЗрдХ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ: рдХреБрдЫ рд╢рдмреНрджреЛрдВ рдХреЛ рдЕрдкрдиреЗ рдмрд╛рдж рд╡рд┐рднрд╛рдЬрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ)ред рдХреЛрдИ рд╢рдмреНрдж рд╡рд░реНрдгреЛрдВ рдХрд╛ рдПрдХ рдХреЗрд╕-рд╕рдВрд╡реЗрджреА рдЕрдиреБрдХреНрд░рдо рд╣реИ рдЬреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдкрд░рд┐рднрд╛рд╖рд╛ (рдореЛрдЯреЗ рддреМрд░ рдкрд░, рдЬрдм рджреБрднрд╛рд╖рд┐рдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдЗрд╕ рд╢рдмреНрдж рд╕реЗ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдЙрд╕реЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП)ред рдпрджрд┐ рдХрд┐рд╕реА рд╢рдмреНрдж рдХреА рдХреЛрдИ рдкрд░рд┐рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рджреБрднрд╛рд╖рд┐рдпрд╛ рдЙрд╕реЗ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдФрд░ рд╕реНрдЯреИрдХ рдкрд░ рд░рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдпрд╣рд╛рдБ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реИрдВ - рдЕрдЪрд╛рдирдХ - 257-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ, рдФрд░ рдХреЛрдИ рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реИрдВ - рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рд╡реЗ рддреБрд░рдВрдд рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдПрдХ рддрд░реНрдХрд╕рдВрдЧрдд рднрд┐рдиреНрди рдХрд╛ рдЕрдВрд╢ рдФрд░ рд╣рд░ рдмрдирддрд╛ рд╣реИред
рд╢рдмреНрдж рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░рд╕реНрдкрд░ рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╢рдмреНрдж - рдЙрдкрд╕рд░реНрдЧ - рд╕реНрдЯреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдмрд╛рдж рдХреЗ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрдХреНрд╖рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ - рдЙрджреНрдзрд░рдг рд╡рд░реНрдг ("
) рдПрдХ рдЙрдкрд╕рд░реНрдЧ рд╢рдмреНрдж рд╣реИ рдЬреЛ рдЕрдЧрд▓реЗ (рд╕рдорд╛рдкрди) рдЙрджреНрдзрд░рдг рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдХреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рдзрдХреЗрд▓рддрд╛ рд╣реИред рд╡рди-рд▓рд╛рдЗрдирд░ рдЙрд╕реА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ (//
) рдФрд░ рдорд▓реНрдЯреАрд▓рд╛рдЗрди (/*
) рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБред
рдпрд╣реАрдВ рдкрд░ рднрд╛рд╖рд╛ рдХреА рд▓рдЧрднрдЧ рд╕рдВрдкреВрд░реНрдг рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ (рдирд┐рдпрдВрддреНрд░рдг рд╕рдВрд░рдЪрдирд╛рдУрдВ рд╕рд╣рд┐рдд) рдХреЛ рд╢рдмреНрджреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╛ рддреЛ рдЖрдВрддрд░рд┐рдХ, рдЬреИрд╕реЗ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдирдП рд╢рдмреНрджреЛрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛; рдпрд╛ "рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп" рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд) Fift.fif
, рдЬреЛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИ crypto/fift
рд╕реВрддреНрд░реЛрдВ рдореЗрдВ)
Fift рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдкреНрд░реЛрдЧреНрд░рд╛рдо:
{ dup =: x dup * =: y } : setxy
3 setxy x . y . x y + .
7 setxy x . y . x y + .
рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдПрдХ рдирдпреЗ рд╢рдмреНрдж рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ setxy
(рдЙрдкрд╕рд░реНрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ {
, рдЬреЛ рд╕рдорд╛рдкрди рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдмреНрд▓реЙрдХ рдмрдирд╛рддрд╛ рд╣реИ }
рдФрд░ рдЙрдкрд╕рд░реНрдЧ :
, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рдмреНрдж рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ)ред setxy
рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рд╕реЗ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд▓реЗрддрд╛ рд╣реИ, рдЗрд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд (рдпрд╛ рдкреБрдирдГ рдкрд░рд┐рднрд╛рд╖рд┐рдд) рдХрд░рддрд╛ рд╣реИ рд╕реНрдерд┐рд░ x
, рдФрд░ рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╡рд░реНрдЧ рдПрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ y
(рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЪрд░ рдХрд╣реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рднрд╛рд╖рд╛ рдореЗрдВ рдирд╛рдордХрд░рдг рдкрд░рдВрдкрд░рд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реВрдВ)ред
рдЕрдЧрд▓реА рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реНрдЯреИрдХ рдкрд░ рдПрдХ рдирдВрдмрд░ рдбрд╛рд▓реЗрдВ рдФрд░ рдХреЙрд▓ рдХрд░реЗрдВ setxy
, рддреЛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рдорд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ x
, y
(рдпрд╣ рд╢рдмреНрдж рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ .
), рджреЛрдиреЛрдВ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рднреА рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ:
3 9 12 ok
7 49 56 ok
(рд▓рд╛рдЗрди "рдУрдХреЗ" рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЗрдирдкреБрдЯ рдореЛрдб рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд▓рд╛рдЗрди рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рджреБрднрд╛рд╖рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдореБрджреНрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ)
рдЦреИрд░, рдПрдХ рдкреВрд░реНрдг рдХреЛрдб рдЙрджрд╛рд╣рд░рдг:
"Asm.fif" include
-1 constant wc // create a wallet in workchain -1 (masterchain)
// Create new simple wallet
<{ SETCP0 DUP IFNOTRET INC 32 THROWIF // return if recv_internal, fail unless recv_external
512 INT LDSLICEX DUP 32 PLDU // sign cs cnt
c4 PUSHCTR CTOS 32 LDU 256 LDU ENDS // sign cs cnt cnt' pubk
s1 s2 XCPU // sign cs cnt pubk cnt' cnt
EQUAL 33 THROWIFNOT // ( seqno mismatch? )
s2 PUSH HASHSU // sign cs cnt pubk hash
s0 s4 s4 XC2PU // pubk cs cnt hash sign pubk
CHKSIGNU // pubk cs cnt ?
34 THROWIFNOT // signature mismatch
ACCEPT
SWAP 32 LDU NIP
DUP SREFS IF:<{
8 LDU LDREF // pubk cnt mode msg cs
s0 s2 XCHG SENDRAWMSG // pubk cnt cs ; ( message sent )
}>
ENDS
INC NEWC 32 STU 256 STU ENDC c4 POPCTR
}>c
// code
<b 0 32 u,
newkeypair swap dup constant wallet_pk
"new-wallet.pk" B>file
B,
b> // data
// no libraries
<b b{00110} s, rot ref, swap ref, b> // create StateInit
dup ."StateInit: " <s csr. cr
dup hash dup constant wallet_addr
."new wallet address = " wc . .": " dup x. cr
wc over 7 smca>$ type cr
256 u>B "new-wallet.addr" B>file
<b 0 32 u, b>
dup ."signing message: " <s csr. cr
dup hash wallet_pk ed25519_sign_uint rot
<b b{1000100} s, wc 8 i, wallet_addr 256 u, b{000010} s, swap <s s, b{0} s, swap B, swap <s s, b>
dup ."External message for initialization is " <s csr. cr
2 boc+>B dup Bx. cr
"new-wallet-query.boc" tuck B>file
."(Saved to file " type .")" cr
рдпрд╣ рдбрд░рд╛рд╡рдиреА рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ - рдЗрд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ new-wallet-query.boc
рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд╛рдж. рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣рд╛рдВ TON рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреНрдп рдЕрд╕реЗрдВрдмрд▓реА рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдореИрдВ рдЗрд╕ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреВрдВрдЧрд╛), рдЬрд┐рд╕рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдмреНрд▓реЙрдХрдЪреЗрди рдкрд░ рд░рдЦреЗ рдЬрд╛рдПрдВрдЧреЗред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЯреАрд╡реАрдПрдо рдХреЗ рд▓рд┐рдП рдЕрд╕реЗрдВрдмрд▓рд░ рдлрд┐рдлреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ - рдЗрд╕ рдЕрд╕реЗрдВрдмрд▓рд░ рдХреЗ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИрдВ crypto/fift/Asm.fif
рдФрд░ рдХреЛрдб рдХреЗ рдЙрдкрд░реЛрдХреНрдд рднрд╛рдЧ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред
рдореИрдВ рдХреНрдпрд╛ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдирд┐рдХреЛрд▓рд╛рдИ рдбреНрдпреВрд░реЛрд╡ рдХреЛ рдирдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдПрдВ рдмрдирд╛рдирд╛ рдкрд╕рдВрдж рд╣реИ :)
рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдмрдирд╛рдирд╛ рдФрд░ TON рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдирд╛
рддреЛ, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдордиреЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдЕрдиреБрд╕рд╛рд░ TON рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рдлрд┐рдлреНрдЯ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рднрд╛рд╖рд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рдЧрдП рд╣реИрдВред рдЕрдм рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ? рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ
TON рдореЗрдВ рдЦрд╛рддреЗ
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ
рдПрдХ рдХрд╛рд░реНрдпрд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рднреАрддрд░, рдХрдИ рдЦрд╛рддреЗ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЦрд╛рддрд╛_рдЖрдИрдбреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реЛрддреЗ рд╣реИрдВред рдорд╛рд╕реНрдЯрд░ рдЪреЗрди рдФрд░ рд╢реВрдиреНрдп рдХрд╛рд░реНрдп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП, рд╡реЗ 256 рдмрд┐рдЯ рд▓рдВрдмреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЦрд╛рддрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ:
-1:8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d
рдпрд╣ "рдХрдЪреНрдЪрд╛" рдкреНрд░рд╛рд░реВрдк рд╣реИ: рдкрд╣рд▓реЗ рд╡рд░реНрдХрдЪреЗрди рдЖрдИрдбреА, рдлрд┐рд░ рдПрдХ рдХреЛрд▓рди, рдФрд░ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдиреЛрдЯреЗрд╢рди рдореЗрдВ рдЦрд╛рддрд╛ рдЖрдИрдбреАред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкреНрд░рд╛рд░реВрдк рд╣реИ - рд╡рд░реНрдХрдЪреЗрди рдирдВрдмрд░ рдФрд░ рдЦрд╛рддрд╛ рдкрддрд╛ рдмрд╛рдЗрдирд░реА рдлреЙрд░реНрдо рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдХ рдЪреЗрдХрд╕рдо рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдм рдмреЗрд╕ 64 рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
Ef+BVndbeTJeXWLnQtm5bDC2UVpc0vH2TF2ksZPAPwcODSkb
рдЗрд╕ рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рд╛рд░реВрдк рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рд╕реА рдЦрд╛рддреЗ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
getaccount -1:8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d
рд╣рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдорд┐рд▓реЗрдЧрд╛:
[ 3][t 2][1558746708.815218925][test-lite-client.cpp:631][!testnode] requesting account state for -1:8156775B79325E5D62E742D9B96C30B6515A5CD2F1F64C5DA4B193C03F070E0D
[ 3][t 2][1558746708.858564138][test-lite-client.cpp:652][!testnode] got account state for -1:8156775B79325E5D62E742D9B96C30B6515A5CD2F1F64C5DA4B193C03F070E0D with respect to blocks (-1,8000000000000000,72355):F566005749C1B97F18EDE013EBA7A054B9014961BC1AD91F475B9082919A2296:1BD5DE54333164025EE39D389ECE2E93DA2871DA616D488253953E52B50DC03F and (-1,8000000000000000,72355):F566005749C1B97F18EDE013EBA7A054B9014961BC1AD91F475B9082919A2296:1BD5DE54333164025EE39D389ECE2E93DA2871DA616D488253953E52B50DC03F
account state is (account
addr:(addr_std
anycast:nothing workchain_id:-1 address:x8156775B79325E5D62E742D9B96C30B6515A5CD2F1F64C5DA4B193C03F070E0D)
storage_stat:(storage_info
used:(storage_used
cells:(var_uint len:1 value:3)
bits:(var_uint len:2 value:539)
public_cells:(var_uint len:0 value:0)) last_paid:0
due_payment:nothing)
storage:(account_storage last_trans_lt:74208000003
balance:(currencies
grams:(nanograms
amount:(var_uint len:7 value:999928362430000))
other:(extra_currencies
dict:hme_empty))
state:(account_active
(
split_depth:nothing
special:nothing
code:(just
value:(raw@^Cell
x{}
x{FF0020DDA4F260D31F01ED44D0D31FD166BAF2A1F80001D307D4D1821804A817C80073FB0201FB00A4C8CB1FC9ED54}
))
data:(just
value:(raw@^Cell
x{}
x{0000000D}
))
library:hme_empty))))
x{CFF8156775B79325E5D62E742D9B96C30B6515A5CD2F1F64C5DA4B193C03F070E0D2068086C000000000000000451C90E00DC0E35B7DB5FB8C134_}
x{FF0020DDA4F260D31F01ED44D0D31FD166BAF2A1F80001D307D4D1821804A817C80073FB0201FB00A4C8CB1FC9ED54}
x{0000000D}
рд╣рдо рд╡рд╣ рд╕рдВрд░рдЪрдирд╛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд░реНрдХрдЪреЗрди рдХреЗ DHT рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд╖реЗрддреНрд░ рдореЗрдВ storage.balance
рдЪрд╛рд▓реВ рдЦрд╛рддрд╛ рд╢реЗрд╖ рд╣реИ, рдореЗрдВ storage.state.code
- рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдХреЛрдб, рдФрд░ рдореЗрдВ storage.state.data
- рдЗрд╕рдХрд╛ рд╡рд░реНрддрдорд╛рди рдбреЗрдЯрд╛. рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ TON рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ - рд╕реЗрд▓, рд╕реЗрд▓ - рдкреЗрдбрд╝ рдХреА рддрд░рд╣ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдореЗрдВ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рдФрд░ рдЪрд╛рдЗрд▓реНрдб рд╕реЗрд▓ рджреЛрдиреЛрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕реЗ рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХрд╛ рдирд┐рд░реНрдорд╛рдг
рдЖрдЗрдП рдЕрдм рдРрд╕реА рд╕рдВрд░рдЪрдирд╛ рд╕реНрд╡рдпрдВ рдмрдирд╛рдПрдВ (рдЗрд╕реЗ рдмреАрдУрд╕реА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ - рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдереИрд▓рд╛) рдкрд╛рдБрдЪрд╡реАрдВ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЖрдкрдХреЛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрд╡рдпрдВ рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ crypto/block
рд╕реНрд░реЛрдд рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИ new-wallet.fif
, рдЬреЛ рд╣рдореЗрдВ рдПрдХ рдирдпрд╛ рд╡реЙрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рдЖрдЗрдП рдЗрд╕реЗ рдЕрд╕реЗрдВрдмрд▓ рдХрд┐рдП рдЧрдП рдХреНрд▓рд╛рдЗрдВрдЯ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ (~/liteclient-build
, рдпрджрд┐ рдЖрдкрдиреЗ рдКрдкрд░ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рд╣реИ)ред рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдлрд┐рдлреНрдЯ рдкрд░ рдХреЛрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрджреНрдзреГрдд рдХрд┐рдпрд╛ рд╣реИред
рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
./crypto/fift -I"<source-directory>/crypto/fift" new-wallet.fif
рдпрд╣рд╛рдВ <source-directory>
рдЕрдирдкреИрдХреНрдб рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдкрде рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, "~" рдкреНрд░рддреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдкреВрд░реНрдг рдкрде рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ -I
рдЖрдк рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ FIFTPATH
рдФрд░ рдЗрд╕ рдкрде рдХреЛ рдЗрд╕рдореЗрдВ рдбрд╛рд▓реЗрдВ.
рдЪреВрдБрдХрд┐ рд╣рдордиреЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рд╕рд╛рде Fift рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рд╣реИ new-wallet.fif
, рдпрд╣ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд░реВрдк рд╕реЗ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд╛рдж, рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
StateInit: x{34_}
x{FF0020DDA4F260810200D71820D70B1FED44D0D31FD3FFD15112BAF2A122F901541044F910F2A2F80001D31F3120D74A96D307D402FB00DED1A4C8CB1FCBFFC9ED54}
x{0000000055375F730EDC2292E8CB15C42E8036EE9C25AA958EE002D2DE48A205E3A3426B}
new wallet address = -1 : 4fcd520b8fcca096b567d734be3528edc6bed005f6930a9ec9ac1aa714f211f2
0f9PzVILj8yglrVn1zS-NSjtxr7QBfaTCp7JrBqnFPIR8nhZ
signing message: x{00000000}
External message for initialization is x{89FEE120E20C7E953E31546F64C23CD654002C1AA919ADD24DB12DDF85C6F3B58AE41198A28AD8DAF3B9588E7A629252BA3DB88F030D00BC1016110B2073359EAC3C13823C53245B65D056F2C070B940CDA09789585935C7ABA4D2AD4BED139281CFA1200000001_}
x{FF0020DDA4F260810200D71820D70B1FED44D0D31FD3FFD15112BAF2A122F901541044F910F2A2F80001D31F3120D74A96D307D402FB00DED1A4C8CB1FCBFFC9ED54}
x{0000000055375F730EDC2292E8CB15C42E8036EE9C25AA958EE002D2DE48A205E3A3426B}
B5EE9C724104030100000000D60002CF89FEE120E20C7E953E31546F64C23CD654002C1AA919ADD24DB12DDF85C6F3B58AE41198A28AD8DAF3B9588E7A629252BA3DB88F030D00BC1016110B2073359EAC3C13823C53245B65D056F2C070B940CDA09789585935C7ABA4D2AD4BED139281CFA1200000001001020084FF0020DDA4F260810200D71820D70B1FED44D0D31FD3FFD15112BAF2A122F901541044F910F2A2F80001D31F3120D74A96D307D402FB00DED1A4C8CB1FCBFFC9ED5400480000000055375F730EDC2292E8CB15C42E8036EE9C25AA958EE002D2DE48A205E3A3426B6290698B
(Saved to file new-wallet-query.boc)
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдИрдбреА рд╡рд╛рд▓рд╛ рд╡реЙрд▓реЗрдЯ -1:4fcd520b8fcca096b567d734be3528edc6bed005f6930a9ec9ac1aa714f211f2
(рдпрд╛, рд╡рд╣реА рдХреНрдпрд╛ рд╣реИ, 0f9PzVILj8yglrVn1zS-NSjtxr7QBfaTCp7JrBqnFPIR8nhZ
) рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдирд╛рдпрд╛ рдЧрдпрд╛. рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛрдЧрд╛ new-wallet-query.boc
, рдЙрд╕рдХрд╛ рдкрддрд╛ рд╣реИ new-wallet.addr
, рдФрд░ рдирд┐рдЬреА рдХреБрдВрдЬреА рдЕрдВрджрд░ рд╣реИ new-wallet.pk
(рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ - рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдпреЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рдУрд╡рд░рд░рд╛рдЗрдЯ рд╣реЛ рдЬрд╛рдПрдВрдЧреА)ред
рдмреЗрд╢рдХ, TON рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдЕрднреА рддрдХ рдЗрд╕ рд╡реЙрд▓реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ; рдпрд╣ рдХреЗрд╡рд▓ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдЕрдм рдЗрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдХрдореАрд╢рди рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЖрдкрдХреЗ рдЦрд╛рддреЗ рдХреА рд╢реЗрд╖ рд░рд╛рд╢рд┐ рдЕрднреА рднреА рд╢реВрдиреНрдп рд╣реИред
рдХрд╛рд░реНрдпрд╢реАрд▓ рдореЛрдб рдореЗрдВ, рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкрд░ рдЧреНрд░рд╛рдо рдЦрд░реАрджрдХрд░ (рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡реЙрд▓реЗрдЯ рд╕реЗ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдХреЗ) рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЦреИрд░, рд╡рд░реНрддрдорд╛рди рдкрд░реАрдХреНрд╖рдг рдореЛрдб рдореЗрдВ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдРрд╕реЗ рд╣реА 20 рдЧреНрд░рд╛рдо рддрдХ рдорд╛рдВрдЧ рд╕рдХрддреЗ рд╣реИрдВред
рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЗ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛
рд╣рдо рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЧреНрд░рд╛рдо рдХреЛ рдЗрд╕ рддрд░рд╣ рдмрд╛рдПрдБ рдФрд░ рджрд╛рдПрдБ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЙрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ crypto/block
рдлрд╝рд╛рдЗрд▓ рдвреВрдВрдвреЗ testgiver.fif
:
// "testgiver.addr" file>B 256 B>u@
0x8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d
dup constant wallet_addr ."Test giver address = " x. cr
0x4fcd520b8fcca096b567d734be3528edc6bed005f6930a9ec9ac1aa714f211f2
constant dest_addr
-1 constant wc
0x00000011 constant seqno
1000000000 constant Gram
{ Gram swap */ } : Gram*/
6.666 Gram*/ constant amount
// b x --> b' ( serializes a Gram amount )
{ -1 { 1+ 2dup 8 * ufits } until
rot over 4 u, -rot 8 * u, } : Gram,
// create a message (NB: 01b00.., b = bounce)
<b b{010000100} s, wc 8 i, dest_addr 256 u, amount Gram, 0 9 64 32 + + 1+ 1+ u, "GIFT" $, b>
<b seqno 32 u, 1 8 u, swap ref, b>
dup ."enveloping message: " <s csr. cr
<b b{1000100} s, wc 8 i, wallet_addr 256 u, 0 Gram, b{00} s,
swap <s s, b>
dup ."resulting external message: " <s csr. cr
2 boc+>B dup Bx. cr
"wallet-query.boc" B>file
рд╣рдо рдЗрд╕реЗ рдЕрд╕реЗрдВрдмрд▓ рдХрд┐рдП рдЧрдП рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рднреА рд╕рд╣реЗрдЬреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╣рдо рдкрд╛рдВрдЪрд╡реАрдВ рдкрдВрдХреНрддрд┐ рдХреЛ рд╕рд╣реА рдХрд░реЗрдВрдЧреЗ - рд▓рд╛рдЗрди рд╕реЗ рдкрд╣рд▓реЗ "constant dest_addr
". рдЖрдЗрдП рдЗрд╕реЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП рд╡реЙрд▓реЗрдЯ рдХреЗ рдкрддреЗ рд╕реЗ рдмрджрд▓реЗрдВ (рдкреВрд░реНрдг, рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╣реАрдВ)ред рд╢реБрд░реБрдЖрдд рдореЗрдВ "-1:" рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рд╢реБрд░реБрдЖрдд рдореЗрдВ "0x" рд▓рд┐рдЦреЗрдВред
рдЖрдк рд▓рд╛рдЗрди рднреА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ 6.666 Gram*/ constant amount
тАФ рдпрд╣ рдЧреНрд░рд╛рдо рдореЗрдВ рд╡рд╣ рдорд╛рддреНрд░рд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЕрдиреБрд░реЛрдз рдХрд░ рд░рд╣реЗ рд╣реИрдВ (20 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ)ред рднрд▓реЗ рд╣реА рдЖрдк рдкреВрд░реНрдг рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рджрд╢рдорд▓рд╡ рдмрд┐рдВрджреБ рдЫреЛрдбрд╝ рджреЗрдВред
рдЕрдВрдд рдореЗрдВ, рдЖрдкрдХреЛ рд▓рд╛рдЗрди рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ 0x00000011 constant seqno
. рдпрд╣рд╛рдВ рдкрд╣рд▓рд╛ рдирдВрдмрд░ рд╡рд░реНрддрдорд╛рди рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдЬреЛ рдЧреНрд░рд╛рдо рдЬрд╛рд░реА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЦрд╛рддреЗ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдореИрдВ рдЗрд╕реЗ рдХрд╣рд╛рдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдБ:
last
getaccount -1:8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d
рд╕рдмрд╕реЗ рдЕрдВрдд рдореЗрдВ, рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛
...
x{FF0020DDA4F260D31F01ED44D0D31FD166BAF2A1F80001D307D4D1821804A817C80073FB0201FB00A4C8CB1FC9ED54}
x{0000000D}
рд╕рдВрдЦреНрдпрд╛ 0000000D (рдЖрдкрдХреА рдмрдбрд╝реА рд╣реЛрдЧреА) рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП testgiver.fif
.
рдмрд╕ рдЗрддрдирд╛ рд╣реА, рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдБ (./crypto/fift testgiver.fif
). рдЖрдЙрдЯрдкреБрдЯ рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреА wallet-query.boc
. рдЗрд╕реА рд╕реЗ рдмрдирддрд╛ рд╣реИ ╤Б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╡ рдХрд┐рд╕реА рдФрд░ рдХреЗ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХреЗ рд▓рд┐рдП - рдПрдХ рдЕрдиреБрд░реЛрдз "рдЗрддрдиреЗ рдЧреНрд░рд╛рдо рдХреЛ рдЕрдореБрдХ рдЦрд╛рддреЗ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред"
рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдЗрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ:
> sendfile wallet-query.boc
[ 1][t 1][1558747399.456575155][test-lite-client.cpp:577][!testnode] sending query from file wallet-query.boc
[ 3][t 2][1558747399.500236034][test-lite-client.cpp:587][!query] external message status is 1
рдпрджрд┐ рдЖрдк рдЕрднреА рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ last
, рдФрд░ рдлрд┐рд░ рдЙрд╕ рдЦрд╛рддреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ рдЬрд┐рд╕рд╕реЗ рд╣рдордиреЗ рдЧреНрд░рд╛рдо рдорд╛рдВрдЧрд╛ рдерд╛, рдлрд┐рд░ рд╣рдореЗрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕рдХреА рдЕрдиреБрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛ рдПрдХ рд╕реЗ рдмрдврд╝ рдЧрдИ рд╣реИ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕рдиреЗ рд╣рдорд╛рд░реЗ рдЦрд╛рддреЗ рдореЗрдВ рдкреИрд╕рд╛ рднреЗрдЬрд╛ рд╣реИред
рдЕрдВрддрд┐рдо рдЪрд░рдг рд╢реЗрд╖ рд╣реИ - рд╣рдорд╛рд░реЗ рд╡реЙрд▓реЗрдЯ рдХрд╛ рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (рдЗрд╕рдХреА рд╢реЗрд╖ рд░рд╛рд╢рд┐ рдкрд╣рд▓реЗ рд╣реА рднрд░ рджреА рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХреЛрдб рдХреЗ рдмрд┐рдирд╛ рд╣рдо рдЗрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ)ред рд╣рдо рдирд┐рднрд╛рддреЗ рд╣реИрдВ sendfile new-wallet-query.boc
- рдФрд░ рдмрд╕, рдЖрдкрдХреЗ рдкрд╛рд╕ TON рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рд╡реЙрд▓реЗрдЯ рд╣реИ (рднрд▓реЗ рд╣реА рдпрд╣ рдЕрднреА рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╣реЛ)ред
рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд▓реЗрдирджреЗрди рдмрдирд╛рдирд╛
рдмрдирд╛рдП рдЧрдП рдЕрдХрд╛рдЙрдВрдЯ рдХреЗ рдмреИрд▓реЗрдВрд╕ рд╕реЗ рдкреИрд╕реЗ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╛рдЗрд▓ рд╣реЛрддреА рд╣реИ crypto/block/wallet.fif
, рдЬрд┐рд╕реЗ рдЕрд╕реЗрдВрдмрд▓ рдХрд┐рдП рдЧрдП рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рднреА рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдкрд┐рдЫрд▓реЗ рдЪрд░рдгреЛрдВ рдХреЗ рд╕рдорд╛рди, рдЖрдкрдХреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд░рд╛рд╢рд┐, рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХрд╛ рдкрддрд╛ (dest_addr), рдФрд░ рдЖрдкрдХреЗ рд╡реЙрд▓реЗрдЯ рдХрд╛ seqno рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдпрд╣ рд╡реЙрд▓реЗрдЯ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж 1 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд▓реЗрдирджреЗрди рдХреЗ рдмрд╛рдж 1 рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ - рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдХреЗ рдЗрд╕реЗ рджреЗрдЦреЗрдВ)ред рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░рд╛ рдмрдЯреБрдЖ - 0x4fcd520b8fcca096b567d734be3528edc6bed005f6930a9ec9ac1aa714f211f2
.
рдЪрд╛рд▓реВ рд╣реЛрдиреЗ рдкрд░ (./crypto/fift wallet.fif
) рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрдХреЗ рд╡реЙрд▓реЗрдЯ рдХрд╛ рдкрддрд╛ (рдЬрд╣рд╛рдВ рд╕реЗ рдЖрдк рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рддреЗ рд╣реИрдВ) рдФрд░ рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдЙрд╕рдХреА рдирд┐рдЬреА рдХреБрдВрдЬреА рд▓реЗрдЧреА new-wallet.addr
╨╕ new-wallet.pk
, рдФрд░ рдкреНрд░рд╛рдкреНрдд рд╕рдВрджреЗрд╢ рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ new-wallet-query.boc
.
рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рд╕реАрдзреЗ рд▓реЗрдирджреЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░реЗрдВ sendfile new-wallet-query.boc
рдЧреНрд░рд╛рд╣рдХ рдореЗрдВ. рдЗрд╕рдХреЗ рдмрд╛рдж рдмреНрд▓реЙрдХрдЪреЗрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ (last
) рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рд╡реЙрд▓реЗрдЯ рдХрд╛ рдмреИрд▓реЗрдВрд╕ рдФрд░ рд╕реЗрдХрдиреЛ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ (getaccount <account_id>
).
рдмрд╕ рдЗрддрдирд╛ рд╣реА, рдЕрдм рд╣рдо TON рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓ рд╡реЙрд▓реЗрдЯ рдмрдирд╛рдПрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореИрд╕реЗрдВрдЬрд░ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛)ред
рдХреЗрд╡рд▓ рдкрдВрдЬреАрдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реА рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдореЗрдВ рднрд╛рдЧ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдЖрдк TON, TVM, Fift рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╕рд╛рде рд▓реЗрдЦ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ?
-
рд╣рд╛рдВ, рдореИрдВ TON рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рд▓реЛрдХрди рдХреЗ рд╕рд╛рде рд▓реЗрдЦреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
-
рд╣рд╛рдВ, рдлрд┐рдлреНрдЯ рднрд╛рд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ
-
рд╣рд╛рдВ, рдореИрдВ TON рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрд╕реЗрдВрдмрд▓рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ
-
рдирд╣реАрдВ, рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ
39 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдорддрджрд╛рди рдХрд┐рдпрд╛ред 12 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд░рд╣реЗред
TON рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреА рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ?
-
рдореБрдЭреЗ рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдмрд╣реБрдд рдЙрдореНрдореАрджреЗрдВ рд╣реИрдВ
-
рдореИрдВ рдмрд╕ рд░реБрдЪрд┐ рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
-
рдореИрдВ рд╕рд╢рдВрдХрд┐рдд рд╣реВрдВ рдФрд░ рдЗрд╕рдХреА рд╕рдлрд▓рддрд╛ рдкрд░ рд╕рдВрджреЗрд╣ рдХрд░рддрд╛ рд╣реВрдВред
-
рдореИрдВ рдЗрд╕ рдкрд╣рд▓ рдХреЛ рд╡реНрдпрд╛рдкрдХ рдЬрдирддрд╛ рдХреЗ рд▓рд┐рдП рдЕрд╕рдлрд▓ рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдорд╛рдирдиреЗ рдХреЛ рдЗрдЪреНрдЫреБрдХ рд╣реВрдВ
47 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдорддрджрд╛рди рдХрд┐рдпрд╛ред 12 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд░рд╣реЗред
рд╕реНрд░реЛрдд: www.habr.com