рдПрдХ рд╡рд░реНрд╖ рднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ, рдпреЛ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдореЗрд╕реЗрдиреНрдЬрд░рдХреЛ рдЖрдлреНрдиреИ рд╡рд┐рдХреЗрдиреНрджреНрд░реАрдХреГрдд рдиреЗрдЯрд╡рд░реНрдХ рдЬрд╛рд░реА рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдерд╛рд╣рд╛ рднрдпреЛред рдиреЗрдЯрд╡рд░реНрдХ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реНред рддреНрдпрд╕рдкрдЫрд┐ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рдХрд╛рдЧрдЬрд╛рдд рдЙрдкрд▓рдмреНрдз рднрдпреЛ, рдЬреБрди рдХрдерд┐рдд рд░реВрдкрдорд╛ рдирд┐рдХреЛрд▓рд╛рдИ рдбреБрд░реЛрд╡ рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдерд┐рдпреЛ рд░ рднрд╡рд┐рд╖реНрдпрдХреЛ рдиреЗрдЯрд╡рд░реНрдХрдХреЛ рд╕рдВрд░рдЪрдирд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рдпреЛ рдЫреБрдЯреЗрдХрд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐, рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпреЛ рдХрд╛рдЧрдЬрд╛рддрдХреЛ рдореЗрд░реЛ рд░рд┐рдЯреЗрд▓рд┐рдЩ рдкрдвреНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫреБ (
рддреНрдпрд╕рдмреЗрд▓рд╛рджреЗрдЦрд┐, рдХреЗрд╣реА рджрд┐рди рдЕрдШрд┐рд╕рдореНрдо TON рд╡рд┐рдХрд╛рд╕рдХреЛ рд╕реНрдерд┐рддрд┐рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрдиреИ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╕рдорд╛рдЪрд╛рд░ рдЖрдПрдХреЛ рдЫреИрди (рдПрдХрдорд╛
тЧж
тЧж
тЧж
тЧж
тЧж
тЧж
тЧж
тЧж
рдо рджреЛрд╣реЛрд░реНрдпрд╛рдЙрдБрдЫреБ, рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдордмрд╛рдЯ рдкреГрд╖реНрда рд░ рдпреА рд╕рдмреИ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВрдХреЛ рдХреБрдиреИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдерд┐рдПрди, рддрд░ рдпреА рд╕рд╛рдордЧреНрд░реАрд╣рд░реВрдХреЛ рднреЛрд▓реНрдпреБрдорд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдзреЗрд░реИ рдкреНрд░рд╢рдВрд╕рдиреАрдп рдмрдирд╛рдЙрдБрдЫред рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧреНрд░рд╛рд╣рдХ рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЖрдлреНрдиреИ рдЬреЛрдЦрд┐рдордорд╛.
рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЧреНрд░рд╛рд╣рдХ рдирд┐рд░реНрдорд╛рдг
рдкрд╣рд┐рд▓реЗ, рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЧреНрд░рд╛рд╣рдХ рдирд┐рд░реНрдорд╛рдг рд░ рдЪрд▓рд╛рдЙрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ - рд╕реМрднрд╛рдЧреНрдп рджреЗрдЦрд┐,
-
рдбрд╛рдЙрдирд▓реЛрдб рд░ рдЕрдирдкреНрдпрд╛рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рд╕реНрд░реЛрдд рдЕрднрд┐рд▓реЗрдЦ ред рдкрдЫрд┐рд▓реНрд▓реЛ рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рдХрд┐рдирдХрд┐ рдпрд╕ рдЪрд░рдгрдорд╛ рдкрдЫрд╛рдбрд┐ рдЕрдиреБрдХреВрд▓рддрд╛рдХреЛ рдЧреНрдпрд╛рд░реЗрдиреНрдЯреА рдЫреИрдиред -
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рдореЗрдХ, cmake (рд╕рдВрд╕реНрдХрд░рдг 3.0.2 рд╡рд╛ рдорд╛рдерд┐рдХреЛ рд╕рдВрд╕реНрдХрд░рдг), OpenSSL (C рд╣реЗрдбрд░ рдлрд╛рдЗрд▓рд╣рд░реВ рд╕рд╣рд┐рдд), g++ рд╡рд╛ clang рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫред рдореИрд▓реЗ рдХреЗрд╣рд┐ рдкрдирд┐ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрдкрд░реНрджреИрди, рд╕рдмреИ рдХреБрд░рд╛ рддреБрд░реБрдиреНрддреИ рд╕рдБрдЧреИ рдЖрдпреЛред
-
рдорд╛рдиреМрдВ рд╕реНрд░реЛрддрд╣рд░реВ рдлреЛрд▓реНрдбрд░рдорд╛ рдЕрдирдкреНрдпрд╛рдХ рдЧрд░рд┐рдПрдХреЛ рдЫ
~/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
рд╕реНрд░реЛрддрд╣рд░реВрдорд╛)ред
рдлрд┐рдлреНрдЯ рдорд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо:
{ 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 рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирдХреЛ рд▓рд╛рдЧрд┐ рдпрд╣рд╛рдБ рдЕрд░реНрдХреЛ рдПрд╕реЗрдореНрдмрд▓реА рднрд╛рд╖рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЫ (рдо рдпрд╕рдорд╛ рд╡рд┐рд╕реНрддреГрдд рд░реВрдкрдорд╛ рдмрд╕реНрдиреЗ рдЫреИрди), рдЬрд╕рдХрд╛ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдмреНрд▓рдХрдЪреЗрдирдорд╛ рд░рд╛рдЦрд┐рдиреЗрдЫред
рдпрд╕рд░реА, TVM рдХреЛ рд▓рд╛рдЧрд┐ рдПрд╕реЗрдореНрдмрд▓рд░ рдлрд┐рдлреНрдЯрдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ - рдпрд╕ рдПрд╕реЗрдореНрдмрд▓рд░рдХрд╛ рд╕реНрд░реЛрддрд╣рд░реВ рдлрд╛рдЗрд▓рдорд╛ рдЫрдиреНред crypto/fift/Asm.fif
рд░ рдХреЛрдбрдХреЛ рдорд╛рдерд┐рдХреЛ рдЯреБрдХреНрд░рд╛рдХреЛ рд╕реБрд░реБрдорд╛ рдЬрдбрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫред
рдо рдХреЗ рднрдиреНрди рд╕рдХреНрдЫреБ, рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдирд┐рдХреЛрд▓рд╛рдИ рджреБрд░реЛрднрд▓реЗ рдирдпрд╛рдБ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдорди рдкрд░рд╛рдЙрдБрдЫрдиреН :)
рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ рд░ TON рд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрджреИ
рддреНрдпрд╕реЛрднрдП, рдорд╛рдиреМрдВ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдорд╛рдерд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдП рдЕрдиреБрд╕рд╛рд░ TON рдЧреНрд░рд╛рд╣рдХ рд░ рдлрд┐рдлреНрдЯ рджреЛрднрд╛рд╖реЗрд▓рд╛рдИ рднреЗрд▓рд╛ рдЧрд░реЗрдХрд╛ рдЫреМрдВ рд░ рднрд╛рд╖рд╛рд╕рдБрдЧ рдкрд░рд┐рдЪрд┐рдд рднрдПрдХрд╛ рдЫреМрдВред рдЕрдм рд╕реНрдорд╛рд░реНрдЯ рд╕рдореНрдЭреМрддрд╛ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ? рдпреЛ рдлрд╛рдЗрд▓рдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫ
TON рдорд╛ рдЦрд╛рддрд╛рд╣рд░реВ
рдореИрд▓реЗ рдорд╛ рд╡рд░реНрдгрди рдЧрд░реЗ рдЕрдиреБрд╕рд╛рд░
рдПрдЙрдЯреИ рд╡рд░реНрдХрдЪреЗрди рднрд┐рддреНрд░, рдзреЗрд░реИ рдЦрд╛рддрд╛рд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН рдЬрд╕рдХреЛ рдЖрдлреНрдиреИ account_id рдкрд╣рд┐рдЪрд╛рдирдХрд░реНрддрд╛рд╣рд░реВ рдЫрдиреНред рдорд╛рд╕реНрдЯрд░ рдЪреЗрди рд░ рд╢реВрдиреНрдп рдХрд╛рд░реНрдп рд╢реНрд░реГрдВрдЦрд▓рд╛рдХреЛ рд▓рд╛рдЧрд┐, рддрд┐рдиреАрд╣рд░реВ 256 рдмрд┐рдЯ рд▓рд╛рдореЛ рдЫрдиреНред рдпрд╕рд░реА, рдЦрд╛рддрд╛ рдкрд╣рд┐рдЪрд╛рдирдХрд░реНрддрд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпреЛ рдЬрд╕реНрддреИ:
-1:8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d
рдпреЛ "рдХрдЪреНрдЪрд╛" рдврд╛рдБрдЪрд╛ рд╣реЛ: рдкрд╣рд┐рд▓реЗ workchain ID, рддреНрдпрд╕рдкрдЫрд┐ рдПрдЙрдЯрд╛ рдХреЛрд▓реЛрди, рд░ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдиреЛрдЯреЗрд╢рдирдорд╛ рдЦрд╛рддрд╛ IDред
рдердк рд░реВрдкрдорд╛, рддреНрдпрд╣рд╛рдБ рдЫреЛрдЯреЛ рдврд╛рдБрдЪрд╛ рдЫ - workchain рдирдореНрдмрд░ рд░ рдЦрд╛рддрд╛ рдареЗрдЧрд╛рдирд╛ рдмрд╛рдЗрдирд░реА рдлрд╛рд░рдордорд╛ рдЗрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрд┐рдиреАрд╣рд░реВрдорд╛ рдПрдХ рдЪреЗрдХрд╕рдо рдердкрд┐рдПрдХреЛ рдЫ, рд░ рдпреЛ рд╕рдмреИ Base64 рдорд╛ рдЗрдиреНрдХреЛрдб рдЧрд░рд┐рдПрдХреЛ рдЫ:
Ef+BVndbeTJeXWLnQtm5bDC2UVpc0vH2TF2ksZPAPwcODSkb
рдпреЛ рд░реЗрдХрд░реНрдб рдврд╛рдБрдЪрд╛ рдерд╛рд╣рд╛ рдкрд╛рдПрд░, рд╣рд╛рдореА рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкрд░реАрдХреНрд╖рдг рдЧреНрд░рд╛рд╣рдХ рдорд╛рд░реНрдлрдд рдЦрд╛рддрд╛рдХреЛ рд╣рд╛рд▓рдХреЛ рд╕реНрдерд┐рддрд┐ рдЕрдиреБрд░реЛрдз рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ
getaccount -1:8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d
рд╣рд╛рдореА рдпрд╕реНрддреЛ рдХреЗрд╣рд┐ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗрдЫреМрдВ:
[ 3][t 2][1558746708.815218925][test-lite-client.cpp:631][!testnode] requesting account state for -1:8156775B79325E5D62E742D9B96C30B6515A5CD2F1F64C5DA4B193C03F070E0D
[ 3][t 2][1558746708.858564138][test-lite-client.cpp:652][!testnode] got account state for -1:8156775B79325E5D62E742D9B96C30B6515A5CD2F1F64C5DA4B193C03F070E0D with respect to blocks (-1,8000000000000000,72355):F566005749C1B97F18EDE013EBA7A054B9014961BC1AD91F475B9082919A2296:1BD5DE54333164025EE39D389ECE2E93DA2871DA616D488253953E52B50DC03F and (-1,8000000000000000,72355):F566005749C1B97F18EDE013EBA7A054B9014961BC1AD91F475B9082919A2296:1BD5DE54333164025EE39D389ECE2E93DA2871DA616D488253953E52B50DC03F
account state is (account
addr:(addr_std
anycast:nothing workchain_id:-1 address:x8156775B79325E5D62E742D9B96C30B6515A5CD2F1F64C5DA4B193C03F070E0D)
storage_stat:(storage_info
used:(storage_used
cells:(var_uint len:1 value:3)
bits:(var_uint len:2 value:539)
public_cells:(var_uint len:0 value:0)) last_paid:0
due_payment:nothing)
storage:(account_storage last_trans_lt:74208000003
balance:(currencies
grams:(nanograms
amount:(var_uint len:7 value:999928362430000))
other:(extra_currencies
dict:hme_empty))
state:(account_active
(
split_depth:nothing
special:nothing
code:(just
value:(raw@^Cell
x{}
x{FF0020DDA4F260D31F01ED44D0D31FD166BAF2A1F80001D307D4D1821804A817C80073FB0201FB00A4C8CB1FC9ED54}
))
data:(just
value:(raw@^Cell
x{}
x{0000000D}
))
library:hme_empty))))
x{CFF8156775B79325E5D62E742D9B96C30B6515A5CD2F1F64C5DA4B193C03F070E0D2068086C000000000000000451C90E00DC0E35B7DB5FB8C134_}
x{FF0020DDA4F260D31F01ED44D0D31FD166BAF2A1F80001D307D4D1821804A817C80073FB0201FB00A4C8CB1FC9ED54}
x{0000000D}
рд╣рд╛рдореАрд▓реЗ рддреЛрдХрд┐рдПрдХреЛ workchain рдХреЛ DHT рдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдПрдХреЛ рд╕рдВрд░рдЪрдирд╛ рджреЗрдЦреНрдЫреМрдВред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХреНрд╖реЗрддреНрд░рдорд╛ storage.balance
рд╣рд╛рд▓рдХреЛ рдЦрд╛рддрд╛ рдмреНрдпрд╛рд▓реЗрдиреНрд╕ рд╣реЛ, рдорд╛ storage.state.code
- рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдХреЛрдб, рд░ рдорд╛ storage.state.data
- рдпрд╕рдХреЛ рд╡рд░реНрддрдорд╛рди рдбрд╛рдЯрд╛ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ TON рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг - рдХрдХреНрд╖, рдХрдХреНрд╖рд╣рд░реВ - рд░реВрдЦ рдЬрд╕реНрддреИ рдЫ, рдкреНрд░рддреНрдпреЗрдХ рдХрдХреНрд╖рдХреЛ рдЖрдлреНрдиреИ рдбреЗрдЯрд╛ рд░ рдмрд╛рд▓ рдХрдХреНрд╖рд╣рд░реВ рджреБрд╡реИ рд╣реБрди рд╕рдХреНрдЫред рдпреЛ рдЕрдиреНрддрд┐рдо рд░реЗрдЦрд╛рд╣рд░реВрдорд╛ рдЗрдиреНрдбреЗрдиреНрдЯреЗрд╕рдирдХреЛ рд░реВрдкрдорд╛ рджреЗрдЦрд╛рдЗрдПрдХреЛ рдЫред
рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдз рдирд┐рд░реНрдорд╛рдг
рдЕрдм рдпрд╕реНрддреЛ рд╕рдВрд░рдЪрдирд╛ рдЖрдлреИ рдмрдирд╛рдФрдВ (рдпрд╕рд▓рд╛рдИ BOC рднрдирд┐рдиреНрдЫ - рдХрдХреНрд╖рд╣рд░реВрдХреЛ рдЭреЛрд▓рд╛) рдкрд╛рдБрдЪ рднрд╛рд╖рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИред рд╕реМрднрд╛рдЧреНрдпрд╡рд╢, рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреИрдВрд▓реЗ рд╕реНрдорд╛рд░реНрдЯ рд╕рдореНрдЭреМрддрд╛ рд▓реЗрдЦреНрдиреБ рдкрд░реНрджреИрди - рдлреЛрд▓реНрдбрд░рдорд╛ crypto/block
рддреНрдпрд╣рд╛рдБ рд╕реНрд░реЛрдд рдЕрднрд┐рд▓реЗрдЦрдмрд╛рдЯ рдлрд╛рдЗрд▓ рдЫ new-wallet.fif
, рдЬрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдирдпрд╛рдБ рд╡рд╛рд▓реЗрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрдиреЗрдЫред рдпрд╕рд▓рд╛рдИ рдЬрдореНрдорд╛ рдЧрд░рд┐рдПрдХрд╛ рдХреНрд▓рд╛рдЗрдиреНрдЯрдХреЛ рд╕рд╛рде рдлреЛрд▓реНрдбрд░рдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реМрдВ (~/liteclient-build
, рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдорд╛рдерд┐рдХрд╛ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдкрд╛рд▓рдирд╛ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ)ред рдореИрд▓реЗ рдпрд╕рдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдорд╛рдерд┐рдХреЛ рдХреЛрдбрдХреЛ рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛ рдлрд┐рдлреНрдЯрдорд╛ рдЙрджреНрдзреГрдд рдЧрд░реЗрдВред
рдпрд╕ рдлрд╛рдЗрд▓рд▓рд╛рдИ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН:
./crypto/fift -I"<source-directory>/crypto/fift" new-wallet.fif
рдпреЛ рдЫ <source-directory>
рдЕрдирдкреНрдпрд╛рдХ рдЧрд░рд┐рдПрдХреЛ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рдорд╛рд░реНрдЧрдорд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреБрдкрд░реНрдЫ ("~" рдкреНрд░рддреАрдХ, рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдпрд╣рд╛рдБ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрди, рдкреВрд░реНрдг рдорд╛рд░реНрдЧ рдЖрд╡рд╢реНрдпрдХ рдЫ)ред рдХреБрдЮреНрдЬреА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛ -I
рддрдкрд╛рдИрдВ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ FIFTPATH
рд░ рдпреЛ рдмрд╛рдЯреЛ рдпрд╕рдорд╛ рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реНред
рд╣рд╛рдореАрд▓реЗ рдлрд╛рдЗрд▓ рдирд╛рдордХреЛ рд╕рд╛рде рдлрд┐рдлреНрдЯ рд╕реБрд░реВ рдЧрд░реЗрдХрд╛ рдЫреМрдВ 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
тАФ рдпреЛ рдЧреНрд░рд╛рдордорд╛ рднрдПрдХреЛ рд░рдХрдо рд╣реЛ рдЬреБрди рддрдкрд╛рдИрдВрд▓реЗ рдЕрдиреБрд░реЛрдз рдЧрд░рд┐рд░рд╣рдиреБрднрдПрдХреЛ рдЫ (реиреж рднрдиреНрджрд╛ рдмрдвреА рд╣реЛрдЗрди)ред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкреВрд░реНрдг рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рджрд╢рдорд▓рд╡ рдмрд┐рдиреНрджреБ рдЫреЛрдбреНрдиреБрд╣реЛрд╕реНред
рдЕрдиреНрддрдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рд▓рд╛рдЗрди рд╕рдЪреНрдпрд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫ 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
рдЧреНрд░рд╛рд╣рдХ рдорд╛ред рдпрд╕ рдкрдЫрд┐, blockchain рдХреЛ рд╕реНрдерд┐рддрд┐ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрди рдирдмрд┐рд░реНрд╕рдиреБрд╣реЛрд╕реН (last
) рд░ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рд╣рд╛рдореНрд░реЛ рд╡рд╛рд▓реЗрдЯрдХреЛ рдмреНрдпрд╛рд▓реЗрдиреНрд╕ рд░ рд╕реЗрдХреНрдиреЛ рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдХреЛ рдЫ (getaccount <account_id>
).
рдпрддрд┐ рдорд╛рддреНрд░реИ рд╣реЛ, рдЕрдм рд╣рд╛рдореА TON рдорд╛ рд╕реНрдорд╛рд░реНрдЯ рдЕрдиреБрдмрдВрдзрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрдиреБрд░реЛрдзрд╣рд░реВ рдкрдард╛рдЙрди рд╕рдХреНрдЫреМрдВред рддрдкрд╛рдИрд▓реЗ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреЗ рд░реВрдкрдорд╛, рд╣рд╛рд▓рдХреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рдкрд░реНрдпрд╛рдкреНрдд рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕рдХреЛ рд╕рд╛рде рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓ рд╡рд╛рд▓реЗрдЯ рдмрдирд╛рдЙрди (рдпрджреНрдпрдкрд┐, рдпреЛ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ рдХрд┐ рдпреЛ рдкрд╣рд┐рд▓реЗ рдиреИ рдореЗрд╕реЗрдиреНрдЬрд░рдХреЛ рднрд╛рдЧрдХреЛ рд░реВрдкрдорд╛ рдЙрдкрд▓рдмреНрдз рд╣реБрдиреЗрдЫ)ред
рджрд░реНрддрд╛ рднрдПрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорд╛рддреНрд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрдорд╛ рднрд╛рдЧ рд▓рд┐рди рд╕рдХреНрдЫрдиреНред
рдХреЗ рддрдкрд╛рдЗрдБ TON, TVM, Fift рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рдВрдЧ рд▓реЗрдЦрд╣рд░реВ рдЬрд╛рд░реА рд░рд╛рдЦреНрди рдЗрдЪреНрдЫреБрдХ рд╣реБрдиреБрд╣реБрдиреНрдЫ?
-
рд╣реЛ, рдо TON рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрдирдХреЛ рд╕рд╛рде рд▓реЗрдЦрд╣рд░реВрдХреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреВрд░рд╛ рд╣реБрдиреЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рдЧрд░реНрджреИрдЫреБ
-
рд╣реЛ, рдпреЛ рдлрд┐рдлреНрдЯ рднрд╛рд╖рд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк рдкрдвреНрди рд░реЛрдЪрдХ рдЫ
-
рд╣реЛ, рдо TON рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рди рд░ рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдПрд╕реЗрдореНрдмрд▓рд░ рдмрд╛рд░реЗ рдердк рдЬрд╛рдиреНрди рдЪрд╛рд╣рдиреНрдЫреБ
-
рд╣реЛрдЗрди, рдпреЛ рдХреБрдиреИ рдкрдирд┐ рд░реЛрдЪрдХ рдЫреИрди
39 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорддрджрд╛рди рдЧрд░реЗред 12 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░реЛрдХрд┐рдПред
TON рд╕реБрд░реБ рдЧрд░реНрдиреЗ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдордХреЛ рдпреЛрдЬрдирд╛ рдмрд╛рд░реЗ рддрдкрд╛рдЗрдБ рдХреЗ рд╕реЛрдЪреНрдиреБрд╣реБрдиреНрдЫ?
-
рдорд▓рд╛рдИ рдпреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдмрд╛рдЯ рдзреЗрд░реИ рдЖрд╢рд╛ рдЫ
-
рдо рдЪрд╛рд╕реЛрдХрд╛ рд╕рд╛рде рдпрд╕рдХреЛ рд╡рд┐рдХрд╛рд╕рд▓рд╛рдИ рдкрдЫреНрдпрд╛рдЙрдБрджреИрдЫреБред
-
рдо рд╢рдВрдХрд╛рд╕реНрдкрдж рдЫреБ рд░ рдпрд╕рдХреЛ рд╕рдлрд▓рддрд╛рдорд╛ рд╢рдВрдХрд╛ рдЧрд░реНрдЫреБред
-
рдо рдпрд╕ рдкрд╣рд▓рд▓рд╛рдИ рд╡реНрдпрд╛рдкрдХ рдЬрдирд╕рдореБрджрд╛рдпрдХреЛ рд▓рд╛рдЧрд┐ рдЕрд╕рдлрд▓ рд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдорд╛рдиреНрди рдЗрдЪреНрдЫреБрдХ рдЫреБ
47 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорддрджрд╛рди рдЧрд░реЗред 12 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░реЛрдХрд┐рдПред
рд╕реНрд░реЛрдд: www.habr.com