á¨á ááľ á ááľ á ááľ á¨á´áááŤá áááĽáá°á á¨áŤáąá áŤáá°áá¨á á ááłá¨áá¨áĽ ááááá
áľááá°á áĽá
áľ á¨áłáá áá á¨á ááłá¨ áá¨áĽ á´áááŤáá ááááą. á¨ááŤá á ááŽáá áąáŽá á¨á°áá áĽá á¨áá°ááąá á ááłá¨áá¨áĽ á ááááŠá á¨áááá˝ ááá á´áááŤá á°ááľ á°ááᢠááááĄáŁ áá
á á°ááľ áĽáá°áá ááááźá áĽáá˛áŤááĄáľ áĽáááŤááá˘
á¨ááŤá áá áááŽáŁ á¨áĽááľ áááľ á ááľ (á á áá°áá ááľáĽ) áľá áśá áááľ áááł ááá á áá áá á¨áá
âŚ
âŚ
âŚ
âŚ
âŚ
âŚ
âŚ
âŚ
áĽá°ááááá ᣠá¨ááš áĽá áĽááá áá á°ááśá˝ á¨á´áááŤá ááá áŚáá´áá áá¨áá፠á ááá á¨á ᣠáá á¨áĽááá ááłááśá˝ áá á á áŁá ááááŤáłá áŤá°ááá¸ááᢠá¨áłá°ááá á°áá á áŤááą á áŤáą áááááľ.
á¨áá¨áŤ á°áá á ááááŁáľ
ááááá ᣠá¨áá¨áŤ á°áá áá áááááŁáľ áĽá ááááľ áĽáááá - áĽáŠ áŁ
-
á ááá¨áľ áĽá á ááá¨áľ áá
ááá áá á°á . á áá á°á¨á áá° áá á°áłááááľ ááľáľá áľáááá°áĽ á¨á áἠáááá áľáŞáľ ááá¨áľ á áľááá áá. -
á á˛áľá°áá áá á¨á áἠáááᚠᨠmakeᣠcmake (áľáŞáľ 3.0.2 ááá á¨á፠á áá)ᣠOpenSSL (C headersá á¨ááŽ)ᣠ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
, á¨ááŤá ᨠmasterchain á¨áá¨á¨áťáá áĽááł áá° ááľáĽ áá¨áá¨áá:
./test-lite-client -C ton-lite-client-test1.config.json -D ~/ton-db-dir
á áá áá° áá áἠá áľá°áłá˝ áááŽá˝ áááľ áĽáá˝ááá - Fift áááá áááŠ, áĽáἠáá ááááááľ áááአ(áááłá, á¨áá¨áŤ áŚááł ááá áŠ), áá° á ááłá¨ áá¨áĄ ááľáááľ áĽá á áááŤáá˝ ááŤá¨á áááἠáááľá°ááá ááááŠ.
á ááľáľ ááá
á¨á°ááľ
á°ááą á áŁá áĽá ᣠ87 áážá˝ áá ᣠáĽá áááąá á áá á˝áá áááá ááľáĽ á áááá á áááá˝á (á˘áŤááľ áĽá áŤá´ á ááĽá¤ áľááá¨á¨áľáŠ :)ᢠá áá áá ááĽáŚáš áá áĽááŤáá áĽá á áá ááá ááľáĽ áááľ á¨áŽáľ ááłááá˝á áĽá°áŁáá.
á áá á¨áłá á°á¨á ᣠFift's syntax á áŁá ááá áá: á¨áĽáą áŽáľ áŤáŤáľáłá áááľ, áĽááá áá á áŚáłáá˝ ááá á á áłá˛áľ ááľááŽá˝ (áአááłá: á ááłááľ áááľ á¨áŤáłá¸á á áá áááŤá¨áľá á ááááá). ááááá áá á¨á ááłááśáš áá á¨ááááľ á¨ááááá˝ á á°á á°á¨á°á áá áľááá (á áááľ á áľá°áááá áá á áá á˛áŤáá áá ááľá¨á áĽááłáá áľ)ᢠá¨áááľ ááş á¨ááᣠá áľá°áááá áĽáá° ááĽá áá°áá°á áĽá áá° ááá áááá ááááŤáᢠá áááŤá˝á áá ᣠáĽáá áŤááľ ááĽáŽá˝ - á áľáááľ - 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
á¨á°áá°á á áá. áĽáŁááá ááśá á¨áášáá áá˝á áá á¨áá°áĽá°á˘áŤ ááá áĽáá
áĽá
á áá áááá (á áááአáá á ááááĽá) ᣠá¨áĽáą áááŞáŤ á áĽáááźáá áá ááááŁáá˘
áľááá
, áá˛áŞá¤á á°áĽáłá˘á á Fift ááľáĽ á°á˝áá - á¨áá
á°áĽáłá˘ ááá áŽáľ á ááá ááľáĽ áá. crypto/fift/Asm.fif
áĽá á¨áá áŁáá áŽáľ ááááŞáŤ áá á°áááá°áá.
áá áááľ áĽá˝ááá ᣠá ááὠᣠááŽáá áąáŽá á á˛áľ á¨ááŽááŤá ááááá˝á ááá á áááłá đ
ᨠTON áá áĽáá áá ááá á áĽá ááľá°ááĽá
áĽááá˛á
á¨áá áĽáá°á°ááá¸á á¨áśá á°áá á áĽá ááááľ á áľá°ááá áááĽá°á ááááá á°ááá
á áĽáá áᢠá áá áĽáἠáá áĽáá´áľ ááá á áĽáá°ááťá? áá
á ááá ááľáĽ á°áááżá.
á áśá ááľáĽ áŤá áááŤáá˝
ááľáĽ áĽáá°ááá˝áŠáľ
á á ááľ á¨áľáŤ á°áá°ááľ ááľáĽ á¨áŤáłá¸á á¨áááŤ_ááłáá፠áá፠áŤáá¸á áĽá áááŤáá˝ á°á¨áá˝á°ááᢠá masterchain áĽá null workchain, 256 á˘áľ ááááľ á áá¸á. áľááá ᣠá¨áá፠ááłáááŤá á¨á°áťáá áááłá áĽáá°áá áááĄ-
-1:8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d
áá áĽáŹá á áá¸áľ ááᥠá ááááŞáŤ á¨áľáŤ á°áá°ááľ ááłáááŤáŁ á ááá á áŽáá áĽá á¨áá፠ááłáá፠á áááłá´á˛áá ááłá˘
á á°á¨ááŞá ᣠá áá á áá¸áľ á á - á¨áľáŤ á°áá°ááľ ááĽá áĽá áá፠á áľáŤáť á áááľáŽá˝ ááá á°ááá áá ᣠáźá áľáá ááĽááą áłááá ᣠáĽá áá áá á 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}
á á°á áá°á á¨áľáŤ á°áá°ááľ ááľáĽ á á˛á¤á˝á˛ ááľáĽ á¨á°ááá áá ááá
á áĽááŤáá. áááłá á ááľá áá storage.balance
á áá áŤáá á¨ááłáĽ á᪠ááłáĽáŁ á storage.state.code
á¨áľáááľ áŽááľáŤáą áŽáľ áá ᣠáĽá ááľáĽ storage.state.data
- á¨á áá áááĽ. áĽáŁááá áŤáľá°áá á¨áśá áá¨á áá¨ááť - á´áᣠá´á - áĽáá° áá ááᣠáĽáŤááłááą á´á áááąá á¨áŤáą ááἠáĽá á¨áá
á
ááśá˝ áááŠáľ áá˝ááᢠáá
á áá¨á¨áťááš ááľááŽá˝ áá áĽáá° ááľáá˘áŤ áá ááłáŤá.
áĽáá áá ááááŁáľ
á áá áĽáá°áá
á áááľ ááá
á áĽáŤáłá˝áá áĽááá á (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
(á°á ááá
- áľááŞááąá áĽáá°áá ááľáŹáľ áĽááá
á áááá˝ áá°áŤáá)á˘
áĽááἠáá, á¨áśá ááľááá áľááá á¨áŞáľ áŚááł áĽáľáŤáá á áŤáá á, á áĽááá áááá˝ ááá áĽáť áá á¨á°ááá á. á áá áá° á ááłá¨ áá¨áĄ ááŤá á áá áľá˘ áĽáááľ áá, á˝áአáĽáἠáá áááá á, áŽáá˝á áááá á ááĽááľ, áĽá á¨ááłáĽá á᪠ááłáĽ á ááá áᎠáá.
á áľáŤ áááł, áá á˝áá á áááááŤá áá ááŤá á ááááľ (ááá á¨áá áŚááł á ááľá°ááá) áááľá áŤááá. á°á á, á áá áŁáá á¨áá¨áŤ áááł, áአáááá áŽááľáŤáľ á°áááŻá, á¨áĽáą áĽáľá¨ 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
- áĽá ፠áá ᣠá áśá á ááłá¨áá¨áĽ ááľáĽ á¨áŤáľá á¨áŞáľ áŚááł á áááľ (ááá áĽááłá áá áá áá¨áŤ áĽáť)á˘
á¨á᪠ááĽááśá˝á ááá áŠ
á¨á°áá á¨á áá፠á᪠ááłáĽ áááἠáááľá°ááá, ááá á á 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 ᣠTVM ᣠFift áľáá°á ááŁáĽáá˝á áááá á ááááá?
-
á áᣠá¨áśá á á ááá áĽááł áŤáá¸á á°á¨áłáłá ááŁáĽáá˝ áĽáľáŞá ááá áľá¨áľ áĽá¨á á á አááá˘
-
á áᣠáľá á ááľáą ááá á¨á áá ááá ἠá áľá°áłá˝ ááá˘
-
á áᣠáľá áśá á¨áášáá áá˝á áĽá ááĽáą á á°áŁáłá˘ á¨á áá ááá áĽááááá
-
á áᣠááá ââááá ááááľ á¨áááá˘
39 á°á áááá˝ áľáá˝ á°áĽá°ááᢠ12 á°á áááá˝ áľáá á°á á ጠá áľááááá˘
á´áááŤá áśá áááááľ áľááá áĽá áľ áá áá°áááłá?
-
ááá ááŽáááľ áľáá á°áľá á ááá˘
-
á ááááľ áĽáť áá á¨áá¨áłá°ááá˘
-
á°á áŤáŁáŞ ááᣠáľáŹáąá áĽá áŤá áŤááá˘
-
áĽá áá á á°ááłá˝ááľ ááĽááá á¨ááŤáľááá ááľááľ á áľáá áá á¨áá¨á
47 á°á áááá˝ áľáá˝ á°áĽá°ááᢠ12 á°á áááá˝ áľáá á°á á
ጠá áľááááá˘
ááá: hab.com