แแ แ แฌแแแแ แแแขแ แฎแแแก แฌแแ, แชแแแแแแ แแแฎแแ Telegram แแแกแแแฏแแ แแก แแแแแแแแก แจแแกแแฎแแ, แแแแแฃแจแแแก แกแแแฃแแแ แ แแแชแแแขแ แแแแแแแฃแแ แฅแกแแแ. แฆแแ แฅแกแแแแก แขแแแแแ แแแ. แจแแแแแ แฎแแแแแกแแฌแแแแแ แแแฎแแ แแแชแฃแแแแแแ แขแแฅแแแแฃแ แ แแแแฃแแแแขแ, แ แแแแแแช, แกแแแแ แแฃแแแ, แแแแแแแ แแฃแ แแแแ แแแฌแแ แ แแ แแฆแฌแแ แ แแแแแแแแ แฅแกแแแแก แกแขแ แฃแฅแขแฃแ แ. แแแแแแแก, แแแแช แแแแแขแแแ, แแแ แฉแแแ แฌแแแแแแฎแแ แฉแแแ แแแแแแชแแแ แแ แแแแฃแแแแขแแก แจแแกแแฎแแ (
แแแก แจแแแแแ, แ แแแแแแแแ แแฆแแก แฌแแ TON-แแก แแแแแแแแ แแแแก แกแขแแขแฃแกแแก แจแแกแแฎแแ แแแแจแแแแแแแแแ แกแแแฎแแ แแ แงแแคแแแ (แแ แ-แแ แแจแ
โฆ
โฆ
โฆ
โฆ
โฆ
โฆ
โฆ
โฆ
แแแแแแ แแ, แแแแ แแแก แแ แงแแแแ แแ แแแแฃแแแแขแแก แแคแแชแแแแฃแ แ แแแแแกแขแฃแ แแแ Telegram-แแแแ แแ แงแแคแแแ, แแแแ แแ แแ แแแกแแแแแแก แแแชแฃแแแแ แแแ แกแแแแแแ แแแแแฏแแ แแแแแก แฎแแแก. แแแฃแจแแแ แแแแแฅแแแงแแแแฃแแ แแแแแแขแ แกแแแฃแแแ แ แ แแกแแแก แคแแกแแ.
แกแแขแแกแขแ แแแแแแขแแก แจแแฅแแแ
แแแ แแแแ, แแแแแ แแชแแแแ แกแแชแแแแ แแแแแแขแแก แจแแฅแแแ แแ แแแจแแแแ - แกแแแแแแแแ แแ,
-
แฉแแแแขแแแ แแแ แแ แแแแแแแแแ
แฌแงแแ แแก แแ แฅแแแ . แแแแจแแแแแแแแแแ แฃแแฎแแแกแ แแแ แกแแแก แฉแแแแขแแแ แแแ, แ แแแแแ แแ แแขแแแแ แฃแแแ แแแแกแแแแแแแ แแแ แแแขแแ แแแฃแแ แแ แแ แแก. -
แแแ แฌแแฃแแแแ, แ แแ แกแแกแขแแแแแ แแแแแกแขแแแแ แแแฃแแแ make-แแก แฃแแฎแแแกแ แแแ แกแแแแ, cmake (แแแ แกแแ 3.0.2 แแ แฃแคแ แ แแแฆแแแ), OpenSSL (C header แคแแแแแแแก แฉแแแแแแ), 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 แแแ แขแฃแแแฃแ แ แแแแ แแขแแกแแแแก แแฅ แแแแแแงแแแแแ แกแฎแแ แแกแแแแแแแก แแแ (แแแฌแแ แแแแแแ แแ แจแแแฉแแ แแแแ), แ แแแแแก แแแกแขแ แฃแฅแชแแแแ แแแแแแแกแแแแ แแแแแฉแแแแแ.
แแแ แแแแ, TVM-แแก แแกแแแแแแ แ แแฌแแ แแแ 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 แแแแแชแแแแ แกแแชแแแ - แฃแฏแ แแแ, แฃแฏแ แแแแแ - แฎแแก แแกแแแแกแแ, แแแแแแฃแ แฃแฏแ แแแก แจแแแซแแแแ แฐแฅแแแแแก แ แแแแ แช แกแแแฃแแแ แ แแแแแชแแแแแ, แแกแแแ แจแแแแแแแแ แฃแฏแ แแแแแ. แแก แแแฉแแแแแแแ แ แแแแ แช แจแแฌแแแ แแแแ แกแขแ แแฅแแแแแจแ.
แญแแแแแแ แแแแขแ แแฅแขแแก แจแแฅแแแ
แแฎแแ แฉแแแ แแแแแแ แจแแแฅแแแแ แแกแแแ แกแขแ แฃแฅแขแฃแ แ (แแแก BOC แฐแฅแแแ - แฃแฏแ แแแแแแก แขแแแแ แ) 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-แจแ แแ แแแแฃแแแแแแแ แแแแฎแแแแ แแแ. แ แแแแ แช แฎแแแแแ, แแแแแแแแแแแ แคแฃแแฅแชแแแแแแแแ แฃแแแ แกแแแแแ แแกแแ, แแแแแแแแแ, แฃแคแ แ แแแแแแ แฃแแ แกแแคแฃแแแก แแแกแแแแแแแแแ แแ แแคแแแฃแแ แแแขแแ แคแแแกแแ (แแฃแแชแ, แแแกแแแแแแแแแ, แ แแ แแก แฃแแแ แฎแแแแแกแแฌแแแแแ แแแฎแแแแ แแแกแแแฏแแ แแก แแแฌแแแแ).
แแแแแแแแฎแแแจแ แแแแแฌแแแแแแ แจแแฃแซแแแแ แแฎแแแแ แแแ แแแแกแขแ แแ แแแฃแ แแแแฎแแแ แแแแแแก.
แแแแแขแแ แแกแแแฃแแ แฎแแ แ แกแขแแขแแแแแก แแแแ แซแแแแแแ TON, TVM, Fift-แแก แแแแแแแแ?
-
แแแแฎ, แแแแแแแแ แกแขแแขแแแแแก แกแแ แแแก แแแกแ แฃแแแแแก TON-แแก แแแแแแ แแแแแฎแแแแแ
-
แแแแฎ, แกแแแแขแแ แแกแแ แแแขแแก แฌแแแแแฎแแ Fift แแแแก แจแแกแแฎแแ
-
แแแแฎ, แแกแฃแ แก แแแขแ แแแกแฌแแแแ TON-แแก แแแ แขแฃแแแฃแ แ แแแแ แแขแแกแ แแ แแแกแ แแกแแแแแแ แแก แจแแกแแฎแแ
-
แแ แ, แแ แชแแ แแ แแ แแ แแก แกแแแแขแแ แแกแ
แแแกแชแ แฎแแ 39 แแแแฎแแแ แแแแแแ. 12-แแ แแแแฎแแแ แแแแแแ แแแแ แจแแแแแแ.
แ แแก แคแแฅแ แแแ Telegram-แแก TON-แแก แแแจแแแแแก แแแแแแแแ?
-
แแ แแ แแแฅแขแแ แแแแ แแแแแ แแแฅแแก
-
แฃแแ แแแแ แแแขแแ แแกแแ แแแแแแแแ แแแแแก แแแก แแแแแแแแ แแแแก.
-
แกแแแแขแแแฃแ แแ แแแ แแแแฌแงแแแแแ แแ แแแแญแแแแ แแแกแ แฌแแ แแแขแแแ.
-
แแแแ แแแแแ แแแ , แ แแ แแก แแแแชแแแขแแแ แฉแแแแ แแแแแ แแ แคแแ แแ แแแกแแแแกแแแแก แแ แแกแแญแแ แแ แแแแแฉแแแ
แแแกแชแ แฎแแ 47 แแแแฎแแแ แแแแแแ. 12-แแ แแแแฎแแแ แแแแแแ แแแแ แจแแแแแแ.
แฌแงแแ แ: www.habr.com