Incwadi ethi "Ukudala izivumelwano ezihlakaniphile ze-Ethereum blockchain. Isikhokelo esisebenzayo"

Incwadi ethi "Ukudala izivumelwano ezihlakaniphile ze-Ethereum blockchain. Isikhokelo esisebenzayo"
Ngaphezulu konyaka ndisebenza kwincwadi ethi "Ukudala i-Solidity Smart Contracts ye-Ethereum Blockchain. Isikhokelo esisebenzayo", kwaye ngoku lo msebenzi ugqityiwe, kunye nencwadi ipapashwe kwaye ifumaneka ngeeLitha.

Ndiyathemba ukuba incwadi yam iya kukunceda ngokukhawuleza uqalise ukudala abafowunelwa be-Solidity smart kunye nokusabalalisa i-DApps ye-blockchain ye-Ethereum. Inezifundo ezili-12 ezinemisebenzi eyenziwayo. Emva kokuwagqiba, umfundi uya kukwazi ukudala iindawo zabo ze-Ethereum zendawo, ukupapasha izivumelwano ezihlakaniphile kwaye ubize iindlela zabo, utshintshiselwano lwedatha phakathi kwehlabathi lenene kunye nezivumelwano ezihlakaniphile usebenzisa i-oracles, kunye nokusebenza kunye ne-Rinkeby test debug network.

Incwadi ibhekiswa kuye nabani na onomdla kubuchwephesha obuphambili kwintsimi yebhlokhi kwaye ufuna ukufumana ngokukhawuleza ulwazi olubavumela ukuba babandakanyeke kumsebenzi onomdla kunye nothembisayo.

Ngezantsi uya kufumana uluhlu lweziqulatho kunye nesahluko sokuqala sencwadi (kunye nokunye Litrese iziqwenga zencwadi ziyafumaneka). Ndiyathemba ukufumana impendulo, izimvo kunye neengcebiso. Ndiza kuzama ukukuthathela ingqalelo konke oku xa ndilungiselela uhlelo olulandelayo lwencwadi.

Uluhlu lomxholoIntshayeleloIncwadi yethu ihloselwe abo bangafuni ukuqonda kuphela imigaqo ye-blockchain ye-Ethereum, kodwa kunye nokufumana izakhono ezisebenzayo ekudaleni i-DApps ezisasazwayo ngolwimi lweprogram ye-Solidity kule nethiwekhi.

Kungcono kungekhona nje ukufunda le ncwadi, kodwa ukusebenza nayo, ukwenza imisebenzi ephathekayo echazwe kwizifundo. Ukuze usebenze, uya kufuna ikhompyuter yendawo, iseva yenyani okanye yelifu ene-Debian okanye Ubuntu OS efakiweyo. Unokusebenzisa iRaspberry Pi ukwenza imisebenzi emininzi.

Kwisifundo sokuqala Siza kujonga imigaqo yokusebenza ye-blockchain ye-Ethereum kunye nesigama esisisiseko, kwaye siphinde sithethe malunga nalapho le blockchain ingasetyenziswa.

Injongo isifundo sesibini - yenza i-node ye-blockchain ye-Ethereum yangasese ukuze usebenze ngakumbi ngaphakathi kwesi sifundo kwi-Ubuntu kunye ne-Debian server. Siza kujonga kwiimpawu zokufakela izinto ezisisiseko, ezifana ne-geth, eqinisekisa ukusebenza kwe-blockchain node yethu, kunye ne-swarm yokugcina idatha ye-daemon.

Isifundo sesithathu iya kukufundisa indlela yokulinga nge-Ethereum kwi-microcomputer ye-Raspberry Pi engabizi. Uya kufaka i-Rasberian operating system (OS) kwi-Raspberry Pi, i-Geth utility enika amandla i-blockchain node, kunye ne-Swarm yokugcinwa kwedatha ye-daemon.

Isifundo sesine inikezelwe kwiiakhawunti kunye neeyunithi ze-cryptocurrency kwinethiwekhi ye-Ethereum, kunye neendlela zokudlulisa imali kwi-akhawunti enye ukuya kwenye ukusuka kwi-console ye-Geth. Uya kufunda ukwenza ii-akhawunti, uqalise utshintshiselwano lwengxowa-mali, kwaye ufumane ubume bentengiselwano kunye nerisithi.

Kwisifundo sesihlanu Uya kuqhelana neekontraki ezihlakaniphile kwinethiwekhi ye-Ethereum kwaye ufunde malunga nokubulawa kwabo ngumatshini we-Ethereum virtual.

Uya kudala kwaye upapashe isivumelwano sakho sokuqala esihlakaniphile kwinethiwekhi yangasese ye-Ethereum kwaye ufunde indlela yokubiza imisebenzi yayo. Ukwenza oku, uya kusebenzisa i-Remix Solidity IDE. Uya kufunda kwakhona indlela yokufaka kunye nokusebenzisa i-solc batch compiler.
Siza kuthetha nangento ebizwa ngokuba yi-Application Binary Interface (ABI) kwaye sikufundise indlela yokuyisebenzisa.

Isifundo sesithandathu inikezelwe ekudaleni izikripthi zeJavaScript ezisebenzisa iNode.js kunye nokwenza imisebenzi ngeSolidity iikhontrakthi ezikrelekrele.

Uya kufaka i-Node.js kwi-Ubuntu, i-Debian kunye ne-Rasberian OS, bhala izikripthi ukupapasha isivumelwano esihlakaniphile kwi-intanethi ye-Ethereum yendawo kwaye ubize imisebenzi yayo.

Ukongeza, uya kufunda indlela yokudlulisa imali phakathi kweeakhawunti eziqhelekileyo usebenzisa izikripthi, kunye nokubanika ikhredithi kwiiakhawunti zekhontrakthi ehlakaniphile.

Kwisifundo sesixhenxe Uya kufunda indlela yokufaka kunye nokusebenzisa isakhelo se-Truffle, edumileyo phakathi kwabaphuhlisi bekhontrakthi ehlakaniphile yeSolidity. Uya kufunda ukwenza imibhalo yeJavaScript ebiza imisebenzi yekhontrakthi usebenzisa imodyuli yekhontrakthi yetruffle, kwaye uvavanye isivumelwano sakho esihlakaniphile usebenzisa iTruffle.

Isifundo sesibhozo enikezelwe kwiintlobo zedatha yeSolidity. Uya kubhala iikhontrakthi ezihlakaniphile ezisebenza ngeentlobo zedatha ezifana nee-integers ezisayiniweyo nezingasayinwanga, amanani asayiniweyo, iintambo, iidilesi, ii-complex variables, ii-arrays, izibalo, izakhiwo, kunye nezichazi-magama.

Kwisifundo sesithoba Uya kuba yinyathelo elinye elisondeleyo ekudaleni izivumelwano ezihlakaniphile ze-mainnet ye-Ethereum. Uya kufunda indlela yokupapasha izivumelwano usebenzisa iTruffle kwinethiwekhi yangasese ye-Geth, kunye nakwi-testnet yeRinkeby. Ukutshatyalaliswa kwesivumelwano esihlakaniphile kwinethiwekhi ye-Rinkeby luncedo kakhulu ngaphambi kokuyipapasha kwinethiwekhi enkulu - phantse yonke into iyinyani apho, kodwa ikhululekile.

Njengenxalenye yesifundo, uya kwenza i-node yenethiwekhi yovavanyo lweRinkeby, uyixhase ngemali, kwaye upapashe isivumelwano esihlakaniphile.

Isifundo 10 enikezelwe kwi-Ethereum Swarm isasazwe ukugcinwa kwedatha. Ngokusebenzisa isitoreji esabiweyo, ugcina ekugcinweni kwedatha enkulu kwi-blockchain ye-Ethereum.

Kule tutorial, uya kwenza ugcino lweSwarm yendawo, bhala kwaye ufunde imisebenzi kwiifayile, kunye nolawulo lweefayile. Okulandelayo, uya kufunda indlela yokusebenza nesango leSwarm likawonke-wonke, bhala izikripthi zokufikelela kwiSwarm ukusuka kwiNode.js, kunye nokusebenzisa iPerl Net ::Ethereum::Imodyuli eSwarm.

INjongo yesiFundo 11 -Inkosi esebenza kunye neSolidity smart contracts usebenzisa ulwimi oludumileyo lwePython lokuprograma kunye nesakhelo seWeb3.py. Uya kufaka isakhelo, ubhale izikripthi zokuqokelela kunye nokupapasha ikhontrakthi ehlakaniphile, kwaye ubize imisebenzi yayo. Kule meko, iWeb3.py iya kusetyenziswa zombini ngokwayo kwaye idibene ne-Truffle edibeneyo yophuhliso lwendalo.

Kwisifundo se-12 uya kufunda ukudlulisa idatha phakathi kweekontraki ezihlakaniphile kunye nehlabathi lokwenyani usebenzisa i-oracles. Oku kuya kuba luncedo kuwe ukuba ufumane idatha kwiiwebhusayithi, izixhobo ze-IoT, izixhobo ezahlukeneyo kunye neenzwa, kwaye uthumele idatha kwiikontrakthi ezihlakaniphile kwezi zixhobo. Kwinxalenye esebenzayo yesifundo, uya kudala i-oracle kunye nekhontrakthi ehlakaniphile efumana izinga lotshintshiselwano lwangoku phakathi kwe-USD kunye ne-ruble kwiwebhusayithi yeBhanki ePhakathi yeRussian Federation.

Isifundo 1. Ngokufutshane malunga ne-blockchain kunye nenethiwekhi ye-EthereumInjongo yesifundo: uqhelane nemigaqo yokusebenza ye-blockchain ye-Ethereum, iindawo zayo zokusetyenziswa kunye nesigama esisisiseko.
Imisebenzi esebenzayo: ayifakwanga kwesi sifundo.

Kukho nzima umphuhlisi wesoftware namhlanje ongeva nto malunga neteknoloji ye-blockchain (i-Blockchain), i-cryptocurrencies (i-Cryptocurrency okanye i-Cryptocurrency ye-Crypto), i-Bitcoin (i-Bitcoin), umnikelo wokuqala wemali (ICO, umnikelo wengqekembe yokuqala), izivumelwano ezihlakaniphile (i-Smart Contract), kunye nezinye iikhonsepthi kunye nemigaqo enxulumene ne-blockchain.

Itekhnoloji yeBlockchain ivula iimarike ezintsha kwaye idale imisebenzi kubadwelisi benkqubo. Ukuba uyabuqonda bonke ubucukubhede betekhnoloji ye-cryptocurrency kunye netekhnoloji yekhontrakthi ehlakaniphile, akufanele ube neengxaki zokusebenzisa olu lwazi ekusebenzeni.

Kufuneka kuthiwe kukho intelekelelo eninzi malunga ne-cryptocurrencies kunye ne-blockchains. Siza kushiya iingxoxo malunga neenguqu kwimilinganiselo ye-cryptocurrency, ukudalwa kweephiramidi, ukuntsonkotha komthetho we-cryptocurrency, njl. Kwikhosi yethu yoqeqesho siya kugxininisa ngokukodwa kwiinkalo zobuchwepheshe bokusetyenziswa kweekontraki ezihlakaniphile ze-Ethereum blockchain (Ethereum, Ether) kunye nokuphuhliswa kwezinto ezibizwa ngokuba yi-decentralized applications (iSicelo esabiweyo, i-DApp).

Yintoni i-blockchain

I-Blockchain (i-Block Chain) yitsheyini yeebhloko zedatha ezixhunywe omnye komnye ngendlela ethile. Ekuqaleni kwekhonkco kukho ibhloko yokuqala, ebizwa ngokuba yibhloko yokuqala (ibhloko ye-genesis) okanye ibhloko ye-genesis. Kulandele eyesibini, kulandele eyesithathu njalo njalo.

Zonke ezi bhloko zedatha ziphindaphindwa ngokuzenzekelayo kwiindawo ezininzi zenethiwekhi ye-blockchain. Oku kuqinisekisa ukugcinwa kwe-decentralized data blockchain.
Unokucinga ngenkqubo ye-blockchain njengenani elikhulu lee-nodes (iiseva zomzimba okanye ezibonakalayo) ezixhunyiwe kwinethiwekhi kunye nokuphindaphinda zonke iinguqu kwikhonkco yeebhloko zedatha. Oku kufana nekhomputha enkulu ye-multi-server, kwaye iindawo zekhomputha ezinjalo (iiseva) zinokusasazwa kwihlabathi jikelele. Kwaye nawe unokongeza ikhompyuter yakho kwinethiwekhi ye-blockchain.

Isiseko sedatha esabiweyo

I-blockchain inokucingelwa njengesiseko sedatha esisasazwayo esiphindaphindwa kuzo zonke iindawo zenethiwekhi ye-blockchain. Kwithiyori, i-blockchain iya kusebenza nje ukuba i-node enye isebenza, igcina zonke iibhloko zebhloko.

UBhaliso lweDatha olusasaziweyo

I-Blockchain inokucingwa njenge-ledger esasazwayo yedatha kunye nemisebenzi (intengiselwano). Elinye igama lerejista enjalo yileja.

Idatha inokongezwa kwi-ledger esasazwayo, kodwa ayinakuguqulwa okanye icinywe. Oku kungenakwenzeka kufezekiswa, ngokukodwa, ngokusetyenziswa kwe-cryptographic algorithms, ii-algorithms ezikhethekileyo zokongeza iibhloko kwikhonkco kunye nokugcinwa kwedatha ye-decentralized.

Xa ukongeza iibhloko kunye nokwenza imisebenzi (intengiselwano), izitshixo zabucala kunye nezikawonke-wonke zisetyenziswa. Banqanda abasebenzisi be-blockchain ngokubanika ukufikelela kwiibhloko zabo zedatha.

Intengiselwano

I-Blockchain igcina ulwazi malunga nemisebenzi (intengiselwano) kwiibhloko. Kwangaxeshanye, intengiselwano endala, esele igqityiwe ayinakuphinda ibuyiselwe umva okanye iguqulwe. Iintengiselwano ezintsha zigcinwa kwiibhloko ezintsha, ezongeziweyo.

Ngale ndlela, yonke imbali yokuthengiselana inokurekhodwa ingatshintshwanga kwi-blockchain. Ngoko ke, i-blockchain ingasetyenziselwa, umzekelo, ukugcina ngokukhuselekileyo ukuthengiselana kwebhanki, ulwazi lwe-copyright, imbali yotshintsho kubanikazi bepropati, njl.

I-blockchain ye-Ethereum iqulethe okubizwa ngokuba yi-system states. Njengoko ukuthengiselana kusenziwa, imeko iyatshintsha ukusuka kwimeko yokuqala ukuya kwimeko yangoku. Iintengiselwano zirekhodwa kwiibhloko.

Iibhloko zoluntu kunye nezizimeleyo

Kufuneka kuqatshelwe apha ukuba yonke into ethethiweyo iyinyani kuphela kwizinto ezibizwa ngokuba yi-blockchain network networks, engenakulawulwa nguwuphi na umntu okanye iqumrhu elisemthethweni, i-arhente karhulumente okanye urhulumente.
Okubizwa ngokuba yi-intanethi ye-blockchain yangasese iphantsi kolawulo olupheleleyo lwabadali babo, kwaye nantoni na inokwenzeka apho, umzekelo, ukutshintshwa okupheleleyo kwazo zonke iibhloko zekhonkco.

Ukusetyenziswa okusebenzayo kwe-blockchain

Yintoni enokuba luncedo kwi-blockchain?

Ngamafutshane, i-blockchain ikuvumela ukuba uqhube ngokukhuselekileyo ukuthengiselana (intengiselwano) phakathi kwabantu okanye iinkampani ezingathembani. Idatha erekhodwe kwi-blockchain (intengiselwano, idatha yomntu, amaxwebhu, izatifikethi, izivumelwano, ii-invoyisi, njl.) ayikwazi ukunyaniseka okanye ukutshintshwa emva kokurekhoda. Ngoko ke, ngokusekelwe kwi-blockchain, kunokwenzeka ukwenza, umzekelo, iirejistri ezithembekileyo ezisasazwayo zeentlobo ezahlukeneyo zamaxwebhu.

Ewe kunjalo, uyazi ukuba iinkqubo ze-cryptocurrency zenziwe ngesiseko se-blockchains, eyenzelwe ukubuyisela imali yephepha eqhelekileyo. Imali yephepha ikwabizwa ngokuba yi-fiat (ukusuka kwi-Fiat Money).
I-Blockchain iqinisekisa ukugcinwa kunye nokungaguquki kweentengiselwano ezirekhodiweyo kwiibhloko, yingakho ingasetyenziselwa ukudala iinkqubo ze-cryptocurrency. Iqulethe yonke imbali yokudluliselwa kweemali ze-crypto phakathi kwabasebenzisi abahlukeneyo (ii-akhawunti), kwaye nawuphi na umsebenzi unokulandelwa.

Nangona utshintshiselwano ngaphakathi kwenkqubo ye-cryptocurrency inokuthi ingaziwa, ukurhoxisa i-cryptocurrency kunye nokutshintshiselana ngemali ye-fiat kudla ngokuphumela ekuvezeni isazisi somnini we-asethi ye-cryptocurrency.

Okubizwa ngokuba yizivumelwano ezihlakaniphile, eziyi-software esebenza kwinethiwekhi ye-Ethereum, ikuvumela ukuba wenze ngokuzenzekelayo inkqubo yokugqiba ukuthengiselana kunye nokubeka iliso ekuphunyezweni kwayo. Oku kusebenza ngakumbi ukuba intlawulo yentengiselwano yenziwa kusetyenziswa i-cryptocurrency ye-Ether.

I-Ethereum blockchain kunye ne-Ethereum iikhontrakthi ezihlakaniphile ezibhalwe ngolwimi lweprogram yeSolidity zingasetyenziswa, umzekelo, kwezi ndawo zilandelayo:

  • enye indlela yokwenza notarization kwamaxwebhu;
  • ukugcinwa kwerejista yezinto ze-real estate kunye nolwazi malunga nokuthengiselana kunye nezinto ze-real estate;
  • ukugcinwa kolwazi lwe-copyright kwipropathi yengqondo (iincwadi, imifanekiso, imisebenzi yomculo, njl.);
  • ukudalwa kweenkqubo zokuvota ezizimeleyo;
  • ezemali kunye neebhanki;
  • ukuhanjiswa kwempahla kwinqanaba lamazwe ngamazwe, ukulandelela ukuhamba kwempahla;
  • ukugcinwa kwedatha yomntu njenge-analogue kwisistim yekhadi lesazisi;
  • ukuthengiselana okukhuselekileyo kwintsimi yorhwebo;
  • ukugcina iziphumo zeemviwo zonyango, kunye nembali yeenkqubo ezimiselweyo

Iingxaki nge-blockchain

Kodwa, ewe, ayizizo zonke izinto ezilula njengoko zinokubonakala!

Kukho iingxaki malunga nokuqinisekisa idatha ngaphambi kokuyongeza kwi-blockchain (umzekelo, ngaba ziyinkohliso?), Iingxaki ngokhuseleko lwenkqubo kunye nesoftware yesicelo esetyenziselwa ukusebenza kunye ne-blockchain, iingxaki ezinokuthi zisebenzise iindlela zobunjineli bezentlalo ukuze kubiwe ukufikelela. kwi-cryptocurrency wallets, njl. .P.

Kwakhona, ukuba asithethi nge-blockchain yoluntu, iindawo zazo ezisasazeke kulo lonke ihlabathi, kodwa malunga ne-blockchain yangasese yomntu okanye umbutho, ngoko inqanaba lokuthembela apha aliyi kuba phezulu kunenqanaba lokuthembela. kulo mntu okanye kulo mbutho.

Kufuneka kwakhona kuthathelwe ingqalelo ukuba idatha erekhodiweyo kwi-blockchain ifumaneka kumntu wonke. Ngaloo ndlela, i-blockchain (ingakumbi kawonkewonke) ayifanelekanga ukugcina ulwazi oluyimfihlo. Nangona kunjalo, into yokuba ulwazi kwi-blockchain ayinakuguqulwa inokunceda ukukhusela okanye ukuphanda iintlobo ezahlukeneyo zemisebenzi yobuqhetseba.

Ukusetyenziswa kwe-Ethereum kuya kuba lula ukuba uhlawulela ukusetyenziswa kwabo nge-cryptocurrency. Okukhona abantu bebaninzi abangabanini be-cryptocurrency okanye abazimisele ukuyithenga, kokukhona ii-DApps ezidumileyo kunye neekhontrakthi ezikrelekrele ziya kuba.

Iingxaki eziqhelekileyo nge-blockchain ezithintela ukusetyenziswa kwayo okusebenzayo ziquka isantya esilinganiselweyo apho iibhloko ezintsha zingongezwa kunye neendleko eziphezulu zokuthengiselana. Kodwa iteknoloji kule ndawo iphuhlisa ngokusebenzayo, kwaye kukho ithemba lokuba iingxaki zobuchwepheshe ziya kusonjululwa ngokuhamba kwexesha.

Enye ingxaki kukuba iikhontrakthi ezihlakaniphile kwi-blockchain ye-Ethereum zisebenza kwindawo eyodwa yoomatshini benyani, kwaye abanako ukufikelela kwiinkcukacha zehlabathi zangempela. Ngokukodwa, inkqubo yekhontrakthi ehlakaniphile ayikwazi ukuzifundela idatha kwiisayithi okanye naziphi na izixhobo ezibonakalayo (iinzwa, abafowunelwa, njl.), kwaye ayikwazi ukukhupha idatha kuzo naziphi na izixhobo zangaphandle. Siza kuxubusha le ngxaki kunye neendlela zokuyicombulula kwisifundo esinikezelwe kwizinto ezibizwa ngokuba yi-Oracles - ulwazi lwabalamleli beekontraki ezihlakaniphile.

Kukwakho nezithintelo ezisemthethweni. Kwamanye amazwe, umzekelo, akuvumelekanga ukusebenzisa i-cryptocurrency njengendlela yokuhlawula, kodwa unokuyiphatha njengohlobo lwe-asethi yedijithali, njengezibambiso. Iimpahla ezinjalo zingathengwa kwaye zithengiswe ngokutshintshiselana. Kwimeko nayiphi na into, xa udala iprojekthi esebenza nge-cryptocurrencies, kufuneka uziqhelanise nomthetho welizwe eliphantsi kolawulo lweprojekthi yakho.

Yenziwa njani ikhonkco le-blockchain

Njengoko sele sitshilo, i-blockchain yitsheyini elula yeebhloko zedatha. Okokuqala, ibhloko yokuqala yale khonkco yenziwe, kwaye okwesibini yongezwa kuyo, njalo njalo. Idatha yentengiselwano ithathwa ukuba igcinwe kwiibhloko, kwaye yongezwa kwibhloko yamva nje.

KwiFig. 1.1 sibonise inguqulelo elula yokulandelelana kweebhloko, apho ibhloko yokuqala ibhekisela kwelandelayo.

Incwadi ethi "Ukudala izivumelwano ezihlakaniphile ze-Ethereum blockchain. Isikhokelo esisebenzayo"
Irayisi. 1.1. Ulandelelwano olulula lweebhloko

Ngolu khetho, nangona kunjalo, kulula kakhulu ukuphazamisa imixholo yayo nayiphi na ibhloko kwikhonkco, ekubeni iibhloko zingenalo naluphi na ulwazi lokukhusela utshintsho. Ukuqwalasela ukuba i-blockchain ihloselwe ukuba isetyenziswe ngabantu kunye neenkampani phakathi kwabo kungekho themba, sinokugqiba ukuba le ndlela yokugcina idatha ayifanelekanga kwi-blockchain.

Masiqale ukukhusela iibhloko kubumgunyathi. Kwinqanaba lokuqala, siya kuzama ukukhusela ibhloko nganye nge-checksum (Umfanekiso 1.2).

Incwadi ethi "Ukudala izivumelwano ezihlakaniphile ze-Ethereum blockchain. Isikhokelo esisebenzayo"
Irayisi. 1.2. Ukongeza ukhuseleko kwezi bhloko ngetshekhisum

Ngoku umhlaseli akakwazi ukutshintsha nje ibhloko, kuba iqulethe i-checksum yedatha yebhloko. Ukujonga i-checksum kuya kubonisa ukuba idatha itshintshiwe.

Ukubala i-checksum, ungasebenzisa enye yemisebenzi ye-hashing efana ne-MD-5, SHA-1, SHA-256, njl. Imisebenzi ye-Hash ibala ixabiso (umzekelo, umtya wokubhaliweyo wobude obuzinzileyo) ngokwenza imisebenzi engenakurhoxiswa kwibhloko yedatha. Imisebenzi ixhomekeke kuhlobo lomsebenzi we-hash.

Nokuba imixholo yebhloko yedatha itshintsha kancinci, ixabiso le-hash liya kutshintsha. Ngokuhlalutya ixabiso lomsebenzi we-hash, akunakwenzeka ukuphinda kwakhiwe ibhloko yedatha ebalelwa kuyo.

Ngaba olo khuseleko luya kwanela? Ngelishwa akukho.

Kulo cwangciso, i-checksum (umsebenzi we-hash) ikhusela kuphela iibhloko zomntu ngamnye, kodwa kungekhona i-blockchain yonke. Ukwazi i-algorithm yokubala umsebenzi we-hash, umhlaseli unokutshintsha ngokulula imixholo yebhloko. Kwakhona, akukho nto iya kumthintela ekususeni iibhloko kwikhonkco okanye ukongeza ezintsha.

Ukukhusela ikhonkco lonke ngokubanzi, unokugcina kwakhona kwibhloko nganye, kunye nedatha, i-hash yedatha evela kwibhloko yangaphambili (umzobo 1.3).

Incwadi ethi "Ukudala izivumelwano ezihlakaniphile ze-Ethereum blockchain. Isikhokelo esisebenzayo"
Irayisi. 1.3. Yongeza i-hash yebhloko yangaphambili kwibhloko yedatha

Kulo cwangciso, ukuze utshintshe ibhloko, kufuneka uphinde ubale imisebenzi ye-hash yazo zonke iibhloko ezilandelayo. Kubonakala ngathi, yintoni ingxaki?

Kwiibhloko ze-blockchain zangempela, ubunzima bokufakelwa bongezelelwe ukongeza iibhloko ezintsha-i-algorithms ezifuna izixhobo ezininzi ze-computing zisetyenziswa. Uthathela ingqalelo into yokuba ukuze wenze utshintsho kwibhloko, kufuneka uphinda ubale hayi le block enye, kodwa zonke ezilandelayo, kuya kuba nzima kakhulu ukwenza.

Masikhumbule kwakhona ukuba idatha ye-blockchain igcinwe (iphindwe kabini) kwiindawo ezininzi zenethiwekhi, okt. Ugcino olunabileyo luyasetyenziswa. Kwaye oku kwenza kube nzima ngakumbi ukwenza umgunyathi ibhloko, kuba utshintsho kufuneka lwenziwe kuzo zonke iindawo zenethiwekhi.

Ekubeni iibhloko zigcina ulwazi malunga nebhloko yangaphambili, kunokwenzeka ukujonga imixholo yazo zonke iibhloko kwikhonkco.

Ethereum blockchain

I-blockchain ye-Ethereum yiplatifomu apho i-DApps esasazwayo ingadalwa. Ngokungafani nezinye iiplatifomu, i-Ethereum ivumela ukusetyenziswa kwezinto ezibizwa ngokuba yizivumelwano ezihlakaniphile (izivumelwano ezihlakaniphile), ezibhalwe ngolwimi lweprogram yeSolidity.

Eli qonga lenziwe kwi-2013 ngu-Vitalik Buterin, umsunguli we-Bitcoin Magazine, kwaye yasungulwa ngo-2015. Yonke into esiya kufunda okanye esiyenzayo kwikhosi yethu yoqeqesho ihambelana ngokuthe ngqo ne-Ethereum blockchain kunye ne-Solidity izivumelwano ezihlakaniphile.

Imigodi okanye indlela iibhloko ezenziwe ngayo

Ukumbiwa kwemigodi yinkqubo entsonkothileyo nenzulu kakhulu yokongeza iibhloko ezintsha kwikhonkco le-blockchain, hayi kwaphela β€œimigodi ye-cryptocurrency.” Imigodi iqinisekisa ukusebenza kwe-blockchain, kuba yile nkqubo enoxanduva lokongeza ukuthengiselana kwi-blockchain ye-Ethereum.

Abantu kunye nemibutho ebandakanyekayo ekongezeni iibhloko babizwa ngokuba ngabavukuzi.
Isoftware esebenza kwiindawo ze-minener izama ukufumana iparameter ye-hashing ebizwa ngokuba yi-Nonce kwibhloko yokugqibela ukufumana ixabiso elithile le-hash elichazwe yinethiwekhi. I-algorithm ye-Ethash hashing esetyenziswe kwi-Ethereum ikuvumela ukuba ufumane ixabiso le-Nonce kuphela ngokukhangela ngokulandelelana.

Ukuba i-node yomgodi ifumana ixabiso elichanekileyo le-Nonce, ke oku kubizwa ngokuba bubungqina bomsebenzi (i-PoW, ubungqina bomsebenzi). Kule meko, ukuba ibhloko yongezwa kwinethiwekhi ye-Ethereum, umvukuzi ufumana umvuzo othile kwimali yenethiwekhi - i-Ether. Ngexesha lokubhala, umvuzo ngu-5 Ether, kodwa uya kuncitshiswa ngokuhamba kwexesha.

Ngaloo ndlela, abavukuzi be-Ethereum baqinisekisa ukusebenza kwenethiwekhi ngokongeza iibhloko, kwaye bafumane imali ye-cryptocurrency kule nto. Kukho ulwazi oluninzi kwi-intanethi malunga nabavukuzi kunye nemigodi, kodwa siya kugxininisa ekudaleni izivumelwano zeSolidity kunye ne-DApps kwinethiwekhi ye-Ethereum.

Isishwankathelo sesifundo

Kwisifundo sokuqala, uye waqhelana ne-blockchain kwaye wafunda ukuba lulandelelwano oluqulunqwe ngokukodwa lweebhloko. Imixholo yeebhloko ezirekhodiweyo ngaphambili ayinakuguqulwa, kuba oku kuya kufuna ukubala kwakhona zonke iibhloko ezilandelayo kwiindawo ezininzi zenethiwekhi, ezifuna izixhobo ezininzi kunye nexesha.

I-Blockchain ingasetyenziselwa ukugcina iziphumo zeentengiselwano. Injongo yalo ephambili kukuququzelela ukuthengiselana okukhuselekileyo phakathi kwamaqela (abantu kunye nemibutho) ekungekho kuthembana phakathi kwabo. Ufunde ukuba yeyiphi imimandla ethile yoshishino kunye neendawo apho i-Ethereum blockchain kunye ne-Solidity izivumelwano ezihlakaniphile zingasetyenziswa. Eli licandelo lebhanki, ukubhaliswa kwamalungelo epropati, amaxwebhu, njl.

Ufunde kwakhona ukuba iingxaki ezahlukeneyo zinokuvela xa usebenzisa i-blockchain. Ezi ziingxaki zokuqinisekisa ulwazi olongeziweyo kwi-blockchain, isantya se-blockchain, iindleko zentengiselwano, ingxaki yokutshintshiselana ngedatha phakathi kweekontraka ezihlakaniphile kunye nehlabathi lokwenyani, kunye nohlaselo olunokubakho ngabahlaseli olujolise ekubileni imali ye-cryptocurrency kwiiakhawunti zabasebenzisi. .

Siphinde sathetha ngokufutshane malunga nemigodi njengenkqubo yokongeza iibhloko ezintsha kwi-blockchain. Ukumbiwa kwemigodi kuyimfuneko ukuze kugqitywe iintengiselwano. Abo babandakanyekayo kwimigodi baqinisekisa ukusebenza kwe-blockchain kwaye bafumane umvuzo kwi-cryptocurrency kule nto.

Isifundo 2. Ukulungiselela indawo yokusebenza ku-Ubuntu kunye ne-Debian OSUkukhetha inkqubo yokusebenza
Ukufakela izixhobo eziyimfuneko
Ukufaka i-Geth kunye ne-Swarm kwi-Ubuntu
Ukufaka iGeth kunye neSwarm kwiDebian
Ukulungiselela kwangaphambili
Kuthotywa ukuhanjiswa kweGo
Ukuseta iinguqu zemo engqongileyo
Ijonga inguqulelo yeGo
Ukufakela i-Geth kunye ne-Swarm
Ukudala i-blockchain yangasese
Ukulungiselela ifayile yegenesis.json
Yenza uluhlu lomsebenzi
Dala i-akhawunti
Ukuqala ukuqaliswa kwenodi
IiNdlela zokuQalisa iiNdawo
Qhagamshela kwindawo yethu
Ulawulo lwemigodi kunye nokutshekisha umncono
Ukuvala i-console ye-Geth
Isishwankathelo sesifundo

Isifundo 3. Ukulungisa indawo yokusebenza kwiRaspberry Pi 3Ukulungiselela iRaspberry Pi 3 yomsebenzi
Ukufakela iRasberian
Kuhlohlwa uhlaziyo
Ukuvumela ukufikelela kwi-SSH
Ukuseta idilesi ye-IP engatshintshiyo
Ukufakela izixhobo eziyimfuneko
Kuhlohlwa iGo
Kuthotywa ukuhanjiswa kweGo
Ukuseta iinguqu zemo engqongileyo
Ijonga inguqulelo yeGo
Ukufakela i-Geth kunye ne-Swarm
Ukudala i-blockchain yangasese
Ukujonga iakhawunti yakho kunye nebhalansi
Isishwankathelo sesifundo

Isifundo 4. Iiakhawunti kunye nokudluliselwa kwemali phakathi kweeakhawuntiJonga kwaye wongeze ii-akhawunti
Jonga uluhlu lwee-akhawunti
Ukongeza iakhawunti
geth akhawunti iinketho zomyalelo
Iiphasiwedi zeakhawunti
Imali ye-Crypto kwi-Ethereum
IiYunithi zeMali ye-Ethereum
Simisela ibhalansi yangoku yeeakhawunti zethu
Ukutshintshela imali ukusuka kwenye iakhawunti ukuya kwenye
eth.sendTransaction indlela
Jonga ubume bentengiselwano
Irisithi yentengiselwano
Isishwankathelo sesifundo

Isifundo 5. Ukupapasha ikhontrakthi yakho yokuqalaIzivumelwano ze-Smart kwi-Ethereum
Ufezekiso lwekhontrakthi ehlakaniphile
Ethereum Virtual Machine
Indawo yophuhliso edibeneyo ye-Remix Solidity IDE
Ukubaleka ukuhlanganiswa
Ukufowuna kweMisebenzi yeKhontrakthi
Ukupapasha isivumelwano kwinethiwekhi yabucala
Ukufumana inkcazo ye-ABI kunye nekhowudi yokubini yekhontrakthi
Ukupapashwa kwekhontrakthi
Ukujonga imeko yetransekshini yokupapasha ikhontrakthi
Ukufowuna kweMisebenzi yeKhontrakthi
I-Batch compiler solc
Ukufaka i-solc ku-Ubuntu
Ukufaka i-solc kwiDebian
Ukuqulunqa isivumelwano se-HelloSol
Ukupapashwa kwekhontrakthi
Ukufaka i-solc kwiRasberian
Isishwankathelo sesifundo

Isifundo 6. Iikhontrakthi ze-Smart kunye ne-Node.jsKuhlohlwa iNode.js
Ufakelo ku-Ubuntu
Ufakelo kwiDebian
Ukufakela kunye nokuqhuba i-Ganache-cli
Ufakelo lweWeb3
Kuhlohlwa i-solc
Ukufaka iNode.js kwiRasberian
Ushicilelo lokufumana uluhlu lweeakhawunti kwi-console
Iscript sokupapasha ikhontrakthi ehlakaniphile
Qalisa kwaye ufumane iiparamitha
Ukufumana iinketho zokuqaliswa
Uqulunqo lwekhontrakthi
Ukuvula iakhawunti yakho
Ilayisha i-ABI kunye nekhowudi yokubini yekhontrakthi
Ukuqikelela ubungakanani obufunekayo berhasi
Yenza into kwaye uqale ukupapasha ikhontrakthi
Ukuqhuba iscript sokupapasha isivumelwano
Ukubiza imisebenzi yekhontrakthi ehlakaniphile
Ngaba kunokwenzeka ukuhlaziya isivumelwano se-smart esipapashiweyo?
Ukusebenza neWeb3 version 1.0.x
Ukufumana uluhlu lweeakhawunti
Ukupapashwa kwekhontrakthi
Ukufowuna kweMisebenzi yeKhontrakthi
Ukutshintshela imali ukusuka kwenye iakhawunti ukuya kwenye
Ukutshintshela imali kwi-akhawunti yekhontrakthi
Ukuhlaziya isivumelwano se-HelloSol smart
Yenza iskripthi ukujonga ibhalansi yeakhawunti yakho
Yongeza umnxeba kumsebenzi we-getBalance kwi-call_contract_get_promise.js script
Siyongeza i-akhawunti yekhontrakthi ehlakaniphile
Isishwankathelo sesifundo

Isifundo 7: Intshayelelo yeTruffleUkufakela iTruffle
Yenza iprojekthi ye-HelloSol
Ukudala uvimba weefayili zeProjekthi kunye neeFayile
Uluhlu lwezibhambathiso
Ukufuduka kwekhathalogu
Uvavanyo lukavimba weefayili
truffle-config.js ifayile
Ukuqulunqa isivumelwano se-HelloSol
Qala ukupapasha ikhontrakthi
Ukufowunela i-HelloSol imisebenzi yeKhontrakthi kwi-Truffle Prompt
Ukufowunela i-HelloSol imisebenzi yekontrakthi esuka kwiscript seJavaScript eqhuba iNode.js
Ukufakela imodyuli ye-truffle-contract
Ukufowunela imisebenzi yekhontrakthi getValue kunye ne-GetString
Ukufowuna imisebenzi yekhontrakthi isethiValue kunye ne-setString
Ukuguqulwa kwekhontrakthi kunye nokupapashwa kwakhona
Ukusebenza neWeb3 version 1.0.x
Ukwenza utshintsho kwisivumelwano se-HelloSol smart
Izibhalo zokufowunela iindlela zekhontrakthi
Uvavanyo kwiTruffle
Uvavanyo lokuqina
Uvavanyo lweJavaScript
Isishwankathelo sesifundo

Isifundo 8. Iintlobo zeDatha yeSolidityIkhontrakthi yeentlobo zedatha yokufunda
Iintlobo zedatha yeBoolean
Amanani angasayinwanga kunye nee-integer esayiniweyo
Amanani amanqaku azinzileyo
Idilesi
Iinguqu zeentlobo ezinzima
Ubungakanani obuzinzileyo beArrays
Uluhlu olunamandla
Ubalo
Ulwakhiwo
Imephu yezichazi-magama
Isishwankathelo sesifundo

Isifundo 9. Ukufuduka kweekhontrakthi kwinethiwekhi yabucala kunye nenethiwekhi yeRinkebyUkupapasha ikhontrakthi esuka kwiTruffle ukuya kwinethiwekhi yeGeth yabucala
Ukulungiselela indawo yothungelwano yabucala
Ukulungiselela isivumelwano somsebenzi
Ukuqulunqa kunye nokufudusa ikhontrakthi kwinethiwekhi yeTruffle
Ukuqala imfuduko yenethiwekhi yendawo geth
Ukufumana izixhobo zeTruffle
Ukupapasha ikhontrakthi esuka kwiTruffle ukuya kwi-Rinkeby testnet
Ukulungiselela i-node ye-Geth ukuze isebenze ne-Rinkeby
Ungqamaniso lweNode
Ukongeza ii-akhawunti
Ukufakela iakhawunti yakho yeRinkeby nge-ether
Ukwazisa ukufuduka kwekhontrakthi kwinethiwekhi yeRinkeby
Ukujonga ulwazi lwekhontrakthi kwinethiwekhi yeRinkeby
IConsole yeTruffle yeRinkeby Network
Indlela elula yokubiza imisebenzi yekhontrakthi
Ukufowunela iindlela zekhontrakthi usebenzisa iNode.js
Ukudlulisa imali phakathi kweeakhawunti kwiTruffle console yeRinkby
Isishwankathelo sesifundo

Isifundo 10. I-Ethereum Swarm yokugcinwa kweDatha eNdawoIsebenza njani iEthereum Swarm?
Ukufakela kunye nokuphehlelela iSwarm
Ukusebenza ngeefayile kunye nabalawuli
Ukulayisha iFayile kwi-Ethereum Swarm
Ukufunda ifayile evela kwi-Ethereum Swarm
Jonga i-manifest yefayile elayishiwe
Ilayisha abalawuli kunye namacandelo angaphantsi
Ukufunda ifayile kuluhlu olukhutshelweyo
Ukusebenzisa isango leSwarm likawonke-wonke
Ukufikelela kwi-Swarm kwi-Node.js scripts
Perl Net ::Ethereum ::Imodyuli eshushu
Ukufakela i-Net ::Ethereum::Imodyuli eshushu
Idatha yokubhala nokufunda
Isishwankathelo sesifundo

Isifundo 11. Web3.py isakhelo sokusebenza kunye no-Ethereum ePythonKuhlohlwa iWeb3.py
Ukuhlaziya kunye nokufaka iipakethe eziyimfuneko
Ukufakela imodyuli ye-easysolc
Ukupapasha ikhontrakthi usebenzisa iWeb3.py
Uqulunqo lwekhontrakthi
Ukuqhagamshela kumboneleli
Yenza upapasho lwekhontrakthi
Ukugcina idilesi yesivumelwano kunye ne-abi kwifayile
Ukuqhuba iscript sokupapasha isivumelwano
Ukufowunela Iindlela zeKontraka
Ukufunda idilesi kunye ne-abi yekhontrakthi evela kwifayile ye-JSON
Ukuqhagamshela kumboneleli
Ukudala into yeSivumelwano
Ukufowunela Iindlela zeKontraka
Truffle kunye neWeb3.py
Isishwankathelo sesifundo

Isifundo 12. IintethoNgaba ikhontrakthi ehlakaniphile inokuthembela idatha evela kwihlabathi langaphandle?
Ii-oracles njengabalamli bolwazi lwe-blockchain
Umthombo wedatha
Ikhowudi yokumela idatha esuka kumthombo
I-Oracle yokurekhoda izinga lotshintshiselwano kwi-blockchain
Ikhontrakthi ye-USDRateOracle
Ukuhlaziya izinga lotshintshiselwano kwikhontrakthi ehlakaniphile
Ukusebenzisa i-Web Socket Provider
Ilinde isiganeko sokuHlaziya
Ukuphatha umcimbi weRateUpdate
Ukuqala ukuhlaziywa kwedatha kwikhontrakthi ehlakaniphile
Isishwankathelo sesifundo

umthombo: www.habr.com

Yongeza izimvo