Incwadi ethi “Ukudala izinkontileka ezihlakaniphile ze-Ethereum blockchain. Umhlahlandlela osebenzayo"

Incwadi ethi “Ukudala izinkontileka ezihlakaniphile ze-Ethereum blockchain. Umhlahlandlela osebenzayo"
Isikhathi esingaphezu konyaka ngisebenza encwadini ethi "Ukudala Izinkontileka Ezihlakaniphile Ze-Solidity ze-Ethereum Blockchain. Practical Guide", futhi manje lo msebenzi usuphelile, kanye nencwadi ishicilelwe futhi itholakala ngamaLitha.

Ngithemba ukuthi incwadi yami izokusiza ukuthi uqale ngokushesha ukudala oxhumana nabo abahlakaniphile be-Solidity futhi usabalalise ama-DApps we-blockchain ye-Ethereum. Inezifundo eziyi-12 ezinemisebenzi eyenziwayo. Ngemva kokuwaqeda, umfundi uzokwazi ukuzakhela ama-node wendawo we-Ethereum, ashicilele izinkontileka ezihlakaniphile futhi ashayele izindlela zabo, ashintshisane ngedatha phakathi kwezwe langempela nezinkontileka ezihlakaniphile ezisebenzisa izibikezelo, futhi asebenze nenethiwekhi yokuhlola yokulungisa iphutha le-Rinkeby.

Le ncwadi iqondiswe kuwo wonke umuntu onentshisekelo kubuchwepheshe obuphambili emkhakheni we-blockchain futhi ufuna ukuthola ngokushesha ulwazi oluzobenza bahlanganyele emsebenzini othakazelisayo nothembisayo.

Ngezansi uzothola uhlu lokuqukethwe kanye nesahluko sokuqala sencwadi (kuqhubeke I-Litrese izingcezu zencwadi ziyatholakala). Ngithemba ukuthola impendulo, imibono neziphakamiso. Ngizozama ukukunaka konke lokhu lapho ngilungiselela uhlelo olulandelayo lwencwadi.

Uhlu lokuqukethweIsingenisoIncwadi yethu ihloselwe labo abangafuni nje ukuqonda izimiso ze-blockchain ye-Ethereum, kodwa futhi bathole amakhono asebenzayo ekudaleni ama-DApp asakazwa ngolimi lohlelo lwe-Solidity kule nethiwekhi.

Kungcono hhayi nje ukufunda le ncwadi, kodwa ukusebenza nayo, ukwenza imisebenzi ephathekayo echazwe ezifundweni. Ukuze usebenze, uzodinga ikhompuyutha yendawo, iseva ebonakalayo noma yefu ene-Debian noma Ubuntu OS efakiwe. Ungasebenzisa futhi i-Raspberry Pi ukwenza imisebenzi eminingi.

Esifundweni sokuqala Sizobheka izimiso zokusebenza ze-blockchain ye-Ethereum kanye namagama ayisisekelo, futhi sikhulume nokuthi le vimba ingasetshenziswa kuphi.

Injongo isifundo sesibili - dala indawo eyimfihlo ye-blockchain ye-Ethereum ukuze uthole umsebenzi owengeziwe ngaphakathi kwalesi sifundo kuseva ye-Ubuntu ne-Debian. Sizobheka izici zokufaka izinsiza eziyisisekelo, njenge-geth, eqinisekisa ukusebenza kwe-blockchain node yethu, kanye ne-decentralized data data daemon.

Isifundo sesithathu izokufundisa ukuthi ungalinga kanjani i-Ethereum ku-microcomputer ye-Raspberry Pi engabizi. Uzofaka uhlelo lokusebenza lwe-Rasberian (OS) ku-Raspberry Pi, insiza ye-Geth enika amandla i-blockchain node, kanye nedaemon yokugcina idatha ye-Swarm.

Isifundo sesine inikezelwe kuma-akhawunti namayunithi e-cryptocurrency kunethiwekhi ye-Ethereum, kanye nezindlela zokudlulisa imali isuka ku-akhawunti eyodwa iye kwenye isuka ku-Geth console. Uzofunda ukuthi ungawakha kanjani ama-akhawunti, uqalise ukudluliswa kwezimali, futhi uthole isimo sokwenziwe kanye nerisidi.

Esifundweni sesihlanu Uzojwayelana nezinkontileka ezihlakaniphile kunethiwekhi ye-Ethereum futhi ufunde mayelana nokubulawa kwazo ngomshini we-virtual we-Ethereum.

Uzodala futhi ushicilele inkontileka yakho yokuqala ehlakaniphile kunethiwekhi yangasese ye-Ethereum futhi ufunde indlela yokubiza imisebenzi yayo. Ukwenza lokhu, uzosebenzisa i-Remix Solidity IDE. Uzofunda futhi indlela yokufaka nokusebenzisa i-solc batch compiler.
Sizophinde sikhulume ngalokho okubizwa nge-Application Binary Interface (ABI) futhi sikufundise ukuthi uyisebenzisa kanjani.

Isifundo sesithupha inikezelwe ekudaleni imibhalo ye-JavaScript esebenzisa i-Node.js nokwenza imisebenzi ngezinkontileka ezihlakaniphile ze-Solidity.

Uzofaka i-Node.js ku-Ubuntu, i-Debian ne-Rasberian OS, bhala izikripthi ukuze ushicilele inkontileka ehlakaniphile kunethiwekhi yendawo ye-Ethereum futhi ubize imisebenzi yayo.

Ngaphezu kwalokho, uzofunda indlela yokudlulisa izimali phakathi kwama-akhawunti avamile usebenzisa imibhalo, futhi uwafake ema-akhawuntini enkontileka ahlakaniphile.

Esifundweni sesikhombisa Uzofunda indlela yokufaka nokusebenzisa uhlaka lwe-Truffle, oludumile phakathi konjiniyela benkontileka abahlakaniphile be-Solidity. Uzofunda ukuthi ungayenza kanjani imibhalo ye-JavaScript ebiza imisebenzi yenkontileka usebenzisa imojuli yenkontileka ye-truffle, futhi uhlole inkontileka yakho ehlakaniphile usebenzisa i-Truffle.

Isifundo sesishiyagalombili okunikezelwe ezinhlotsheni zedatha yeSolidity. Uzobhala izinkontileka ezihlakaniphile ezisebenza nezinhlobo zedatha ezifana nezinombolo eziphelele ezisayiniwe nezingasayiniwe, izinombolo ezisayiniwe, iyunithi yezinhlamvu, amakheli, okuguquguqukayo okuyinkimbinkimbi, amalungu afanayo, izibalo, izakhiwo, nezichazamazwi.

Esifundweni sesishiyagalolunye Uzoba isinyathelo esisodwa sokusondela ekudaleni izinkontileka ezihlakaniphile ze-mainnet ye-Ethereum. Uzofunda ukushicilela izinkontileka usebenzisa i-Truffle kunethiwekhi yangasese ye-Geth, kanye naku-Rinkeby testnet. Ukususa iphutha kwinkontileka ehlakaniphile kunethiwekhi ye-Rinkeby kuyasiza kakhulu ngaphambi kokuyishicilela kunethiwekhi eyinhloko - cishe yonke into ingokoqobo lapho, kodwa mahhala.

Njengengxenye yesifundo, uzodala indawo yokuhlola yenethiwekhi ye-Rinkeby, uyixhase ngemali, futhi ushicilele inkontileka ehlakaniphile.

Isifundo se-10 enikezelwe ku-Ethereum Swarm isabalalisa isitoreji sedatha. Ngokusebenzisa isitoreji esabiwe, ulondoloza ekugcineni idatha enkulu ku-blockchain ye-Ethereum.

Kulesi sifundo, uzodala indawo yokugcina yeSwarm, ubhale futhi ufunde imisebenzi kumafayela, nezinkomba zamafayela. Okulandelayo, uzofunda ukuthi usebenza kanjani nesango lomphakathi leSwarm, bhala imibhalo ukuze ufinyelele iSwarm kusuka ku-Node.js, kanye nokusebenzisa i-Perl Net::Ethereum::Swarm module.

Inhloso Yesifundo 11 — umpetha osebenza nezinkontileka ezihlakaniphile zeSolidity esebenzisa ulimi oludumile lokuhlela lwePython kanye nohlaka lweWeb3.py. Uzofaka uhlaka, ubhale izikripthi ozohlanganisa futhi ushicilele inkontileka ehlakaniphile, futhi ushayele imisebenzi yayo. Kulokhu, i-Web3.py izosetshenziswa yona yodwa futhi ngokuhambisana nemvelo edidiyelwe yokuthuthukiswa kwe-Truffle.

Esifundweni 12 uzofunda ukudlulisa idatha phakathi kwezinkontileka ezihlakaniphile nomhlaba wangempela usebenzisa izibikezelo. Lokhu kuzoba usizo kuwe ukuthola idatha evela kuwebhusayithi, kumadivayisi e-IoT, amathuluzi ahlukahlukene nezinzwa, futhi uthumele idatha kusuka kuzinkontileka ezihlakaniphile kuya kulawa madivayisi. Engxenyeni engokoqobo yesifundo, uzodala i-oracle kanye nenkontileka ehlakaniphile ethola izinga lokushintshanisa lamanje phakathi kwe-USD nama-ruble kusuka kuwebhusayithi yeBhange Elikhulu Le-Russian Federation.

Isifundo 1. Kafushane mayelana ne-blockchain kanye nenethiwekhi ye-EthereumInhloso yesifundo: zijwayelane nezimiso zokusebenza ze-Ethereum blockchain, izindawo zayo zokusebenza kanye namagama ayisisekelo.
Imisebenzi esebenzayo: akuhlanganisiwe kulesi sifundo.

Kukhona neze umthuthukisi wesofthiwe namuhla ongakaze ezwe lutho mayelana nobuchwepheshe be-blockchain (Blockchain), i-cryptocurrencies (i-Cryptocurrency noma i-Crypto Currency), i-Bitcoin (Bitcoin), umnikelo wohlamvu lwemali lokuqala (ICO, umnikelo wohlamvu lokuqala), izinkontileka ezihlakaniphile (Inkontileka ye-Smart), kanye neminye imiqondo nemibandela ehlobene ne-blockchain.

Ubuchwepheshe beBlockchain buvula izimakethe ezintsha futhi budale imisebenzi yabahleli bohlelo. Uma uqonda zonke izinto eziyinkimbinkimbi zobuchwepheshe be-cryptocurrency kanye nobuchwepheshe benkontileka ehlakaniphile, akufanele ube nezinkinga ekusebenziseni lolu lwazi ekusebenzeni.

Kumele kushiwo ukuthi kunokuqagela okuningi mayelana ne-cryptocurrencies kanye nama-blockchains. Sizoshiya eceleni izingxoxo mayelana nezinguquko kumazinga e-cryptocurrency, ukudalwa kwamaphiramidi, ubunkimbinkimbi bomthetho we-cryptocurrency, njll. Esifundweni sethu sokuqeqesha sizogxila ikakhulukazi ezicini zobuchwepheshe zokusetshenziswa kwezinkontileka ezihlakaniphile ze-Ethereum blockchain (i-Ethereum, i-Ether) kanye nokuthuthukiswa kwalokho okubizwa ngokuthi izinhlelo zokusebenza ezihlukaniswayo (Isicelo Esisatshalaliswa, i-DApp).

Yini i-blockchain

I-Blockchain (I-Block Chain) iwuchungechunge lwamabhulokhi wedatha axhunywe komunye nomunye ngendlela ethile. Ekuqaleni kweketango kukhona ibhulokhi yokuqala, ebizwa ngokuthi ibhulokhi eyinhloko (i-genesis block) noma i-genesis block. Ilandelwa eyesibili, kulandele eyesithathu njalo njalo.

Wonke lawa mabhulokhi wedatha aphindaphindwa ngokuzenzakalelayo kumanodi amaningi wenethiwekhi ye-blockchain. Lokhu kuqinisekisa ukugcinwa kwe-decentralized kwedatha ye-blockchain.
Ungacabanga ngohlelo lwe-blockchain njengenani elikhulu lama-node (amaseva angokwenyama noma abonakalayo) axhunywe kunethiwekhi futhi aphindaphinda zonke izinguquko ochungechungeni lwamabhulokhi wedatha. Lokhu kufana nekhompiyutha enkulu enamaseva amaningi, futhi ama-node ekhompiyutha enjalo (amaseva) angahlakazeka emhlabeni wonke. Futhi nawe ungakwazi ukwengeza ikhompuyutha yakho kunethiwekhi ye-blockchain.

Isizindalwazi Esisabalalisiwe

I-blockchain ingacatshangwa njengesizindalwazi esabalalisiwe esiphindaphindwa kuwo wonke ama-node enethiwekhi ye-blockchain. Ngokombono, i-blockchain izosebenza inqobo nje uma okungenani i-node eyodwa isebenza, igcina wonke amabhlogo we-blockchain.

Irejista Yedatha Esabalalisiwe

I-Blockchain ingacatshangwa njenge-ledger esabalalisiwe yedatha nemisebenzi (imisebenzi). Elinye igama lerejista enjalo incwadi.

Idatha ingangezwa kubhukwana esabalalisiwe, kodwa ayikwazi ukushintshwa noma isuswe. Lokhu kungenzeki kufinyelelwa, ikakhulukazi, ngokusetshenziswa kwe-cryptographic algorithms, ama-algorithms akhethekile wokwengeza amabhlokhi kuketango kanye nokugcinwa kwedatha okunwetshiwe.

Lapho wengeza amabhulokhi futhi wenza imisebenzi (imisebenzi), okhiye abayimfihlo nabasesidlangalaleni bayasetshenziswa. Bakhawulela abasebenzisi be-blockchain ngokubanika ukufinyelela kumabhulokhi wabo wedatha.

Ukuthengiselana

I-Blockchain igcina ulwazi mayelana nokusebenza (ukuthengiselana) kumabhulokhi. Ngesikhathi esifanayo, ukuthenga okudala, osekuqediwe akukwazi ukuhlehliswa noma kushintshwe. Okwenziwayo okusha kugcinwa kumabhulokhi amasha, angeziwe.

Ngale ndlela, wonke umlando wokuthengiselana ungarekhodwa ungashintshiwe ku-blockchain. Ngakho-ke, i-blockchain ingasetshenziswa, isibonelo, ukugcina ngokuphepha ukuthengiselana kwebhange, ulwazi lwe-copyright, umlando wezinguquko kubanikazi bezakhiwo, njll.

I-Ethereum blockchain iqukethe okuthiwa yi-system states. Njengoba okwenziwayo kwenziwa, isimo siyashintsha sisuke esimweni sokuqala siye esimweni samanje. Okwenziwayo kubhalwa emabhuloki.

Ama-blockchains omphakathi nawangasese

Kumele kuqashelwe lapha ukuthi konke okushiwo kuyiqiniso kuphela kulokho okubizwa ngokuthi amanethiwekhi omphakathi we-blockchain, angakwazi ukulawulwa yinoma yimuphi umuntu noma inhlangano esemthethweni, i-ejensi kahulumeni noma uhulumeni.
Okubizwa ngokuthi amanethiwekhi we-blockchain yangasese angaphansi kolawulo olugcwele lwabadali bawo, futhi noma yini engenzeka lapho, isibonelo, ukushintshwa okuphelele kwawo wonke amabhlogo weketanga.

Izicelo ezisebenzayo ze-blockchain

Yini engaba usizo lwe-blockchain?

Ngamafuphi, i-blockchain ikuvumela ukuthi wenze ngokuphepha ukuthengiselana (ukuthengiselana) phakathi kwabantu noma izinkampani ezingathembani. Idatha eqoshwe ku-blockchain (ukuthengiselana, idatha yomuntu siqu, imibhalo, izitifiketi, izinkontileka, ama-invoyisi, njll.) ayikwazi ukukhohlisa noma ukushintshwa ngemva kokurekhoda. Ngakho-ke, ngokusekelwe ku-blockchain, kungenzeka ukudala, isibonelo, ukubhaliswa okuthembekile okusatshalaliswa kwezinhlobo ezihlukahlukene zemibhalo.

Yiqiniso, uyazi ukuthi izinhlelo ze-cryptocurrency zenziwa ngesisekelo se-blockchains, eklanyelwe ukufaka imali yephepha evamile. Imali yamaphepha nayo ibizwa nge-fiat (kusuka kwa-Fiat Money).
I-Blockchain iqinisekisa ukugcinwa nokungaguquki kokuthengiselana okurekhodiwe kumabhulokhi, yingakho ingasetshenziswa ukudala izinhlelo ze-cryptocurrency. Iqukethe wonke umlando wokudluliswa kwezimali ze-crypto phakathi kwabasebenzisi abahlukene (ama-akhawunti), futhi noma yikuphi ukusebenza kungalandelelwa.

Nakuba ukuthengiselana ngaphakathi kwezinhlelo ze-cryptocurrency kungase kungaziwa, ukukhipha i-cryptocurrency futhi ukuhwebelana ngemali ye-fiat ngokuvamile kuphumela ekudaluleni ubunikazi bomnikazi wefa le-cryptocurrency.

Okubizwa ngokuthi izinkontileka ezihlakaniphile, okuyisofthiwe esebenza kunethiwekhi ye-Ethereum, ikuvumela ukuba wenze ngokuzenzakalelayo inqubo yokuphetha ukuthengiselana nokuqapha ukuqaliswa kwazo. Lokhu kusebenza ikakhulukazi uma inkokhelo yomsebenzi yenziwa kusetshenziswa i-cryptocurrency ye-Ether.

Izivumelwano ze-Ethereum blockchain kanye ne-Ethereum smart ezibhalwe ngolimi lohlelo lwe-Solidity zingasetshenziswa, isibonelo, kulezi zindawo ezilandelayo:

  • enye indlela yokugunyazwa kwamadokhumenti;
  • ukugcinwa kwerejista yezinto ezithengiswayo kanye nolwazi mayelana nokuthengiselana ngezinto ezithengiswayo;
  • ukugcinwa kolwazi lwe-copyright empahleni yengqondo (izincwadi, izithombe, imisebenzi yomculo, njll.);
  • ukwakhiwa kwezinhlelo zokuvota ezizimele;
  • ezezimali kanye namabhange;
  • Logistics ngezinga lamazwe ngamazwe, ukulandelela ukuhamba kwezimpahla;
  • ukugcinwa kwedatha yomuntu siqu njenge-analogue ohlelweni lwamakhadi kamazisi;
  • ukuthengiselana okuvikelekile emkhakheni wezohwebo;
  • ukugcina imiphumela yokuhlolwa kwezokwelapha, kanye nomlando wezinqubo ezinqunyiwe

Izinkinga nge-blockchain

Kodwa, yiqiniso, akuyona yonke into elula njengoba kungase kubonakale!

Kunezinkinga zokuqinisekisa idatha ngaphambi kokuyengeza ku-blockchain (isibonelo, ingabe zingamanga?), Izinkinga ngokuvikeleka kwesistimu nesoftware esetshenziswa ukusebenza ne-blockchain, izinkinga zokuthi kungenzeka ukusebenzisa izindlela zobunjiniyela bezenhlalo ukweba ukufinyelela. kuma-wallet e-cryptocurrency, njll. .P.

Futhi, uma singakhulumi nge-blockchain yomphakathi, ama-node ayo ahlakazeke emhlabeni wonke, kodwa mayelana ne-blockchain yangasese yomuntu noma inhlangano, izinga lokuthembela lapha ngeke libe ngaphezu kwezinga lokuthembela. kulo muntu noma kule nhlangano.

Kufanele futhi kucatshangelwe ukuthi idatha erekhodiwe ku-blockchain itholakala kuwo wonke umuntu. Ngalo mqondo, i-blockchain (ikakhulukazi yomphakathi) ayifanele ukugcina imininingwane eyimfihlo. Kodwa-ke, iqiniso lokuthi ulwazi lwe-blockchain alukwazi ukushintshwa lungasiza ekuvimbeleni noma ukuphenya izinhlobo ezahlukene zemisebenzi yokukhwabanisa.

Izicelo ezihlukaniselwe i-Ethereum zizoba lula uma ukhokhela ukusetshenziswa kwazo nge-cryptocurrency. Lapho abantu abaningi abangabanikazi be-cryptocurrency noma abazimisele ngokuyithenga, ama-DApp aziwa kakhulu nezinkontileka ezihlakaniphile.

Izinkinga ezivamile nge-blockchain ezivimbela ukusetshenziswa kwayo okungokoqobo zifaka isivinini esilinganiselwe lapho amabhulokhi amasha angengezwa khona kanye nezindleko eziphakeme zokuthengiselana. Kodwa ubuchwepheshe kule ndawo buthuthuka ngenkuthalo, futhi kukhona ithemba lokuthi izinkinga zobuchwepheshe zizoxazululwa ngokuhamba kwesikhathi.

Enye inkinga ukuthi izinkontileka ezihlakaniphile ku-Ethereum blockchain zisebenza endaweni engayodwa yemishini ebonakalayo, futhi azikwazi ukufinyelela idatha yezwe langempela. Ikakhulukazi, uhlelo lwenkontileka ehlakaniphile alukwazi ngokwalo ukufunda idatha evela kumasayithi noma kunoma imaphi amadivaysi aphathekayo (izinzwa, abathintwayo, njll.), futhi alukwazi ukukhipha idatha kunoma imaphi amadivaysi angaphandle. Sizoxoxa ngale nkinga nezindlela zokuyixazulula esifundweni esinikezwe lokho okubizwa ngokuthi ama-Oracles - abaxhumanisi bolwazi bezinkontileka ezihlakaniphile.

Kukhona nemikhawulo yezomthetho. Kwamanye amazwe, ngokwesibonelo, akuvunyelwe ukusebenzisa i-cryptocurrency njengendlela yokukhokha, kodwa ungaba umnikazi wayo njengohlobo lwempahla yedijithali, njengezibambiso. Izimpahla ezinjalo zingathengwa futhi zidayiswe ekuhwebeni. Kunoma yikuphi, lapho udala iphrojekthi esebenza nge-cryptocurrencies, udinga ukuzijwayeza nomthetho wezwe lapho iphrojekthi yakho iwela ngaphansi kwayo.

Iketango le-blockchain lakhiwa kanjani

Njengoba sesishilo kakade, i-blockchain iwuchungechunge olulula lwamabhulokhi wedatha. Okokuqala, kwakhiwa ibhulokhi yokuqala yalolu chungechunge, bese kuthi eyesibili yengezwe kuyo, njalonjalo. Idatha yokwenziwe kucatshangwa ukuthi igcinwe kumabhulokhi, futhi yengezwa kubhulokhi yakamuva kakhulu.

Emfanekisweni. 1.1 sibonise inguqulo elula yokulandelana kwamabhulokhi, lapho ibhulokhi yokuqala ibhekisela kokulandelayo.

Incwadi ethi “Ukudala izinkontileka ezihlakaniphile ze-Ethereum blockchain. Umhlahlandlela osebenzayo"
Ilayisi. 1.1. Ukulandelana okulula kwamabhulokhi

Ngalolu khetho, noma kunjalo, kulula kakhulu ukuphazamisa okuqukethwe kwanoma yiliphi ibhulokhi kuketanga, ngoba amabhulokhi awaqukethe noma yiluphi ulwazi lokuvikela izinguquko. Uma sicabangela ukuthi i-blockchain ihloselwe ukusetshenziswa abantu nezinkampani phakathi kwazo okungekho ukwethembana, singaphetha ngokuthi le ndlela yokugcina idatha ayifaneleki vimba.

Ake siqale ukuvikela amabhlogo ekwenziweni komgunyathi. Esigabeni sokuqala, sizozama ukuvikela ibhulokhi ngayinye nge-checksum (Fig. 1.2).

Incwadi ethi “Ukudala izinkontileka ezihlakaniphile ze-Ethereum blockchain. Umhlahlandlela osebenzayo"
Ilayisi. 1.2. Ukwengeza ukuvikeleka kulawa mabhulokhi nge-checksum

Manje umhlaseli akakwazi ukumane aguqule i-block, ngoba iqukethe i-checksum yedatha ye-block. Ukuhlola i-checksum kuzobonisa ukuthi idatha ishintshiwe.

Ukuze ubale i-checksum, ungasebenzisa omunye wemisebenzi ye-hashing efana ne-MD-5, SHA-1, SHA-256, njll. Imisebenzi ye-hash ibala inani (isibonelo, iyunithi yezinhlamvu yombhalo enobude obungashintshi) ngokwenza imisebenzi engahlehliseki kubhulokhi yedatha. Imisebenzi incike ohlotsheni lomsebenzi we-hashi.

Ngisho noma okuqukethwe kwebhulokhi yedatha kushintsha kancane, inani le-hashi nalo lizoshintsha. Ngokuhlaziya inani lomsebenzi we-hashi, akunakwenzeka ukwakha kabusha ibhulokhi yedatha ebalelwe yona.

Ingabe isivikelo esinjalo siyokwanela? Ngeshwa cha.

Kulolu hlelo, i-checksum (umsebenzi we-hash) ivikela kuphela amabhulokhi ngamunye, kodwa hhayi i-blockchain yonke. Ukwazi i-algorithm yokubala umsebenzi we-hash, umhlaseli angakwazi ukufaka esikhundleni kalula okuqukethwe kwebhulokhi. Futhi, akukho lutho oluzomvimbela ekususeni amabhlogo eketango noma engeza amasha.

Ukuze uvikele lonke iketango lilonke, ungagcina futhi kubhulokhi ngayinye, kanye nedatha, i-hash yedatha evela kubhulokhi yangaphambilini (Fig. 1.3).

Incwadi ethi “Ukudala izinkontileka ezihlakaniphile ze-Ethereum blockchain. Umhlahlandlela osebenzayo"
Ilayisi. 1.3. Engeza i-hashi yebhulokhi yangaphambilini kubhulokhi yedatha

Kulolu hlelo, ukuze uguqule ibhulokhi, udinga ukubala kabusha imisebenzi ye-hash yawo wonke amabhlogo alandelayo. Kungase kubonakale, yini inkinga?

Kuma-blockchains wangempela, ubunzima bokwenziwa buye badalelwa ukwengeza amabhulokhi amasha-ama-algorithms adinga izinsiza eziningi zekhompiyutha asetshenziswa. Uma ucabangela ukuthi ukuze wenze izinguquko kubhulokhi, udinga ukubala kabusha hhayi leli bhulokhi elilodwa kuphela, kodwa wonke alandelayo, lokhu kuzoba nzima kakhulu ukukwenza.

Masikhumbule futhi ukuthi idatha ye-blockchain igcinwa (iphindwe kabili) kumanodi amaningi wenethiwekhi, i.e. Kusetshenziswa ukugcinwa kwezindawo ezihlukene. Futhi lokhu kwenza kube nzima kakhulu ukwenza i-block block, ngoba izinguquko kufanele zenziwe kuwo wonke ama-node enethiwekhi.

Njengoba amabhulokhi egcina ulwazi mayelana nebhulokhi yangaphambilini, kungenzeka ukuthi uhlole okuqukethwe kwawo wonke amabhulokhi kuketango.

Ethereum blockchain

I-Ethereum blockchain iyinkundla lapho kungadalwa khona ama-DApps asatshalaliswayo. Ngokungafani namanye amapulatifomu, i-Ethereum ivumela ukusetshenziswa kwalokho okubizwa ngokuthi izinkontileka ezihlakaniphile (izivumelwano ezihlakaniphile), ezibhalwe ngolimi lohlelo lwe-Solidity.

Le nkundla yakhiwe ngo-2013 ngu-Vitalik Buterin, umsunguli we-Bitcoin Magazine, futhi yethulwa ngo-2015. Konke esizokufunda noma esizokwenza esifundweni sethu sokuqeqesha kuhlobene ngokuqondile ne-Ethereum blockchain kanye nezinkontileka ezihlakaniphile ze-Solidity.

Izimayini noma indlela amabhlogo enziwa ngayo

Izimayini ziyinqubo eyinkimbinkimbi futhi edinga izinsiza kakhulu yokwengeza amabhlokhi amasha kuchungechunge lwe-blockchain, hhayi nhlobo “izimayini ze-cryptocurrency.” Izimayini ziqinisekisa ukusebenza kwe-blockchain, ngoba yile nqubo enesibopho sokwengeza ukuthengiselana ku-Ethereum blockchain.

Abantu nezinhlangano ezibandakanyekayo ekwengezeni amabhlogo babizwa ngabavukuzi.
Isofthiwe esebenza kuma-node omayini izama ukuthola ipharamitha ye-hashing ebizwa ngokuthi i-Nonce ye-block yokugcina ukuze ithole inani elithile le-hashi elishiwo inethiwekhi. I-algorithm ye-Ethash hashing esetshenziswa e-Ethereum ikuvumela ukuthi uthole inani le-Nonce kuphela ngokusesha okulandelanayo.

Uma i-node yomvukuzi ithola inani elilungile le-Nonce, khona-ke lokhu kubizwa ngokuthi ubufakazi bomsebenzi (PoW, Ubufakazi bomsebenzi). Kulesi simo, uma i-block ingeziwe kunethiwekhi ye-Ethereum, umvukuzi uthola umvuzo othile ngemali yenethiwekhi - i-Ether. Ngesikhathi sokubhala, umvuzo u-5 Ether, kodwa lokhu kuzoncishiswa ngokuhamba kwesikhathi.

Ngakho-ke, abavukuzi be-Ethereum baqinisekisa ukusebenza kwenethiwekhi ngokungeza amabhlogo, futhi bathole imali ye-cryptocurrency yalokhu. Kunolwazi oluningi ku-inthanethi mayelana nabavukuzi nezimayini, kodwa sizogxila ekudaleni izinkontileka ze-Solidity kanye ne-DApps kunethiwekhi ye-Ethereum.

Isifinyezo Sesifundo

Esifundweni sokuqala, uye wajwayelana ne-blockchain futhi wafunda ukuthi iwukulandelana okuklanywe ngokukhethekile kwamabhlogo. Okuqukethwe kwamabhulokhi arekhodiwe ngaphambilini akukwazi ukushintshwa, ngoba lokhu kuzodinga ukubala kabusha wonke amabhlogo alandelayo kumanodi amaningi enethiwekhi, okudinga izinsiza eziningi nesikhathi.

I-Blockchain ingasetshenziswa ukugcina imiphumela yokuthengiselana. Inhloso yawo enkulu ukuhlela ukuthengiselana okuvikelekile phakathi kwezinhlangano (abantu nezinhlangano) okungekho ukwethembana phakathi kwazo. Ufunde ukuthi yiziphi izindawo ezithile zebhizinisi nokuthi yiziphi izindawo i-Ethereum blockchain ne-Solidity izinkontileka ezihlakaniphile zingasetshenziswa. Lona umkhakha wamabhange, ukubhaliswa kwamalungelo empahla, imibhalo, njll.

Ufunde nokuthi izinkinga ezahlukahlukene zingavela lapho usebenzisa i-blockchain. Lezi yizinkinga zokuqinisekisa imininingwane engezwe ku-blockchain, isivinini se-blockchain, izindleko zokuthengiselana, inkinga yokushintshaniswa kwedatha phakathi kwezinkontileka ezihlakaniphile nomhlaba wangempela, kanye nokuhlaselwa okungase kube abahlaseli okuhloswe ukweba imali ye-cryptocurrency kuma-akhawunti abasebenzisi. .

Siphinde sakhuluma kafushane ngezimayini njengenqubo yokwengeza amabhlogo amasha ku-blockchain. Ukumba izimayini kuyadingeka ukuze uqedele ukuthengiselana. Labo abathintekayo ezimayini baqinisekisa ukusebenza kwe-blockchain futhi bathola umvuzo ku-cryptocurrency ngalokhu.

Isifundo 2. Ukulungiselela indawo yokusebenza ku-Ubuntu ne-Debian OSUkukhetha isistimu yokusebenza
Ukufaka izinsiza ezidingekayo
Ukufaka i-Geth ne-Swarm ku-Ubuntu
Ukufaka i-Geth ne-Swarm ku-Debian
Ukulungiselela kokuqala
Ilanda ukusabalalisa kwe-Go
Ukusetha okuguquguqukayo kwendawo
Ihlola inguqulo ye-Go
Ifaka i-Geth ne-Swarm
Ukudala i-blockchain yangasese
Ilungiselela ifayela le-genesis.json
Dala uhla lwemibhalo lomsebenzi
Yenza i-akhawunti
Ukuqala ukuqaliswa kwe-node
Izinketho Zokuqalisa I-Node
Xhuma ku-node yethu
Ukuphathwa kwezimayini kanye nokuhlola ibhalansi
Ivala ikhonsoli ye-Geth
Isifinyezo Sesifundo

Isifundo 3. Ukulungiselela indawo yokusebenza ku-Raspberry Pi 3Ukulungiselela i-Raspberry Pi 3 yomsebenzi
Ifaka i-Rasberian
Ifaka izibuyekezo
Inika amandla Ukufinyelela kwe-SSH
Ukusetha ikheli le-IP elimile
Ukufaka izinsiza ezidingekayo
Ifaka i-Go
Ilanda ukusabalalisa kwe-Go
Ukusetha okuguquguqukayo kwendawo
Ihlola inguqulo ye-Go
Ifaka i-Geth ne-Swarm
Ukudala i-blockchain yangasese
Ihlola i-akhawunti yakho nebhalansi
Isifinyezo Sesifundo

Isifundo 4. Ama-akhawunti kanye nokudlulisa izimali phakathi kwama-akhawuntiBuka futhi wengeze ama-akhawunti
Buka uhlu lwama-akhawunti
Yengeza i-akhawunti
geth akhawunti izinketho zomyalo
Amaphasiwedi e-akhawunti
I-Cryptocurrency e-Ethereum
Izindleko ze-Ethereum Currency Units
Sinquma ibhalansi yamanje yama-akhawunti ethu
Dlulisa izimali zisuka kwenye i-akhawunti ziye kwenye
eth.sendTransaction indlela
Buka isimo sokwenziwe
Irisidi yokwenziwe
Isifinyezo Sesifundo

Isifundo 5. Ukushicilela isivumelwano sakho sokuqalaIzinkontileka ezihlakaniphile ku-Ethereum
Ukusebenzisa Inkontileka Ehlakaniphile
I-Ethereum Virtual Machine
Indawo edidiyelwe yokuthuthukiswa kwe-Remix Solidity IDE
Ukuhlanganiswa okusebenzayo
Ukushayela Inkontileka Imisebenzi
Ukushicilela inkontileka kunethiwekhi yangasese
Ukuthola incazelo ye-ABI kanye nekhodi kanambambili yenkontileka
Ukushicilelwa kwenkontileka
Ihlola isimo senkontileka shicilela umsebenzi
Ukushayela Inkontileka Imisebenzi
I-Batch compiler solc
Ukufaka i-solc ku-Ubuntu
Ifaka i-solc ku-Debian
Ukuhlanganisa inkontileka ye-HelloSol
Ukushicilelwa kwenkontileka
Ifaka i-solc ku-Rasberian
Isifinyezo Sesifundo

Isifundo 6. Izinkontileka ezihlakaniphile kanye ne-Node.jsIfaka i-Node.js
Ukufakwa ku-Ubuntu
Ukufakwa ku-Debian
Ukufaka nokusebenzisa i-Ganache-cli
Ukufakwa kwe-Web3
Ifaka i-solc
Ifaka i-Node.js ku-Rasberian
Script ukuze uthole uhlu lwama-akhawunti kukhonsoli
Iskripthi sokushicilela inkontileka ehlakaniphile
Yethula futhi uthole amapharamitha
Ithola izinketho zokuqalisa
Ukuhlanganiswa Kwenkontileka
Ivula i-akhawunti yakho
Ilayisha i-ABI kanye nekhodi kanambambili yenkontileka
Ukulinganisa inani elidingekayo legesi
Dala into bese uqala ukushicilela inkontileka
Ukuqalisa iskripthi sokushicilela inkontileka
Ukushayela imisebenzi yenkontileka ehlakaniphile
Ingabe kungenzeka ukubuyekeza inkontileka ehlakaniphile eshicilelwe?
Ukusebenza ne-Web3 version 1.0.x
Ukuthola uhlu lwama-akhawunti
Ukushicilelwa kwenkontileka
Ukushayela Inkontileka Imisebenzi
Dlulisa izimali zisuka kwenye i-akhawunti ziye kwenye
Dlulisela izimali ku-akhawunti yenkontileka
Ibuyekeza inkontileka ehlakaniphile ye-HelloSol
Dala umbhalo ukuze ubuke ibhalansi ye-akhawunti yakho
Engeza ikholi kumsebenzi we-getBalance kusikripthi se-call_contract_get_promise.js
Sigcwalisa i-akhawunti yenkontileka ehlakaniphile
Isifinyezo Sesifundo

Isifundo 7. Isingeniso Se-TruffleIfaka i-Truffle
Dala iphrojekthi ye-HelloSol
Ukudala Uhla Lwemibhalo Yephrojekthi Namafayela
Uhla lwemibhalo yezinkontileka
Ukufuduka kwekhathalogi
Uhlolo lwemibhalo
ifayela le-truffle-config.js
Ukuhlanganisa inkontileka ye-HelloSol
Qala ukushicilela inkontileka
Ukushayela Imisebenzi Yenkontileka ye-HelloSol ku-Truffle Prompt
Ukushayela inkontileka ye-HelloSol kusebenza kuskripthi se-JavaScript esebenzisa i-Node.js
Ukufaka imojula yenkontileka ye-truffle
Ukushayela imisebenzi yenkontileka i-getValue ne-GetString
Ukushayela imisebenzi yenkontileka setValue kanye ne-setString
Ukuguqulwa kwenkontileka kanye nokushicilelwa kabusha
Ukusebenza ne-Web3 version 1.0.x
Yenza izinguquko kunkontileka ehlakaniphile ye-HelloSol
Imibhalo yokubiza izindlela zenkontileka
Ukuhlola ku-Truffle
Ukuhlolwa kokuqina
Ukuhlolwa kwe-JavaScript
Isifinyezo Sesifundo

Isifundo 8. Izinhlobo Zedatha YokuqinaInkontileka yezinhlobo zedatha yokufunda
Izinhlobo zedatha ye-Boolean
Izinombolo ezingasayiniwe kanye nama-integer asayiniwe
Izinombolo zamaphoyinti angashintshi
Ikheli
Okuguquguqukayo kwezinhlobo eziyinkimbinkimbi
Izinhlu Zosayizi Olungisiwe
Amalungu afanayo anamandla
Dlulisa
Izakhiwo
Ukwenza imephu yezichazamazwi
Isifinyezo Sesifundo

Isifundo 9. Ukufuduka kwezinkontileka kunethiwekhi yangasese kanye nenethiwekhi ye-RinkebyUkushicilela inkontileka kusuka ku-Truffle kuya kunethiwekhi yangasese ye-Geth
Ilungiselela inodi yenethiwekhi yangasese
Ukulungisa inkontileka yomsebenzi
Ukuhlanganisa nokuthuthela inkontileka kunethiwekhi ye-Truffle
Iqala i-geth yenethiwekhi yendawo
Ukuthola izinto ze-Truffle
Ukushicilela inkontileka kusuka ku-Truffle kuya ku-Rinkeby testnet
Ilungiselela i-Geth node ukuze isebenze ne-Rinkeby
Ukuvumelanisa kwenodi
Yengeza ama-akhawunti
Ukugcwalisa i-akhawunti yakho ye-Rinkeby nge-ether
Iqalisa ukuthuthela kwenkontileka kunethiwekhi ye-Rinkeby
Ukubuka ulwazi lwenkontileka kunethiwekhi ye-Rinkeby
I-Truffle Console ye-Rinkeby Network
Indlela elula yokubiza imisebenzi yenkontileka
Ukushayela izindlela zenkontileka usebenzisa i-Node.js
Dlulisa izimali phakathi kwama-akhawunti ku-Truffle console ye-Rinkby
Isifinyezo Sesifundo

Isifundo 10. Ethereum Swarm Decentralized Data StorageNgabe i-Ethereum Swarm isebenza kanjani?
Ifaka futhi iqalise i-Swarm
Ukusebenza ngamafayela nezinkomba
Ilayisha Ifayela ku-Ethereum Swarm
Ifunda ifayela ku-Ethereum Swarm
Buka i-manifest yefayela elilayishiwe
Ilayisha uhla lwemibhalo ngemibhalo engaphansi
Ukufunda ifayela ohlwini lwemibhalo olulandiwe
Kusetshenziswa isango lomphakathi leSwarm
Ukufinyelela i-Swarm kusuka emibhalweni ye-Node.js
I-Perl Net ::I-Ethereum::Imojula eswazi
Ifaka i-Net ::Ethereum::Imojuli eswazi
Idatha yokubhala nokufunda
Isifinyezo Sesifundo

Isifundo 11. Uhlaka lweWeb3.py lokusebenza ne-Ethereum ePythonIfaka i-Web3.py
Ukubuyekeza nokufaka amaphakheji adingekayo
Ukufaka imojuli ye-easysolc
Ukushicilela inkontileka kusetshenziswa i-Web3.py
Ukuhlanganiswa Kwenkontileka
Ixhuma kumhlinzeki
Yenza ukushicilelwa kwenkontileka
Ilondoloza ikheli lenkontileka kanye ne-abi kufayela
Ukuqalisa iskripthi sokushicilela inkontileka
Ukushayela Izindlela Zenkontileka
Ukufunda ikheli kanye ne-abi yenkontileka kufayela le-JSON
Ixhuma kumhlinzeki
Ukudala Into Yenkontileka
Ukushayela Izindlela Zenkontileka
I-Truffle kanye ne-Web3.py
Isifinyezo Sesifundo

Isifundo 12. OraclesIngabe inkontileka ehlakaniphile ingathembela idatha evela emhlabeni wangaphandle?
I-Oracles njengabaxhumanisi bolwazi lwe-blockchain
Umthombo wedatha
Ikhodi yokumela idatha evela emthonjeni
I-Oracle yokurekhoda izinga lokushintshana ku-blockchain
Inkontileka ye-USDRateOracle
Ukubuyekeza izinga lokushintshisana kunkontileka ehlakaniphile
Ukusebenzisa Umhlinzeki Wesokhethi Wewebhu
Ilinde umcimbi we-RateUpdate
Ukusingatha umcimbi we-RateUpdate
Ukuqala isibuyekezo sedatha kunkontileka ehlakaniphile
Isifinyezo Sesifundo

Source: www.habr.com

Engeza amazwana