ProHoster > Blog > Rianachd > Dèan deuchainn air neach-dèiligidh TON (Telegram Open Network) agus cànan ùr Fift airson cùmhnantan snasail
Dèan deuchainn air neach-dèiligidh TON (Telegram Open Network) agus cànan ùr Fift airson cùmhnantan snasail
O chionn còrr is bliadhna, chaidh fios a thoirt mu phlanaichean teachdaire Telegram gus an lìonra dì-mheadhanaichte aca fhèin a leigeil ma sgaoil Teileagram Lìonra Fosgailte. An uairsin thàinig sgrìobhainn theicnigeach mòr ri fhaighinn, a chaidh a ràdh a chaidh a sgrìobhadh le Nikolai Durov agus a thug cunntas air structar lìonra san àm ri teachd. Dhaibhsan a chaill e, tha mi a’ moladh gun leugh thu an ath-aithris agam air an sgrìobhainn seo (pàirt de 1, pàirt de 2; tha an treas pàirt, mo thruaighe, fhathast a’ cruinneachadh duslach ann an dreach).
Bhon uairsin, chan eil naidheachd chudromach air a bhith ann mu inbhe leasachadh TON gu latha no dhà air ais (ann an aon de sianalan neo-oifigeil) cha do nochd an ceangal dhan duilleag https://test.ton.org/download.html, far a bheil iad:
◦ ton-test-liteclient-full.tar.xz - stòran neach-dèiligidh aotrom airson lìonra deuchainn TON;
◦ ton-lite-client-test1.config.json - faidhle rèiteachaidh airson ceangal ris an lìonra deuchainn;
◦ LEASACHADH - fiosrachadh mu bhith a 'togail agus a' cur air bhog an neach-dèiligidh;
◦ HOWTO - stiùireadh ceum air cheum mu bhith a’ cruthachadh cùmhnant snasail a’ cleachdadh teachdaiche;
◦ tunna.pdf - sgrìobhainn ùraichte (leis a’ cheann-latha 2 Màrt, 2019) le tar-shealladh teignigeach air lìonra TON;
◦ tbh.pdf - tuairisgeul teignigeach air TVM (TON Virtual Machine, inneal brìgheil TON);
◦ tblkch.pdf - tuairisgeul teicnigeach air blockchain TON;
◦ còigeamh bonn.pdf - tuairisgeul air a’ chànan ùr Fift, air a dhealbhadh gus cùmhnantan snasail a chruthachadh ann an TON.
Bidh mi a-rithist, cha robh dearbhadh oifigeil air an duilleag agus na sgrìobhainnean sin uile bho Telegram, ach tha meud nan stuthan sin gan dèanamh gu math so-chreidsinneach. Cuir air bhog an neach-dèiligidh foillsichte air do chunnart fhèin.
A 'togail neach-dèiligidh deuchainn
An toiseach, feuchaidh sinn ri teachdaiche deuchainn a thogail agus a ruith - gu fortanach, LEASACHADH a’ toirt cunntas mionaideach air a’ phròiseas shìmplidh seo. Nì mi seo a’ cleachdadh macOS 10.14.5 mar eisimpleir; chan urrainn dhomh dearbhadh airson soirbheachas an togail air siostaman eile.
Luchdaich sìos agus dì-phapadh tasglann stòr. Tha e cudromach an dreach as ùire a luchdachadh sìos oir chan eil gealltanas air co-fhreagarrachd air ais aig an ìre seo.
Dèan cinnteach gu bheil na dreachan as ùire de make, cmake (dreach 3.0.2 no nas àirde), OpenSSL (a’ toirt a-steach faidhlichean cinn C), g ++ no clang air an stàladh air an t-siostam. Cha robh agam ri dad a chuir a-steach, thàinig a h-uile càil còmhla sa bhad.
Gabhamaid ris gu bheil na stòran air an dì-phapadh ann am pasgan ~/lite-client. Air leth bhuaithe, cruthaich pasgan falamh airson a’ phròiseict cruinnichte (mar eisimpleir, ~/liteclient-build), agus uaith (cd ~/liteclient-build) cuir fios gu na h-òrdughan:
Ma thèid a h-uile càil a dhèanamh ceart, bu chòir dhut rudeigin mar seo fhaicinn:
Mar a chì sinn, chan eil mòran òrdughan rim faighinn:
◦ help - seall an liosta òrdughan seo;
◦ quit - Falbh a-mach;
◦ time - seall an ùine làithreach air an fhrithealaiche;
◦ status - seall an ceangal agus inbhe stòr-dàta ionadail;
◦ last - ùraich staid an blockchain (luchdaich sìos am bloc mu dheireadh). Tha e cudromach an àithne seo a ruith ro iarrtasan sam bith gus a bhith cinnteach gum faic thu staid làithreach an lìonraidh.
◦ sendfile<filename> - luchdaich suas faidhle ionadail gu lìonra TON. Seo mar a tha eadar-obrachadh leis an lìonra a’ tachairt - a’ toirt a-steach, mar eisimpleir, cruthachadh chùmhnantan snasail ùra agus iarrtasan airson airgead a ghluasad eadar cunntasan;
◦ getaccount<address> - seall an sruth (aig an àm a chaidh an àithne a chuir gu bàs) last) inbhe a’ chunntais leis an t-seòladh ainmichte;
◦ privkey<filename> - luchdaich an iuchair phrìobhaideach bho fhaidhle ionadail.
Ma tha, nuair a thòisicheas tu air an neach-dèiligidh, gun gluais thu pasgan thuige a’ cleachdadh an roghainn -D, an uairsin cuiridh e am bloc mu dheireadh den mhaighstir-chainn ann:
A-nis is urrainn dhuinn gluasad air adhart gu rudan nas inntinniche - ionnsaich cànan Fift, feuch ri cùmhnant snasail a chuir ri chèile (mar eisimpleir, cruthaich wallet deuchainn), luchdaich suas e chun lìonra agus feuch ri airgead a ghluasad eadar cunntasan.
Cànain Fift
Bhon sgrìobhainn còigeamh bonn.pdf gheibh thu a-mach gu bheil sgioba Telegram air cànan stac ùr a chruthachadh gus cùmhnantan snasail a chruthachadh Còigeamh (a rèir coltais bhon àireamh an còigeamh, coltach ri Forth, cànan aig a bheil mòran ann an co-roinn aig a' chòigeamh).
Tha an sgrìobhainn gu math voluminous, 87 duilleagan, agus cha bhith mi ag innse na th’ ann gu mionaideach taobh a-staigh frèam an artaigil seo (co-dhiù leis nach eil mi deiseil ga leughadh mi-fhìn :). Cuiridh mi fòcas air na prìomh phuingean agus bheir mi seachad eisimpleir còd no dhà sa chànan seo.
Aig ìre bhunaiteach, tha co-chòrdadh Fift gu math sìmplidh: tha a chòd air a dhèanamh suas de faclan, mar as trice air a sgaradh le beàrnan no briseadh loidhne (cùis shònraichte: chan fheum cuid de dh’ fhaclan dealaiche às an dèidh fhèin). Sam bith am facal 'S e sreath de charactaran a tha mothachail air cùis a tha a' freagairt ri cuid определение (timcheall air, dè bu chòir don eadar-theangair a dhèanamh nuair a choinnicheas e ris an fhacal seo). Mura h-eil mìneachadh air facal, feuchaidh an t-eadar-theangair ri a pharsadh mar àireamh agus a chuir air a’ chruach. Air an t-slighe, tha na h-àireamhan an seo - gu h-obann - àireamhan 257-bit, agus chan eil bloighean ann idir - nas mionaidiche, bidh iad a 'tionndadh gu bhith nan àireamhan iomlan, a' cruthachadh àireamhaiche agus seòrsaiche bloigh reusanta.
Tha faclan buailteach a bhith ag eadar-obrachadh le luachan aig mullach a’ chruach. Seòrsa facail air leth - ro-leasachan - chan eil e a’ cleachdadh a’ chruach, ach na caractaran às deidh sin bhon fhaidhle stòr. Mar eisimpleir, seo mar a tha litrichean sreang air an cur an gnìomh - an caractar cuòt (") na fhacal ro-leasachan a tha a’ coimhead airson an ath abairt (dùnadh), agus a’ putadh an t-sreang eatorra air a’ chruach. Bidh aon-loidhnichean gan giùlan fhèin san aon dòigh (//) agus ioma-loidhne (/*) beachdan.
Seo far a bheil cha mhòr structar a-staigh a’ chànain a’ tighinn gu crìch. Tha a h-uile càil eile (a’ gabhail a-steach togail smachd) air a mhìneachadh mar fhaclan (an dàrna cuid air an taobh a-staigh, leithid gnìomhachd àireamhachd agus mìneachadh fhaclan ùra; no air a mhìneachadh anns an “leabharlann àbhaisteach” Fift.fif, a tha sa phasgan crypto/fift anns na stòran).
Prògram eisimpleir sìmplidh ann am Fift:
{ dup =: x dup * =: y } : setxy
3 setxy x . y . x y + .
7 setxy x . y . x y + .
Tha a’ chiad loidhne a’ mìneachadh facal ùr setxy (thoir an aire don ro-leasachan {, a chruthaicheas bloc mus tèid an dùnadh } agus ro-leasachan :, a tha dha-rìribh a’ mìneachadh an fhacail). setxy a’ toirt àireamh bho mhullach na stac, ga mhìneachadh (no ag ath-mhìneachadh) mar chruinneil seasmhachx, agus ceàrnag na h-àireimh so mar chuibhreach y (Leis gu bheil e comasach luachan seasmhach ath-mhìneachadh, b’ fheàrr leam caochladairean a ghairm orra, ach tha mi a’ leantainn a’ ghnàthachaidh ainmeachadh sa chànan).
Chuir an ath dhà loidhne àireamh air a’ chruach agus glaodh setxy, an uairsin tha luachan nan cunbhalach air an taisbeanadh x, y (tha am facal air a chleachdadh airson toradh .), tha an dà chuid seasmhach air an cur air a’ chruach, air an geàrr-chunntas, agus tha an toradh air a chlò-bhualadh cuideachd. Mar thoradh air sin chì sinn:
3 9 12 ok
7 49 56 ok
(Tha an loidhne “ceart gu leòr” air a chlò-bhualadh leis an eadar-theangair nuair a bhios i deiseil a’ giullachd na loidhne gnàthach ann am modh cuir a-steach eadar-ghnìomhach)
Tha am faidhle eagallach seo airson cùmhnant snasail a chruthachadh - thèid a chuir ann am faidhle new-wallet-query.boc an dèidh a chur gu bàs. Thoir an aire gu bheil cànan cruinneachaidh eile air a chleachdadh an seo airson TON Virtual Machine (cha bhith mi a’ fuireach air gu mionaideach), agus thèid an stiùireadh a chuir air an blockchain.
Mar sin, tha an neach-cruinneachaidh airson TVM sgrìobhte ann am Fift - tha stòran an neach-cruinneachaidh seo anns an fhaidhle crypto/fift/Asm.fif agus tha iad ceangailte aig toiseach a’ phìos còd gu h-àrd.
Dè as urrainn dhomh a ràdh, a rèir coltais is toil le Nikolai Durov cànanan prògramaidh ùra a chruthachadh :)
A’ cruthachadh cùmhnant snasail agus ag eadar-obrachadh le TON
Mar sin, leig dhuinn gabhail ris gu bheil sinn air an neach-dèiligidh TON agus an eadar-theangair Fift a chruinneachadh mar a chaidh a mhìneachadh gu h-àrd agus a bhith eòlach air a’ chànan. Ciamar a chruthachadh smart cùmhnant a-nis? Tha seo air a mhìneachadh anns an fhaidhle HOWTO, ceangailte ris na stòran.
Cunntasan ann an TON
Mar a mhìnich mi ann an Lèirmheas TON, tha barrachd air aon blockchain anns an lìonra seo - tha aon cumanta ann, ris an canar. "prìomh shreath", a bharrachd air àireamh neo-riaghailteach de "slabhraidhean obrach" a bharrachd, air an comharrachadh le àireamh 32-bit. Tha aithnichear -1 aig an masterchain; a bharrachd air sin, faodar sèine-obrach “bonn” le aithnichear 0 a chleachdadh cuideachd. Faodaidh a rèiteachadh fhèin a bhith aig gach slabhraidh-obrach. Taobh a-staigh, tha gach sreath-obrach air a roinn ann an shardchains, ach is e mion-fhiosrachadh buileachaidh a tha seo nach fheumar a chumail nad inntinn.
Taobh a-staigh aon sreath-obrach, tha mòran chunntasan air an stòradh aig a bheil na h-aithnichearan account_id aca fhèin. Airson a’ phrìomh shlabhraidh agus an t-sèine obrach neoni, tha iad 256 pìosan a dh’fhaid. Mar sin, tha aithnichear a’ chunntais sgrìobhte, mar eisimpleir, mar seo:
Is e seo an cruth “amh”: an toiseach ID an t-slabhraidh-obrach, an uairsin coloin, agus ID a’ chunntais ann an comharradh hexadecimal.
A bharrachd air an sin, tha cruth nas giorra ann - tha àireamh an t-slabhraidh obrach agus seòladh a’ chunntais air an còdachadh ann an cruth binary, thèid seic a chuir riutha, agus tha seo uile air a chòdachadh ann am Base64:
Ef+BVndbeTJeXWLnQtm5bDC2UVpc0vH2TF2ksZPAPwcODSkb
Le eòlas air a’ chruth clàraidh seo, is urrainn dhuinn staid làithreach cunntais iarraidh tro neach-dèiligidh deuchainn a’ cleachdadh an àithne
[ 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}
Chì sinn an structar a tha air a stòradh ann an DHT den t-sreath obrach ainmichte. Mar eisimpleir, anns an raon storage.balance a bheil cothromachadh a' chunntais làithreach, ann an storage.state.code - smart còd cùmhnant, agus ann an storage.state.data - an dàta làithreach aige. Thoir an aire gu bheil stòradh dàta TON - Cell, ceallan - coltach ri craobhan, faodaidh an dàta fhèin agus ceallan cloinne a bhith aig gach cealla. Tha seo air a shealltainn mar indentation anns na loidhnichean mu dheireadh.
A 'togail cùmhnant smart
A-nis cruthaichidh sinn structar mar sin sinn fhìn (is e BOC a chanar ris - poca de cheallan) a’ cleachdadh cànan Fift. Gu fortanach, chan fheum thu cùmhnant snasail a sgrìobhadh thu fhèin - sa phasgan crypto/block tha faidhle ann bhon tasglann thùsail new-wallet.fif, a chuidicheas sinn gus wallet ùr a chruthachadh. Nach dèan sinn lethbhreac dheth chun phasgan leis a’ chleachdaiche cruinnichte (~/liteclient-build, ma lean thu an stiùireadh gu h-àrd). Dh’ ainmich mi na tha ann gu h-àrd mar eisimpleir de chòd air Fift.
tha e <source-directory> feumar an t-slighe gu na stòran gun phacaid a chuir na àite (gu mì-fhortanach chan urrainnear an samhla “~” a chleachdadh an seo, tha feum air an t-slighe iomlan). An àite a bhith a 'cleachdadh iuchair -I faodaidh tu caochladair àrainneachd a mhìneachadh FIFTPATH agus cuir an t-slighe so innte.
Bho chuir sinn Fift air bhog le ainm an fhaidhle new-wallet.fif, cuiridh e an gnìomh e agus falbhaidh e. Ma dh’ fhàgas tu ainm an fhaidhle, faodaidh tu cluich leis an eadar-theangair gu h-eadar-obrachail.
Às deidh a chuir gu bàs, bu chòir rudeigin mar seo a bhith air a thaisbeanadh sa chonsail:
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)
Tha seo a’ ciallachadh gu bheil am wallet leis an ID -1:4fcd520b8fcca096b567d734be3528edc6bed005f6930a9ec9ac1aa714f211f2 (no, ciod a tha mar an ceudna, 0f9PzVILj8yglrVn1zS-NSjtxr7QBfaTCp7JrBqnFPIR8nhZ) air a chruthachadh gu soirbheachail. Bidh an còd co-fhreagarrach anns an fhaidhle new-wallet-query.boc, tha an seòladh aige a-staigh new-wallet.addr, agus tha an iuchair phrìobhaideach a-staigh new-wallet.pk (bi faiceallach - ma ruitheas tu an sgriobt a-rithist thèid na faidhlichean sin thairis air).
Gu dearbh, chan eil fios aig lìonra TON mun wallet seo fhathast; tha e air a stòradh a-mhàin ann an cruth nam faidhlichean sin. A-nis feumaidh e bhith air a luchdachadh suas dhan lìonra. Ach, is e an duilgheadas a th ’ann, gus cùmhnant snasail a chruthachadh feumaidh tu coimisean a phàigheadh, agus tha cothromachadh a’ chunntais agad fhathast neoni.
Ann am modh obrach, thèid an duilgheadas seo fhuasgladh le bhith a 'ceannach graman air an iomlaid (no a' gluasad bho sporan eile). Uill, anns a 'mhodh deuchainn làithreach, chaidh cùmhnant snasail sònraichte a chruthachadh, às an urrainn dhut suas ri 20 gram iarraidh dìreach mar sin.
A’ gineadh iarrtas gu cùmhnant smart cuideigin eile
Bidh sinn a’ dèanamh iarrtas gu cùmhnant snasail a bhios a’ cuairteachadh graman clì is deas mar seo. Anns an aon phasgan crypto/block lorg am faidhle 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
Sàbhailidh sinn e sa phasgan leis a’ chleachdaiche cruinnichte, ach ceartaichidh sinn an còigeamh loidhne - ron loidhne “constant dest_addr". Nach cuir sinn seòladh a’ wallet a chruthaich thu roimhe na àite (làn, gun ghiorrachadh). Chan eil feum air “-1:” a sgrìobhadh aig an toiseach, an àite sin cuir “0x” aig an toiseach.
Faodaidh tu cuideachd an loidhne atharrachadh 6.666 Gram*/ constant amount - seo an t-suim ann an graman a tha thu ag iarraidh (gun a bhith nas fhaide na 20). Fiù ma shònraicheas tu àireamh slàn, fàg am puing deicheach.
Mu dheireadh, feumaidh tu an loidhne a cheartachadh 0x00000011 constant seqno. Is e a’ chiad àireamh an seo an àireamh sreath gnàthach, a tha air a stòradh sa chunntas toirt a-mach gram. Cò às a gheibh mi e? Mar a chaidh a ràdh gu h-àrd, tòisich an neach-dèiligidh agus ruith:
last
getaccount -1:8156775b79325e5d62e742d9b96c30b6515a5cd2f1f64c5da4b193c03f070e0d
Aig a’ cheann thall, bidh dàta cùmhnant snasail ann
Is e an àireamh 0000000D (bidh an àireamh agad nas motha) an àireamh sreath a dh’ fheumar a chuir na àite testgiver.fif.
Sin agad e, sàbhail am faidhle agus ruith (./crypto/fift testgiver.fif). Bidh an toradh mar fhaidhle wallet-query.boc. Is e seo a tha air a chruthachadh teachdaireachd gu cùmhnant snasail cuideigin eile - iarrtas “cuir uimhir de ghramaichean gu cunntas mar sin agus gu cunntas mar sin.”
A’ cleachdadh an neach-dèiligidh, bidh sinn ga luchdachadh suas chun lìonra:
> 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
Ma chuireas tu fòn a-nis last, agus an uairsin a-rithist ag iarraidh inbhe a 'chunntais bhon do dh' iarr sinn gram, an uairsin bu chòir dhuinn faicinn gu bheil an àireamh sreath aige air a dhol suas le aon - tha seo a 'ciallachadh gun do chuir e airgead chun chunntas againn.
Tha an ceum mu dheireadh fhathast - luchdaich sìos còd ar wallet (tha an cothromachadh aige air ath-lìonadh mar-thà, ach às aonais a ’chòd cùmhnant smart cha bhith e comasach dhuinn a riaghladh). Bidh sinn a 'coileanadh sendfile new-wallet-query.boc - agus sin agad e, tha am wallet agad fhèin air lìonra TON (eadhon ged nach eil ann ach deuchainn airson a-nis).
Cruthachadh ghnothaichean a-mach
Gus airgead a ghluasad bho chothromachadh a 'chunntais chruthaichte, tha faidhle ann crypto/block/wallet.fif, a dh’ fheumar cuideachd a chuir sa phasgan leis a ’chliant cruinnichte.
Coltach ris na ceumannan roimhe, feumaidh tu an t-suim a tha thu a’ gluasad atharrachadh, seòladh an neach a gheibh thu (dest_addr), agus seqno do wallet (tha e co-ionann ri 1 às deidh dhut am wallet a thòiseachadh agus àrdachadh le 1 às deidh gach gnothach a-mach - faodaidh tu faic e le bhith ag iarraidh inbhe a’ chunntais agad). Airson deuchainnean, faodaidh tu, mar eisimpleir, mo wallet a chleachdadh - 0x4fcd520b8fcca096b567d734be3528edc6bed005f6930a9ec9ac1aa714f211f2.
Aig toiseach tòiseachaidh (./crypto/fift wallet.fif) bheir an sgriobt seòladh do wallet (às an gluais thu) agus an iuchair phrìobhaideach aige bho na faidhlichean new-wallet.addr и new-wallet.pk, agus thèid an teachdaireachd a fhuaireadh a sgrìobhadh thuige new-wallet-query.boc.
Mar roimhe, gus an gnothach a choileanadh gu dìreach, cuir fòn sendfile new-wallet-query.boc anns a' chliant. Às deidh seo, na dìochuimhnich ùrachadh a dhèanamh air staid an blockchain (last) agus dèan cinnteach gu bheil cothromachadh agus seqno ar wallet air atharrachadh (getaccount <account_id>).
Tha sin uile, a-nis is urrainn dhuinn cùmhnantan snasail a chruthachadh ann an TON agus iarrtasan a chuir thuca. Mar a chì thu, tha an comas-gnìomh gnàthach gu leòr mu thràth, mar eisimpleir, wallet nas càirdeile a dhèanamh le eadar-aghaidh grafaigeach (ge-tà, thathas an dùil gum bi e ri fhaighinn mar-thà mar phàirt den teachdaire).
Chan fhaod ach luchd-cleachdaidh clàraichte pàirt a ghabhail san sgrùdadh. Soidhnig a-steach, mas e do thoil e.
A bheil ùidh agad ann a bhith a’ leantainn leis na h-artaigilean le mion-sgrùdadh air TON, TVM, Fift?
Tha, tha mi a’ feitheamh ris an t-sreath artaigilean a chrìochnachadh le sealladh farsaing air TON
Seadh, tha e inntinneach barrachd a leughadh mun chànan Fift
Tha, tha mi airson barrachd ionnsachadh mu TON Virtual Machine agus an cruinneachaidh air a shon