ΠΡΠ΅Π΄ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ Π΅Π΄Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π°, ΡΠ΅ Π΄ΠΎΠ·Π½Π° Π·Π° ΠΏΠ»Π°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π° Π³Π»Π°ΡΠ½ΠΈΠΊΠΎΡ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ Π΄Π° ΠΎΠ±ΡΠ°Π²ΠΈ ΡΠΎΠΏΡΡΠ²Π΅Π½Π° Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΌΡΠ΅ΠΆΠ° Π’Π΅Π»Π΅Π³ΡΠ°ΠΌΠ° Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½Π° ΠΌΡΠ΅ΠΆΠ°. ΠΠΎΡΠΎΠ° ΡΡΠ°Π½Π° Π΄ΠΎΡΡΠ°ΠΏΠ΅Π½ ΠΎΠ±Π΅ΠΌΠ΅Π½ ΡΠ΅Ρ
Π½ΠΈΡΠΊΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡ Π½Π°Π²ΠΎΠ΄Π½ΠΎ Π³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π» ΠΠΈΠΊΠΎΠ»Π°Ρ ΠΡΡΠΎΠ² ΠΈ ΡΠ° ΠΎΠΏΠΈΡΠ°Π» ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΈΠ΄Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. ΠΠ° ΠΎΠ½ΠΈΠ΅ ΠΊΠΎΠΈ Π³ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ°, ΠΏΡΠ΅ΠΏΠΎΡΠ°ΡΡΠ²Π°ΠΌ Π΄Π° Π³ΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π°Ρ ΠΌΠΎΠ΅ΡΠΎ ΠΏΡΠ΅ΡΠ°ΡΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠ²ΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ (
ΠΡΡΠΎΠ³Π°Ρ, Π½Π΅ΠΌΠ°ΡΠ΅ Π·Π½Π°ΡΠ°ΡΠ½ΠΈ Π²Π΅ΡΡΠΈ Π·Π° ΡΡΠ°ΡΡΡΠΎΡ Π½Π° ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° TON Π΄ΠΎ ΠΏΡΠ΅Π΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π΄Π΅Π½Π° (Π²ΠΎ Π΅Π΄Π΅Π½ ΠΎΠ΄
β¦
β¦
β¦
β¦
β¦
β¦
β¦
β¦
ΠΠΎΠ²ΡΠΎΡΡΠ²Π°ΠΌ, Π½Π΅ΠΌΠ°ΡΠ΅ ΠΎΡΠΈΡΠΈΡΠ°Π»Π½Π° ΠΏΠΎΡΠ²ΡΠ΄Π° Π·Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΈ ΡΠΈΡΠ΅ ΠΎΠ²ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΠΎΠ΄ Telegram, Π½ΠΎ ΠΎΠ±Π΅ΠΌΠΎΡ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΡΠ°Π»ΠΈ Π³ΠΈ ΠΏΡΠ°Π²ΠΈ ΡΠΎΡΠ΅ΠΌΠ° Π²Π΅ΡΠΎΠ΄ΠΎΡΡΠΎΡΠ½ΠΈ. Π‘ΡΠ°ΡΡΡΠ²Π°ΡΡΠ΅ Π³ΠΎ ΠΎΠ±ΡΠ°Π²Π΅Π½ΠΈΠΎΡ ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ ΡΠΈΠ·ΠΈΠΊ.
ΠΠ·Π³ΡΠ°Π΄Π±Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅
ΠΡΠ²ΠΎ, Π΄Π° ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌΠ΅ ΠΈ Π΄Π° ΠΈΠ·Π²ΡΡΠΈΠΌΠ΅ ΡΠ΅ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ - Π·Π° ΡΡΠ΅ΡΠ°,
-
ΠΡΠ΅Π·Π΅ΠΌΠ΅ΡΠ΅ ΠΈ ΠΎΡΠΏΠ°ΠΊΡΠ²Π°ΡΡΠ΅
ΠΈΠ·Π²ΠΎΡΠ½Π° Π°ΡΡ ΠΈΠ²Π° . ΠΠ°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ° ΠΏΡΠ΅Π·Π΅ΠΌΠ΅ΡΠ΅ Π½Π°ΡΠ½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠ° Π½Π°Π½Π°Π·Π°Π΄ Π½Π΅ Π΅ Π·Π°Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½Π° Π²ΠΎ ΠΎΠ²Π°Π° ΡΠ°Π·Π°. -
ΠΡΠΈΠ³ΡΡΠ°ΡΡΠ΅ ΡΠ΅ Π΄Π΅ΠΊΠ° Π½Π°ΡΠ½ΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° make, cmake (Π²Π΅ΡΠ·ΠΈΡΠ° 3.0.2 ΠΈΠ»ΠΈ ΠΏΠΎΠ½ΠΎΠ²Π°), OpenSSL (Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ C), g++ ΠΈΠ»ΠΈ clang ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ. ΠΠ΅ ΠΌΠΎΡΠ°Π² Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌ Π½ΠΈΡΡΠΎ, ΡΓ¨ ΡΠ΅ ΡΠΎΠ±ΡΠ° Π²Π΅Π΄Π½Π°Ρ.
-
ΠΠ° ΠΏΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° ΠΈΠ·Π²ΠΎΡΠΈΡΠ΅ ΡΠ΅ ΡΠ°ΡΠΏΠ°ΠΊΡΠ²Π°Π½ΠΈ Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°
~/lite-client
. ΠΠ΄Π΄Π΅Π»Π½ΠΎ ΠΎΠ΄ Π½Π΅Π³ΠΎ, ΠΊΡΠ΅ΠΈΡΠ°ΡΡΠ΅ ΠΏΡΠ°Π·Π½Π° ΠΏΠ°ΠΏΠΊΠ° Π·Π° ΡΠΎΠ±ΡΠ°Π½ΠΈΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ,~/liteclient-build
), ΠΈ ΠΎΠ΄ Π½Π΅Π³ΠΎ (cd ~/liteclient-build
) ΠΏΠΎΠ²ΠΈΠΊΠ°ΡΡΠ΅ Π³ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅:cmake ~/lite-client cmake --build . --target test-lite-client
ΠΠ° Π΄Π° Π³ΠΎ ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌΠ΅ ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π°ΡΠΎΡ Π½Π° ΡΠ°Π·ΠΈΡΠΈ Fift Π·Π° ΠΏΠ°ΠΌΠ΅ΡΠ½ΠΈ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈ (ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠΎΠ° ΠΏΠΎΠ΄ΠΎΠ»Ρ), Π½ΠΈΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ°Π²ΡΠ²Π°ΠΌΠ΅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
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌΠ΅ Π½Π° ΠΏΠΎΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΡΠ°Π±ΠΎΡΠΈ - Π΄Π° Π³ΠΎ Π½Π°ΡΡΠΈΠΌΠ΅ ΡΠ°Π·ΠΈΠΊΠΎΡ Fift, Π΄Π° ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° ΡΠΎΡΡΠ°Π²ΠΈΠΌΠ΅ ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΠΌΠ΅ ΡΠ΅ΡΡ-ΠΏΠ°ΡΠΈΡΠ½ΠΈΠΊ), Π΄Π° Π³ΠΎ ΠΏΡΠΈΠΊΠ°ΡΠΈΠΌΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΈ Π΄Π° ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° ΠΏΡΠ΅ΡΡΠ»Π°ΠΌΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΠΎΠΌΠ΅ΡΡ ΡΠΌΠ΅ΡΠΊΠΈΡΠ΅.
ΠΠ°Π·ΠΈΠΊ ΠΏΠ΅ΡΡΠΈ
ΠΠ΄ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΡ
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΡ Π΅ Π΄ΠΎΡΡΠ° ΠΎΠ±Π΅ΠΌΠ΅Π½, 87 ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΈ Π½Π΅ΠΌΠ° Π΄Π° ΡΠ° ΠΏΡΠ΅ΡΠ°ΡΠΊΠ°ΠΆΡΠ²Π°ΠΌ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π° Π΄Π΅ΡΠ°Π»Π½ΠΎ Π²ΠΎ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΎΠ²ΠΎΡ Π½Π°ΠΏΠΈΡ (Π±Π°ΡΠ΅ΠΌ Π·Π°ΡΠΎΠ° ΡΡΠΎ ΡΠ°ΠΌ Π½Π΅ ΡΡΠΌ Π³ΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π» :). ΠΠ΅ ΡΠ΅ ΡΠΎΠΊΡΡΠΈΡΠ°ΠΌ Π½Π° Π³Π»Π°Π²Π½ΠΈΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΈ ΡΠ΅ Π΄Π°Π΄Π°ΠΌ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π½Π° ΠΊΠΎΠ΄ Π½Π° ΠΎΠ²ΠΎΡ ΡΠ°Π·ΠΈΠΊ.
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΎ Π½ΠΈΠ²ΠΎ, ΡΠΈΠ½ΡΠ°ΠΊΡΠ°ΡΠ° Π½Π° Fift Π΅ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½Π°: Π½Π΅ΡΠ·ΠΈΠ½ΠΈΠΎΡ ΠΊΠΎΠ΄ ΡΠ΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄ Π·Π±ΠΎΡΠΎΠ²ΠΈ, ΠΎΠ±ΠΈΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΎ ΠΏΡΠ°Π·Π½ΠΈ ΠΌΠ΅ΡΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΊΠΈΠ½ΠΈ Π½Π° Π»ΠΈΠ½ΠΈΠΈ (ΠΏΠΎΡΠ΅Π±Π΅Π½ ΡΠ»ΡΡΠ°Ρ: Π½Π΅ΠΊΠΎΠΈ Π·Π±ΠΎΡΠΎΠ²ΠΈ Π½Π΅ Π±Π°ΡΠ°Π°Ρ ΡΠ°Π·Π΄Π²ΠΎΡΡΠ²Π°Ρ ΠΏΠΎ ΡΠ΅Π±Π΅). ΠΠΈΠ»ΠΎ ΠΊΠΎΡ ΡΠ»ΠΎΠ²ΠΎ Π΅ Π½ΠΈΠ·Π° ΠΎΠ΄ Π·Π½Π°ΡΠΈ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½Π° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π±ΡΠΊΠ²ΠΈ ΡΡΠΎ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° Π½Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ²Π°ΡΠ΅ Π½Π° (ΠΎΡΠΏΡΠΈΠ»ΠΈΠΊΠ°, ΡΡΠΎ ΡΡΠ΅Π±Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠΎΠ»ΠΊΡΠ²Π°ΡΠΎΡ ΠΊΠΎΠ³Π° ΡΠ΅ Π³ΠΎ ΡΡΠ΅ΡΠ½Π΅ ΠΎΠ²ΠΎΡ Π·Π±ΠΎΡ). ΠΠΊΠΎ Π½Π΅ΠΌΠ° Π΄Π΅ΡΠΈΠ½ΠΈΡΠΈΡΠ° Π·Π° Π·Π±ΠΎΡ, ΡΠΎΠ»ΠΊΡΠ²Π°ΡΠΎΡ ΡΠ΅ ΠΎΠ±ΠΈΠ΄ΡΠ²Π° Π΄Π° Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΠΊΠ°ΠΊΠΎ Π±ΡΠΎΡ ΠΈ Π΄Π° Π³ΠΎ ΡΡΠ°Π²ΠΈ Π½Π° ΠΎΡΠ°ΠΊΠΎΡ. ΠΠ°ΡΠ΅ΠΌ, Π±ΡΠΎΠ΅Π²ΠΈΡΠ΅ ΠΎΠ²Π΄Π΅ ΡΠ΅ - ΠΎΠ΄Π΅Π΄Π½Π°Ρ - 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
(Π Π΅Π½ΠΈΡΠ°ΡΠ° β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 (Π½Π΅ΠΌΠ° Π΄Π° ΡΠ΅ Π·Π°Π΄ΡΠΆΠ°ΠΌ Π½Π° Π½Π΅Π³ΠΎ Π²ΠΎ Π΄Π΅ΡΠ°Π»ΠΈ), ΡΠΈΠΈ ΡΠΏΠ°ΡΡΡΠ²Π° ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΏΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π½Π° Π±Π»ΠΎΠΊΡΠ΅ΡΠ½ΠΎΡ.
Π’Π°ΠΊΠ°, Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΡ Π·Π° Π’ΠΠ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ Fift - ΠΈΠ·Π²ΠΎΡΠΈΡΠ΅ Π½Π° ΠΎΠ²ΠΎΡ Π°ΡΠ΅ΠΌΠ±Π»Π΅Ρ ΡΠ΅ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° crypto/fift/Asm.fif
ΠΈ ΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ Π½Π° ΠΏΠΎΡΠ΅ΡΠΎΠΊΠΎΡ Π½Π° Π³ΠΎΡΠ½ΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ ΠΊΠΎΠ΄ΠΎΡ.
Π¨ΡΠΎ ΠΌΠΎΠΆΠ°ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ°ΠΌ, ΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ ΠΠΈΠΊΠΎΠ»Π°Ρ ΠΡΡΠΎΠ² ΡΠ°ΠΌΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΡΠΎΠ·Π΄Π°Π²Π° Π½ΠΎΠ²ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΡΠΈ :)
Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ TON
ΠΠ½Π°ΡΠΈ, Π΄Π° ΠΏΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° Π³ΠΈ ΡΠΎΡΡΠ°Π²ΠΈΠ²ΠΌΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ TON ΠΈ ΠΏΡΠ΅Π²Π΅Π΄ΡΠ²Π°ΡΠΎΡ Fift ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ³ΠΎΡΠ΅ ΠΈ ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π²ΠΌΠ΅ ΡΠΎ ΡΠ°Π·ΠΈΠΊΠΎΡ. ΠΠ°ΠΊΠΎ Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ ΡΠ΅Π³Π°? ΠΠ²Π° Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ°
Π‘ΠΌΠ΅ΡΠΊΠΈ Π²ΠΎ TON
ΠΠ°ΠΊΠΎ ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π² Π²ΠΎ
ΠΠΎ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π΅Π½ ΡΠ°Π±ΠΎΡΠ΅Π½ ΡΠΈΠ½ΡΠΈΡ, ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ ΠΌΠ½ΠΎΠ³Ρ ΡΠΌΠ΅ΡΠΊΠΈ ΠΊΠΎΠΈ ΠΈΠΌΠ°Π°Ρ ΡΠ²ΠΎΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° account_id. ΠΠ° Π³Π»Π°Π²Π½ΠΈΠΎΡ ΡΠΈΠ½ΡΠΈΡ ΠΈ Π½ΡΠ»Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΠΎΡ ΡΠΈΠ½ΡΠΈΡ, ΡΠΈΠ΅ ΡΠ΅ Π΄ΠΎΠ»Π³ΠΈ 256 Π±ΠΈΡΠ°. Π’Π°ΠΊΠ°, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΡ Π½Π° ΡΠΌΠ΅ΡΠΊΠ°ΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π°ΠΊΠ°:
-1:8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d
ΠΠ²Π° Π΅ βΡΡΡΠΎΠ²β ΡΠΎΡΠΌΠ°Ρ: ΠΏΡΠ²ΠΎ ID Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΠΎΡ ΡΠΈΠ½ΡΠΈΡ, ΠΏΠΎΡΠΎΠ° Π΄Π²Π΅ ΡΠΎΡΠΊΠΈ ΠΈ ID Π½Π° ΡΠΌΠ΅ΡΠΊΠ°ΡΠ° Π²ΠΎ Ρ Π΅ΠΊΡΠ°Π΄Π΅ΡΠΈΠΌΠ°Π»Π½Π° Π½ΠΎΡΠ°ΡΠΈΡΠ°.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΈ ΡΠΊΡΠ°ΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ - Π±ΡΠΎΡΠΎΡ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΠΎΡ ΡΠΈΠ½ΡΠΈΡ ΠΈ Π°Π΄ΡΠ΅ΡΠ°ΡΠ° Π½Π° ΡΠΌΠ΅ΡΠΊΠ°ΡΠ° ΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠ°Π½ΠΈ Π²ΠΎ Π±ΠΈΠ½Π°ΡΠ½Π° ΡΠΎΡΠΌΠ°, Π½Π° Π½ΠΈΠ² ΡΠ΅ Π΄ΠΎΠ΄Π°Π²Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π½Π° ΡΡΠΌΠ° ΠΈ ΡΠ΅ΡΠΎ ΡΠΎΠ° Π΅ ΡΠΈΡΡΠΈΡΠ°Π½ΠΎ Π²ΠΎ 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}
ΠΠ° Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΡΡΠΎ Π΅ Π·Π°ΡΡΠ²Π°Π½Π° Π²ΠΎ DHT Π½Π° Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΎΡ ΡΠ°Π±ΠΎΡΠ΅Π½ ΡΠΈΠ½ΡΠΈΡ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠ΅ΡΠ΅Π½ storage.balance
Π΅ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΡΠ΅ΠΊΠΎΠ²Π½Π°ΡΠ° ΡΠΌΠ΅ΡΠΊΠ°, Π²ΠΎ storage.state.code
- ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ ΠΊΠΎΠ΄ Π·Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ, ΠΈ Π²ΠΎ storage.state.data
- Π½Π΅ΡΠ·ΠΈΠ½ΠΈΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠΌΠ°ΡΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ TON - ΠΠ΅Π»ΠΈΡΠ°, ΡΠ΅Π»ΠΈΠΈ - Π΅ ΡΠ»ΠΈΡΠ½ΠΎ Π½Π° Π΄ΡΠ²ΠΎ, ΡΠ΅ΠΊΠΎΡΠ° ΡΠ΅Π»ΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° ΠΈ ΡΠ²ΠΎΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ Π΄Π΅ΡΡΠΊΠΈ ΡΠ΅Π»ΠΈΠΈ. ΠΠ²Π° Π΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ°Π½ΠΎ ΠΊΠ°ΠΊΠΎ Π²ΠΎΠ²Π»Π΅ΠΊΡΠ²Π°ΡΠ΅ Π²ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²ΠΈ.
ΠΡΠ°Π΄Π΅ΡΠ΅ ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ
Π‘Π΅Π³Π° Π°ΡΠ΄Π΅ ΡΠ°ΠΌΠΈ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ ΡΠ°ΠΊΠ²Π° ΡΡΡΡΠΊΡΡΡΠ° (ΡΠΎΠ° ΡΠ΅ Π²ΠΈΠΊΠ° ΠΠΠ¦ - Π²ΡΠ΅ΡΠ° ΡΠΎ ΠΊΠ»Π΅ΡΠΊΠΈ) ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΡΠ°Π·ΠΈΠΊΠΎΡ Fift. ΠΠ° ΡΡΠ΅ΡΠ°, Π½Π΅ ΠΌΠΎΡΠ° ΡΠ°ΠΌΠΈ Π΄Π° ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΏΠ°ΠΌΠ΅ΡΠ΅Π½ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ - Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°ΡΠ° crypto/block
ΠΈΠΌΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΎΠ΄ ΠΈΠ·Π²ΠΎΡΠ½Π°ΡΠ° Π°ΡΡ
ΠΈΠ²Π° new-wallet.fif
, ΡΡΠΎ ΡΠ΅ Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ Π½ΠΎΠ² ΠΏΠ°ΡΠΈΡΠ½ΠΈΠΊ. ΠΡΠ΄Π΅ Π΄Π° Π³ΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°ΡΠ° ΡΠΎ ΡΠΎΠ±ΡΠ°Π½ΠΈΠΎΡ ΠΊΠ»ΠΈΠ΅Π½Ρ (~/liteclient-build
, Π°ΠΊΠΎ Π³ΠΈ ΡΠ»Π΅Π΄Π΅Π²ΡΠ΅ ΡΠΏΠ°ΡΡΡΠ²Π°ΡΠ° ΠΏΠΎΠ³ΠΎΡΠ΅). ΠΠ° Π½Π°Π²Π΅Π΄ΠΎΠ² Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π° ΠΏΠΎΠ³ΠΎΡΠ΅ ΠΊΠ°ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΊΠΎΠ΄ Π½Π° Fift.
ΠΠ·Π²ΡΡΠ΅ΡΠ΅ ΡΠ° ΠΎΠ²Π°Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΠΎΠ² Π½Π°ΡΠΈΠ½:
./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) ΠΈ ΡΠ΅ΠΊΠ½ΠΎ Π½Π° Π²Π°ΡΠΈΠΎΡ ΠΏΠ°ΡΠΈΡΠ½ΠΈΠΊ (ΡΠΎΠ° Π΅ Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π½Π° 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 ΠΈ Π΄Π° ΠΈΡΠΏΡΠ°ΡΠ°ΠΌΠ΅ Π±Π°ΡΠ°ΡΠ° Π΄ΠΎ Π½ΠΈΠ². ΠΠ°ΠΊΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ΅Π³Π°ΡΠ½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π΅ Π²Π΅ΡΠ΅ Π΄ΠΎΠ²ΠΎΠ»Π½Π° Π·Π°, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΏΠΎΠΏΡΠΈΡΠ°ΡΠ΅Π»ΡΠΊΠΈ ΠΏΠ°ΡΠΈΡΠ½ΠΈΠΊ ΡΠΎ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ (ΡΠ΅ΠΏΠ°ΠΊ, ΡΠ΅ ΠΎΡΠ΅ΠΊΡΠ²Π° ΡΠΎΡ Π²Π΅ΡΠ΅ Π΄Π° ΡΡΠ°Π½Π΅ Π΄ΠΎΡΡΠ°ΠΏΠ΅Π½ ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ Π³Π»Π°ΡΠ½ΠΈΠΊΠΎΡ).
Π‘Π°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π°Ρ Π²ΠΎ Π°Π½ΠΊΠ΅ΡΠ°ΡΠ°.
ΠΠ°Π»ΠΈ ΡΡΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈΡΠ°Π½ΠΈ Π΄Π° Π³ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅ Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΡΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° Π’ΠΠ, Π’ΠΠ, Π€ΠΈΡΡ?
-
ΠΠ°, Π³ΠΎ ΡΠ΅ΠΊΠ°ΠΌ Π·Π°Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΠΈΡΠ°ΡΠ° Π½Π°ΠΏΠΈΡΠΈ ΡΠΎ ΠΎΠΏΡΡ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° Π’ΠΠ
-
ΠΠ°, ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΅ Π΄Π° ΠΏΡΠΎΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° ΡΠ°Π·ΠΈΠΊΠΎΡ Fift
-
ΠΠ°, ΡΠ°ΠΊΠ°ΠΌ Π΄Π° Π΄ΠΎΠ·Π½Π°Π°ΠΌ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° TON Virtual Machine ΠΈ Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΡ Π·Π° Π½Π΅Π°
-
ΠΠ΅, Π½ΠΈΡΡΠΎ ΠΎΠ΄ ΠΎΠ²Π° Π½Π΅ Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ
ΠΠ»Π°ΡΠ°Π° 39 ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ. 12 ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ Π±Π΅Π° Π²ΠΎΠ·Π΄ΡΠΆΠ°Π½ΠΈ.
Π¨ΡΠΎ ΠΌΠΈΡΠ»ΠΈΡΠ΅ Π·Π° ΠΏΠ»Π°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π° Telegram Π΄Π° Π³ΠΎ Π»Π°Π½ΡΠΈΡΠ° TON?
-
ΠΠΌΠ°ΠΌ Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π°Π΄Π΅ΠΆΠΈ Π·Π° ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ
-
Π‘Π°ΠΌΠΎ ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Π³ΠΎ ΡΠ»Π΅Π΄Π°ΠΌ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ ΡΠ°Π·Π²ΠΎΡ.
-
Π‘ΠΊΠ΅ΠΏΡΠΈΡΠ΅Π½ ΡΡΠΌ ΠΈ ΡΠ΅ ΡΠΎΠΌΠ½Π΅Π²Π°ΠΌ Π²ΠΎ Π½Π΅Π³ΠΎΠ²ΠΈΠΎΡ ΡΡΠΏΠ΅Ρ .
-
ΠΠ°Ρ ΡΡΠΌ ΡΠΊΠ»ΠΎΠ½ ΠΎΠ²Π°Π° ΠΈΠ½ΠΈΡΠΈΡΠ°ΡΠΈΠ²Π° Π΄Π° ΡΠ° ΡΠΌΠ΅ΡΠ°ΠΌ Π·Π° Π½Π΅ΡΡΠΏΠ΅ΡΠ½Π° ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π±Π½Π° Π·Π° ΡΠΈΡΠΎΠΊΠΈΡΠ΅ Π½Π°ΡΠΎΠ΄Π½ΠΈ ΠΌΠ°ΡΠΈ
ΠΠ»Π°ΡΠ°Π° 47 ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ. 12 ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ Π±Π΅Π° Π²ΠΎΠ·Π΄ΡΠΆΠ°Π½ΠΈ.
ΠΠ·Π²ΠΎΡ: www.habr.com