Bhuku "Kugadzira Solidity akangwara zvibvumirano zveEthereum blockchain. Gwaro rinoshanda"

Bhuku "Kugadzira Solidity akangwara zvibvumirano zveEthereum blockchain. Gwaro rinoshanda"
Kweanopfuura gore ndanga ndichishanda pabhuku "Kugadzira Solidity Smart Contracts yeEthereum Blockchain. Practical Guide", uye zvino basa iri rakapedzwa, uye bhuku rakabudiswa uye rinowanikwa mumaLita.

Ndinovimba bhuku rangu richakubatsira kukurumidza kutanga kugadzira Solidity smart contacts uye kugovera DApps yeEthereum blockchain. Iine zvidzidzo gumi nezviviri zvine mabasa anoshanda. Kana vapedza ivo, muverengi achakwanisa kugadzira yavo yemunharaunda Ethereum node, kubudisa zvibvumirano zvakanaka uye kudana nzira dzavo, kuchinjanisa data pakati penyika chaiyo uye zvibvumirano zvekuchenjera vachishandisa zvinyorwa, uye kushanda neRinkeby test debug network.

Iri bhuku rinotaurirwa kune wese anofarira tekinoroji yepamusoro mumunda we blockchains uye anoda kukurumidza kuwana ruzivo runovabvumira kuita basa rinonakidza uye rinovimbisa.

Pazasi iwe unowana tafura yezviri mukati uye chitsauko chekutanga chebhuku (zvakare Litrese zvidimbu zvebhuku zviripo). Ndinovimba kugamuchira mhinduro, makomendi uye mazano. Ini ndichaedza kutora zvese izvi mundangariro pakugadzirira chinyorwa chinotevera chebhuku.

Tafura yezvinyorwaNhanganyayaBhuku redu rakagadzirirwa avo vanoda kwete kungonzwisisa nheyo dzeEthereum blockchain, asiwo kuwana unyanzvi hunoshanda mukugadzira maDApps akagoverwa muSolidity programming language ye network iyi.

Zviri nani kwete kungoverenga bhuku rino, asi kushanda naro, uchiita mabasa anoshanda anotsanangurwa muzvidzidzo. Kuti ushande, iwe uchada komputa yemuno, chaiyo kana gore sevha ine Debian kana Ubuntu OS yakaiswa. Iwe unogona zvakare kushandisa Raspberry Pi kuita akawanda mabasa.

Pachidzidzo chekutanga Tichatarisa maitiro ekushanda eEthereum blockchain uye mazwi ekutanga, uyewo kutaura pamusoro pekuti iyi blockchain inogona kushandiswa kupi.

Chinangwa chidzidzo chechipiri - gadzira yakavanzika Ethereum blockchain node yekuwedzera basa mukati meiyi kosi pane Ubuntu uye Debian server. Isu tichatarisa maficha ekuisa zvakakosha zvekushandisa, senge geth, iyo inovimbisa kushanda kweyedu blockchain node, pamwe neiyo swarm decentralized data kuchengetedza daemon.

Chidzidzo chechitatu ichakudzidzisa maitiro ekuedza Ethereum pane isingadhure Raspberry Pi microcomputer. Iwe unozoisa iyo Rasberian inoshanda sisitimu (OS) paRaspberry Pi, iyo Geth yekushandisa iyo inopa simba blockchain node, uye Swarm decentralized data kuchengetedza daemon.

Chidzidzo chechina yakatsaurirwa kuakaunti uye cryptocurrency zvikamu paEthereum network, pamwe nenzira dzekuendesa mari kubva kune imwe account kuenda kune imwe kubva kuGeth console. Iwe unozodzidza kugadzira maakaunti, kutanga mari yekuendesa mari, uye kuwana mamiriro ekutengeserana uye risiti.

Muchidzidzo chechishanu Iwe unozojairana neakangwara zvibvumirano pane Ethereum network uye dzidza nezve kuurayiwa kwavo neEthereum virtual muchina.

Iwe uchagadzira uye kushambadza yako yekutanga smart kontrakiti paEthereum yakavanzika network uye dzidza nzira yekudaidza mabasa ayo. Kuti uite izvi, iwe uchashandisa iyo Remix Solidity IDE. Iwe unozodzidza zvakare kuisa uye kushandisa iyo solc batch compiler.
Isu tichazotaurawo nezve iyo inonzi Application Binary Interface (ABI) uye tokudzidzisa mashandisiro ayo.

Chidzidzo chechitanhatu yakatsaurirwa kugadzira zvinyorwa zveJavaScript zvinomhanya Node.js uye kuita mashandiro neSolidity smart makondirakiti.

Iwe uchaisa Node.js paUbuntu, Debian uye Rasberian OS, nyora zvinyorwa kuti ubudise chibvumirano chakanaka paEthereum yemunharaunda network uye kudana mabasa ayo.

Uye zvakare, iwe unozodzidza nzira yekuendesa mari pakati peakajairwa maakaundi uchishandisa zvinyorwa, pamwe nekuakweretesa kune smart makondirakiti maakaundi.

Muchidzidzo chechinomwe Iwe unozodzidza kuisa uye kushandisa iyo Truffle framework, inozivikanwa pakati peSolidity smart kontrakiti vanogadzira. Unozodzidza kugadzira zvinyorwa zveJavaScript zvinodaidzira mabasa ekondirakiti uchishandisa truffle-contract module, uye edza kondirakiti yako yakangwara uchishandisa Truffle.

Chidzidzo chechisere yakatsaurirwa kune Solidity data mhando. Iwe unonyora zvibvumirano zvakangwara zvinoshanda nemhando dzedata senge akasainwa uye asina kusaina manhamba, nhamba dzakasainwa, tambo, kero, zvakaomarara zvinosiyana, arrays, enumerations, zvimiro, uye maduramazwi.

Muchidzidzo chechipfumbamwe Iwe uchave nhanho imwe padhuze nekugadzira akangwara zvibvumirano zveEthereum mainnet. Iwe unozodzidza kuburitsa zvibvumirano uchishandisa Truffle paGeth yakavanzika network, pamwe neRinkeby testnet. Kugadzirisa chibvumirano chakangwara paRinkeby network kunobatsira kwazvo usati waiburitsa panetiweki huru - zvinenge zvese zviri zvechokwadi ipapo, asi zvemahara.

Sechikamu chechidzidzo, iwe uchagadzira Rinkeby test network node, mari yacho nemari, uye buritsa kondirakiti yakangwara.

chidzidzo 10 yakatsaurirwa kuEthereum Swarm yakagoverwa kuchengetedza data. Nekushandisa kuchengetedzwa kwakagoverwa, unochengetedza pakuchengetedza huwandu hwe data paEthereum blockchain.

Muchidzidzo ichi, iwe uchagadzira yemuno Swarm chengetedzo, nyora uye uverenge mashandiro pamafaira, uye mafaera madhairekitori. Tevere, unozodzidza kushanda neruzhinji Swarm gedhi, nyora zvinyorwa kuti uwane Swarm kubva kuNode.js, pamwe nekushandisa Perl Net ::Ethereum::Swarm module.

Chinangwa chechidzidzo 11 - tenzi kushanda neSolidity smart zvibvumirano uchishandisa iyo yakakurumbira Python programming mutauro uye iyo Web3.py framework. Iwe unozoisa iyo chimiro, nyora zvinyorwa kuunganidza uye kushambadza smart kontrakiti, uye kudaidza mabasa ayo. Muchiitiko ichi, Web3.py ichashandiswa zvose zvayo uye pamwe chete neTruffle integrated development environment.

Pachidzidzo 12 iwe unozodzidza kuendesa data pakati pezvibvumirano zvakangwara uye nyika chaiyo uchishandisa oracles. Izvi zvichabatsira kuti iwe ugamuchire data kubva kumawebhusaiti, zvishandiso zveIoT, zvishandiso zvakasiyana uye masensa, uye kutumira data kubva kune smart zvibvumirano kune izvi zvishandiso. Muchikamu chinoshanda chechidzidzo, iwe uchagadzira oracle uye smart kontrakiti inogamuchira ikozvino shanduko yemari pakati peUSD nemaruble kubva pawebhusaiti yeCentral Bank yeRussian Federation.

Chidzidzo 1. Muchidimbu nezve blockchain uye Ethereum networkChinangwa chechidzidzo: ziva nezvemitemo yekushanda yeEthereum blockchain, nzvimbo dzayo dzekushandiswa uye nheyo dzemashoko.
Mabasa anoshanda: isina kubatanidzwa muchidzidzo chino.

Iko kune kashoma mugadziri wesoftware nhasi asina kumbonzwa nezve blockchain tekinoroji (Blockchain), cryptocurrencies (Cryptocurrency kana Crypto Currency), Bitcoin (Bitcoin), yekutanga coin inopa (ICO, Initial coin offering), smart zvibvumirano (Smart Contract), pamwe nemamwe mazano uye mazwi ane hukama ne blockchain.

Blockchain tekinoroji inovhura misika mitsva uye inogadzira mabasa kune vanogadzira mapurogiramu. Kana iwe uchinzwisisa zvese zvakaomarara zve cryptocurrency matekinoroji uye smart kontrakiti tekinoroji, saka haufanirwe kuve nematambudziko kushandisa ruzivo urwu mukuita.

Zvinofanira kutaurwa kuti kune kwakawanda kufungidzira kwakatenderedza cryptocurrencies uye blockchains. Isu tichasiya padivi nhaurirano nezve shanduko ye cryptocurrency mitengo, kusikwa kwemapiramidhi, kuomesesa kwemutemo wekristptocurrency, nezvimwe. Muchidzidzo chedu chekudzidzisa isu tichatarisa zvakanyanya pane zvehunyanzvi zvekushandisa kweakangwara zvibvumirano zveEthereum blockchain (Ethereum, Ether) uye kuvandudzwa kwezvinonzi decentralized application (Distributed Application, DApp).

Chii chinonzi blockchain

Blockchain (Block Chain) iketani yedata blocks yakabatana kune imwe neimwe neimwe nzira. Pakutanga kwecheni pane bhuroko rekutanga, iro rinonzi primary block (genesis block) kana genesis block. Inoteverwa neyechipiri, yozotevera yechitatu zvichingodaro.

Ese aya mabhuroki edata anodzokororwa otomatiki pane dzakawanda node dze blockchain network. Izvi zvinogonesa kuchengetwa kweiyo blockchain data.
Iwe unogona kufunga nezve blockchain system sehuwandu hukuru hwemanodhi (emuviri kana chaiwo maseva) akabatana munetiweki uye achidzokorora shanduko dzese mumaketani e data block. Izvi zvakafanana nehofori yakawanda-server komputa, uye node dzekombuta yakadaro (maseva) anogona kupararira pasirese. Uye iwewo unogona kuwedzera komputa yako kune blockchain network.

Distributed Database

A blockchain inogona kufungidzirwa sedhatabhesi yakagoverwa iyo inodzokororwa munzvimbo dzese dze blockchain network. Mune dzidziso, iyo blockchain ichange ichishanda chero bedzi imwe node iri kushanda, ichichengeta ese mabhuraki e blockchain.

Distributed Data Registry

Blockchain inogona kufungidzirwa seyakagoverwa ledger yedata uye mashandiro (transactions). Rimwe zita rerejista rakadaro ibhuku.

Dhata inogona kuwedzerwa kune yakagoverwa ledger, asi haigone kuchinjwa kana kubviswa. Izvi zvisingagoneke zvinowanikwa, kunyanya, nekushandiswa kwekriptographic algorithms, yakakosha algorithms yekuwedzera mabhuraki kumaketani uye nekuchengetedza data data.

Kana uchiwedzera zvivharo uye kuita mashandiro (transactions), zvakavanzika uye zveveruzhinji makiyi anoshandiswa. Ivo vanorambidza vashandisi ve blockchain nekungovapa mukana kune yavo mabhuraki e data.

Transactions

Blockchain inochengeta ruzivo nezve mashandiro (transactions) mumabhuroko. Panguva imwecheteyo, yekare, yakatopedzwa kutengeserana haigoni kukungurutswa kumashure kana kuchinjwa. Zvitsva zvekutengeserana zvinochengetwa mune zvitsva, akawedzera mabhuroko.

Nenzira iyi, iyo nhoroondo yese yekutengeserana inogona kurekodhwa isina kuchinjwa pa blockchain. Naizvozvo, blockchain inogona kushandiswa, semuenzaniso, kuchengetedza zvakachengeteka kutengeserana kwebhangi, ruzivo rwekodzero, nhoroondo yekuchinja kwevaridzi vezvivakwa, nezvimwe.

Iyo Ethereum blockchain ine inonzi inonzi system states. Sezvo kutengeserana kunoitwa, nyika inoshanduka kubva kune yekutanga kuenda kune yazvino. Transactions inorekodhwa mumabhuroko.

Public uye zvakavanzika blockchains

Izvo zvinofanirwa kucherechedzwa pano kuti zvese zvataurwa ndezvechokwadi chete kune iyo inonzi public blockchain network, iyo isingagoni kudzorwa nemunhu chero upi zvake kana sangano repamutemo, sangano rehurumende kana hurumende.
Izvo zvinonzi zvakavanzika blockchain network zviri pasi pekutonga kwakazara kwevagadziri vavo, uye chero chinhu chinogoneka ipapo, semuenzaniso, kutsiva kwakazara kwese mabhuraki etani.

Zvishandiso zvinoshanda zve blockchain

Chii chinogona kubatsira blockchain?

Muchidimbu, blockchain inobvumidza iwe kuita zvakachengeteka kutengeserana (transaction) pakati pevanhu kana makambani asingavimbane. Dhata yakanyorwa mu blockchain (transaction, data yemunhu, zvinyorwa, zvitupa, zvibvumirano, invoice, nezvimwewo) haigone kunyengedzwa kana kutsiviwa mushure mekurekodha. Naizvozvo, zvichibva pane blockchain, zvinokwanisika kugadzira, semuenzaniso, akavimbika akaparadzirwa registries emhando dzakasiyana dzemagwaro.

Ehe, iwe unoziva kuti cryptocurrency masisitimu ari kugadzirwa pahwaro hwe blockchains, akagadzirirwa kutsiva yakajairika mapepa emapepa. Pepa mari inonziwo fiat (kubva kuFiat Money).
Blockchain inochengetedza kuchengetedza uye kusachinjika kwekutengeserana kwakanyorwa mumabhuraki, ndosaka ichigona kushandiswa kugadzira cryptocurrency masisitimu. Iyo ine nhoroondo yese yekuchinjisa mari yecrypto pakati pevashandisi vakasiyana (akaundi), uye chero mashandiro anogona kuteverwa.

Kunyangwe kutengeserana mukati me cryptocurrency masisitimu kunogona kusazivikanwa, kubvisa cryptocurrency uye kuichinjanisa nemari yefiat kazhinji kunoguma nekuburitsa pachena kuzivikanwa kwemuridzi weiyo cryptocurrency asset.

Izvo zvinonzi zvibvumirano zvekuchenjera, izvo zviri software inoshanda paEthereum network, inokubvumira kuti uite otomatiki nzira yekupedzisa kutengeserana uye kutarisa kushandiswa kwavo. Izvi zvinonyanya kushanda kana kubhadhara kwekutengeserana kuchiitwa uchishandisa Ether cryptocurrency.

Iyo Ethereum blockchain uye Ethereum smart zvibvumirano zvakanyorwa muSolidity programming mutauro zvinogona kushandiswa, semuenzaniso, munzvimbo dzinotevera:

  • imwe nzira kune notarization yemagwaro;
  • kuchengetwa kwerejista yezvinhu zveimba uye ruzivo pamusoro pekutengeserana nezvinhu zveimba;
  • kuchengetwa kweruzivo rwekodzero papfuma yehungwaru (mabhuku, mifananidzo, mabasa emimhanzi, nezvimwewo);
  • kusikwa kwehurongwa hwekuvhota hwakazvimirira;
  • mari nemabhangi;
  • logistics pachiyero chepasi rose, kuronda mafambiro ezvinhu;
  • kuchengetwa kwedata remunhu seanalogue kune chitupa kadhi system;
  • kutengeserana kwakachengeteka munharaunda yekutengeserana;
  • kuchengetedza migumisiro yekuongororwa kwechiremba, pamwe chete nenhoroondo yezvirongwa zvakatemwa

Matambudziko ne blockchain

Asi, hongu, hazvisi zvese zviri nyore sezvazvingaite!

Pane matambudziko ekusimbisa data usati wawedzera kune blockchain (semuenzaniso, ndeye manyepo?), Matambudziko nekuchengetedzwa kwesystem uye application software inoshandiswa kushanda ne blockchain, matambudziko nemukana wekushandisa social engineering nzira kubira kupinda. kune cryptocurrency wallet, nezvimwewo .P.

Zvekare, kana tisiri kutaura nezve blockchain yeruzhinji, iyo node dzakapararira pasirese, asi nezve yakavanzika blockchain yemunhu kana sangano, ipapo mwero wekuvimba pano hauzove wakakwira kupfuura mwero wekuvimba. mumunhu uyu kana musangano uyu.

Izvo zvinofanirwawo kuverengerwa kuti iyo data yakanyorwa mu blockchain inowanikwa kune wese munhu. Nenzira iyi, blockchain (kunyanya yeruzhinji) haina kukodzera kuchengetedza ruzivo rwakavanzika. Nekudaro, chokwadi chekuti ruzivo nezve blockchain hachigone kuchinjwa chinogona kubatsira kudzivirira kana kuongorora marudzi akasiyana ezviitiko zvehutsotsi.

Ethereum decentralized application ichave nyore kana iwe ukabhadhara pakushandisa kwavo ne cryptocurrency. Kuwanda kwevanhu vane cryptocurrency kana kuti vanoda kuitenga, iyo inonyanya kufarirwa DApps uye zvibvumirano zvakangwara zvichave.

Matambudziko akajairika ane blockchain anotadzisa kushanda kwayo anosanganisira kukurumidza kukurumidza uko mabhuroki matsva anogona kuwedzerwa uye mutengo wakakwira wekutengesa. Asi tekinoroji munzvimbo ino iri kushingaira kukura, uye kune tarisiro yekuti matambudziko ehunyanzvi achagadziriswa nekufamba kwenguva.

Rimwe dambudziko nderekuti zvibvumirano zvakangwara paEthereum blockchain zvinoshanda munzvimbo yakasarudzika yemashini chaiwo, uye haugone kuwana data renyika chaiyo. Kunyanya, iyo smart contract chirongwa haigone kuverenga iyo data kubva kumasaiti kana chero zvigadzirwa zvemuviri (sensors, vanobatika, nezvimwewo), uye zvakare haigone kuburitsa data kune chero ekunze zvishandiso. Isu tichakurukura dambudziko iri uye nzira dzekurigadzirisa muchidzidzo chakatsaurirwa kune vanonzi Oracles - ruzivo vamiriri vezvibvumirano zvakangwara.

Kunewo zvirambidzo zvepamutemo. Mune dzimwe nyika, semuenzaniso, zvinorambidzwa kushandisa cryptocurrency senzira yekubhadhara, asi iwe unogona kuva nayo semhando yemidziyo yedhijitari, sezvibatiso. Zvinhu zvakadaro zvinogona kutengwa uye kutengeswa pakutsinhana. Chero zvazvingava, paunenge uchigadzira purojekiti inoshanda nekrisptocurrencies, unofanirwa kuzviziva nemutemo wenyika iyo inowira pasi pekutonga kwako.

Iyo blockchain chain inogadzirwa sei

Sezvatakambotaura, blockchain iketani yakapfava yedata blocks. Kutanga, bhuroka yekutanga yeketani iyi inoumbwa, uye yechipiri inowedzerwa kwairi, zvichingodaro. Transaction data inofungidzirwa kuchengetwa mumabhuroka, uye inowedzerwa kune yazvino block.

Mumufananidzo. 1.1 takaratidza iyo yakapfava vhezheni yekutevedzana kwezvivharo, apo yekutanga block inoreva kune inotevera.

Bhuku "Kugadzira Solidity akangwara zvibvumirano zveEthereum blockchain. Gwaro rinoshanda"
Mupunga. 1.1. Kutevedzana kwakareruka kwemabhuroko

Neiyi sarudzo, zvisinei, zviri nyore kwazvo kukanganisa zviri mukati mechero block mumaketani, sezvo mabhururu asina chero ruzivo rwekudzivirira kubva kune shanduko. Tichifunga kuti blockchain inotarisirwa kushandiswa nevanhu nemakambani pakati pavo pasina kuvimbana, tinogona kugumisa kuti nzira iyi yekuchengetedza data haina kukodzera blockchain.

Ngatitangei kuchengetedza zvidhinha kubva kune zvekunyepedzera. Padanho rekutanga, tichaedza kudzivirira bhuroka rimwe nerimwe necheki (Fig. 1.2).

Bhuku "Kugadzira Solidity akangwara zvibvumirano zveEthereum blockchain. Gwaro rinoshanda"
Mupunga. 1.2. Kuwedzera dziviriro yezvivharo izvi necheki

Iye zvino munhu anorwisa haagone kungochinja block, sezvo ine cheki yedata re block. Kutarisa cheki kunoratidza kuti data yakashandurwa.

Kuti uverenge cheki, unogona kushandisa imwe yehashing mabasa akadai MD-5, SHA-1, SHA-256, nezvimwe. Hash mabasa anounganidza kukosha (semuenzaniso, tambo yemavara yehurefu hunogara) nekuita zvisingadzoreki mashandiro pabhuroko redata. Izvo zvinoshandiswa zvinoenderana nerudzi rwehashi basa.

Kunyangwe kana zviri mukati me data block zvichichinja zvishoma, kukosha kwehashi kuchachinjawo. Nekuongorora iyo hash basa kukosha, hazvibviri kuvakazve iyo data block iyo yakaverengerwa.

Dziviriro yakadaro ichakwana here? Sezvineiwo kwete.

Muchirongwa ichi, cheki (hash basa) inongodzivirira mabhuraki ega, asi kwete iyo blockchain yese. Kuziva iyo algorithm yekuverenga iyo hash basa, anorwisa anogona nyore kutsiva zviri mukati me block. Zvakare, hapana chinomutadzisa kubvisa zvivharo kubva mucheni kana kuwedzera zvitsva.

Kuti udzivirire ketani yose pamwe chete, iwe unogonawo kuchengeta muvharo rimwe nerimwe, pamwe chete nedheta, hashi yedhesi kubva kune yakapfuura block (Fig. 1.3).

Bhuku "Kugadzira Solidity akangwara zvibvumirano zveEthereum blockchain. Gwaro rinoshanda"
Mupunga. 1.3. Wedzera iyo hashi yekare block kune data block

Muchirongwa ichi, kuitira kuti uchinje block, iwe unofanirwa kuverengera zvakare hash mabasa eese anotevera mabhuroko. Zvingaita sekuti, dambudziko nderei?

Muma blockchains chaiwo, matambudziko ekugadzira anogadzirwazve kuti awedzere mabhuroki matsva-algorithms inoda yakawanda yemakomputa zviwanikwa anoshandiswa. Tichifunga kuti kuitira kuti uchinje kubhuroka, iwe unofanirwa kuverenga kwete chete iyi bhuroka, asi ese anotevera, izvi zvichanyanya kuoma kuita.

Ngatiyeukeiwo kuti blockchain data inochengetwa (yakadzokororwa) pane akawanda network node, i.e. Decentralized storage inoshandiswa. Uye izvi zvinoita kuti zvinyanye kuomera kunyepera block, nekuti shanduko dzinofanirwa kuitwa kune ese network node.

Sezvo mabhuraki achichengeta ruzivo nezve block yapfuura, zvinokwanisika kutarisa zviri mukati mezvivharo zvese mumaketani.

Ethereum blockchain

Iyo Ethereum blockchain ipuratifomu iyo yakagoverwa DApps inogona kugadzirwa. Kusiyana nemamwe mapuratifomu, Ethereum inobvumira kushandiswa kwezvinonzi smart zvibvumirano (smart contracts), zvakanyorwa muSolidity programming language.

Iyi puratifomu yakagadzirwa muna 2013 naVitalik Buterin, muvambi weBitcoin Magazine, uye yakatanga muna 2015. Zvese zvatichadzidza kana kuita mukosi yedu yekudzidzira zvine chekuita neEthereum blockchain uye Solidity smart zvibvumirano.

Migodhi kana kuti mabhuroko anogadzirwa sei

Migodhi inzira yakaoma uye ine simba-yakawanda nzira yekuwedzera mabhuroko matsva kune blockchain cheni, uye kwete zvachose "cryptocurrency migodhi." Migodhi inovimbisa kushanda kwe blockchain, nekuti ndiyo nzira iyi ine basa rekuwedzera kutengeserana kuEthereum blockchain.

Vanhu nemasangano ane chekuita nekuwedzera mabhuroko vanonzi vashandi vemumigodhi.
Iyo software inomhanya pane miner node inoedza kutsvaga hashing parameter inonzi Nonce kune yekupedzisira block kuti iwane chaiyo hashi kukosha inotsanangurwa netiweki. Ethash hashing algorithm inoshandiswa muEthereum inokubvumira kuwana kukosha kweNonce chete kuburikidza nekutsvaga kwakatevedzana.

Kana iyo miner node ikawana chaiyo Nonce kukosha, saka iyi ndiyo inonzi uchapupu hwebasa (PoW, Proof-of-work). Muchiitiko ichi, kana chivharo chakawedzerwa kune network yeEthereum, mucheri anogamuchira imwe mubairo mune network network - Ether. Panguva yekunyora, mubairo ndeye 5 Ether, asi izvi zvichaderedzwa nekufamba kwenguva.

Saka, Ethereum miners vanovimbisa kushanda kwetiweki nekuwedzera zvidhinha, uye kugamuchira cryptocurrency mari yeizvi. Iwe uchawana ruzivo rwakawanda paInternet pamusoro pemigodhi nemigodhi, asi isu tichaisa pfungwa pakugadzira zvibvumirano zveSolidity uye DApps paEthereum network.

Pfupiso yechidzidzo

Muchidzidzo chekutanga, iwe wakajairana ne blockchain uye wakadzidza kuti inoteedzana yakanyatso kurongeka yemabhuraki. Zviri mukati mezvivharo zvakanyorwa kare hazvigone kuchinjwa, sezvo izvi zvingada kuverengerazve mabhuraki ese anotevera pane akawanda network node, izvo zvinoda mari yakawanda uye nguva.

Blockchain inogona kushandiswa kuchengetedza mhedzisiro yekutengeserana. Chinangwa chayo chikuru ndechekuronga kutengeserana kwakachengeteka pakati pemapato (vanhu nemasangano) pakati pavo pasina kuvimbana. Iwe wakadzidza mune dzimwe nzvimbo dzebhizinesi uye munzvimbo dzipi Ethereum blockchain uye Solidity smart zvibvumirano zvinogona kushandiswa. Iri ndiro chikamu chebhangi, kunyoreswa kwekodzero dzepfuma, zvinyorwa, nezvimwe.

Iwe wakadzidza zvakare kuti matambudziko akasiyana anogona kumuka kana uchishandisa blockchain. Aya ndiwo matambudziko ekusimbisa ruzivo rwakawedzerwa kune blockchain, kumhanya kwe blockchain, mutengo wekutengesa, dambudziko rekuchinjana data pakati pezvibvumirano zvakangwara nenyika chaiyo, pamwe nekurwiswa kungangoitwa nevapambi nechinangwa chekuba mari yecryptocurrency kubva kumaakaundi emushandisi. .

Isu takataurawo muchidimbu nezvemigodhi senzira yekuwedzera mabhuroko matsva ku blockchain. Mining inodiwa kuti upedze kutengeserana. Avo vanobatanidzwa mumigodhi vanovimbisa kushanda kwe blockchain uye vanogamuchira mubairo mu cryptocurrency yeizvi.

Chidzidzo 2. Kugadzirira nharaunda yekushanda muUbuntu neDebian OSKusarudza sisitimu yekushandisa
Kuisa zvishandiso zvinodiwa
Kuisa Geth uye Swarm paUbuntu
Kuisa Geth uye Swarm paDebian
Kugadzirira kwekutanga
Kudhaunirodha kugovera kweGo
Kuseta mamiriro akasiyana
Kutarisa Go vhezheni
Kuisa Geth uye Swarm
Kugadzira yakavanzika blockchain
Kugadzirira iyo genesis.json faira
Gadzira dhairekitori rebasa
Gadzira account
Kutanga iyo node yekutanga
Node Launch Options
Batanidza kune yedu node
Mining management uye chiyero chekutarisa
Kudzima Geth console
Pfupiso yechidzidzo

Chidzidzo 3. Kugadzirira nharaunda yekushanda paRaspberry Pi 3Kugadzirira iyo Raspberry Pi 3 yebasa
Kuisa Rasberian
Kuisa zvigadziriso
Kugonesa SSH Access
Kuisa Static IP Kero
Kuisa zvishandiso zvinodiwa
Kuisa Go
Kudhaunirodha kugovera kweGo
Kuseta mamiriro akasiyana
Kutarisa Go vhezheni
Kuisa Geth uye Swarm
Kugadzira yakavanzika blockchain
Kuongorora account yako uye chiyero
Pfupiso yechidzidzo

Chidzidzo 4. Maakaundi uye kutumira mari pakati peakaundiOna uye wedzera maakaundi
Ona rondedzero yemaakaundi
Kuwedzera account
geth account command sarudzo
Mapassword eakaundi
Cryptocurrency muEthereum
Ethereum Currency Units
Isu tinosarudza chiyero chazvino cheakaundi edu
Tumira mari kubva kune imwe account kuenda kune imwe
eth.sendTransaction nzira
Ona mamiriro ekutengeserana
Mariti yekutengeserana
Pfupiso yechidzidzo

Chidzidzo 5. Kutsikisa kondirakiti yako yekutangaSmart zvibvumirano muEthereum
Smart Contract Execution
Ethereum Virtual Machine
Yakabatanidzwa budiriro nharaunda Remix Solidity IDE
Running compilation
Kufonera Contract Mabasa
Kuburitsa kondirakiti pane yakavanzika network
Kuwana iyo ABI tsananguro uye chibvumirano chebhanari kodhi
Kuburitswa kwechibvumirano
Kutarisa kondirakiti buritsa mamiriro ekutengeserana
Kufonera Contract Mabasa
Batch compiler solc
Kuisa solc paUbuntu
Kuisa solc paDebian
Kunyora chibvumirano che HelloSol
Kuburitswa kwechibvumirano
Kuisa solc paRasberian
Pfupiso yechidzidzo

Chidzidzo 6. Smart makondirakiti uye Node.jsKuisa Node.js
Kuiswa paUbuntu
Kuiswa paDebian
Kuisa uye kumhanya Ganache-cli
Web3 kuiswa
Kuisa solc
Kuisa Node.js paRasberian
Script kuti uwane runyorwa rweakaundi mukoni
Script yekutsikisa kondirakiti yakangwara
Tanga uye tora parameters
Kuwana sarudzo dzekutanga
Contract Compilation
Kuvhura account yako
Kurodha ABI uye chibvumirano chebhanari kodhi
Kufungidzira huwandu hunodiwa hwegasi
Gadzira chinhu uye tanga kuburitsa kondirakiti
Kumhanyisa chibvumirano chekushambadzira script
Kudaidza smart contract mabasa
Zvinoita here kugadzirisa chibvumirano chakaburitswa chakangwara?
Kushanda neWeb3 vhezheni 1.0.x
Kuwana rondedzero yemaakaundi
Kuburitswa kwechibvumirano
Kufonera Contract Mabasa
Tumira mari kubva kune imwe account kuenda kune imwe
Tumira mari kuaccount account
Kugadziridza iyo HelloSol smart kontrakiti
Gadzira script kuti utarise account yako balance
Wedzera kufona kune getBalance function kune call_contract_get_promise.js script
Isu tinokwidza iyo smart contract account
Pfupiso yechidzidzo

Chidzidzo 7. Nhanganyaya yeTruffleKuisa Truffle
Gadzira HelloSol chirongwa
Kugadzira iyo Project Directory uye Mafaira
Dhairekitori rezvibvumirano
Catalog kutama
Dhairekitori bvunzo
truffle-config.js file
Kunyora chibvumirano che HelloSol
Tanga kuburitsa kondirakiti
Kufonera HelloSol Kondirakiti Mabasa muTruffle Prompt
Kufonera HelloSol kondirakiti inoshanda kubva kune JavaScript script inomhanya Node.js
Kuisa iyo truffle-contract module
Kufonera kondirakiti inoshanda GetValue uye GetString
Kufonera chibvumirano mabasa setValue uye setString
Kugadziriswa kwekondirakiti uye kudhindwazve
Kushanda neWeb3 vhezheni 1.0.x
Kuita shanduko kune HelloSol smart kontrakiti
Zvinyorwa zvekudana nzira dzechibvumirano
Kuedza muTruffle
Solidity test
JavaScript test
Pfupiso yechidzidzo

Chidzidzo 8. Solidity Data TypesKondirakiti yekudzidza mhando dzedata
Boolean data mhando
Nhamba dzisina kusaina uye nhamba dzakasainwa
Fixed point number
Address
Kusiyana kwemhando dzakaoma
Yakagadziriswa Size Arrays
Dynamic arrays
Kufungidzira
Zvimiro
Dictionaries mapping
Pfupiso yechidzidzo

Chidzidzo 9. Kutama kwezvibvumirano kune yakavanzika network uye kune Rinkeby networkKuburitsa kondirakiti kubva kuTruffle kuenda kune yakavanzika Geth network
Kugadzirira yakavanzika network node
Kugadzirira kondirakiti yebasa
Kuunganidza uye kutamisa kondirakiti kune Truffle network
Kutanga local network migration geth
Kuwana Truffle artifacts
Kuburitsa kondirakiti kubva kuTruffle kuenda kuRinkeby testnet
Kugadzirira Geth node yekushanda naRinkeby
Node synchronization
Kuwedzera maakaundi
Kuwedzera yako Rinkeby account ne ether
Kutangisa kutama kwechibvumirano kune Rinkeby network
Kuona ruzivo rwechibvumirano paRinkeby network
Truffle Console yeRinkeby Network
Nzira iri nyore yekudaidza mabasa echibvumirano
Kufona nzira dzechibvumirano uchishandisa Node.js
Shandura mari pakati peakaundi muTruffle console yeRinkby
Pfupiso yechidzidzo

Chidzidzo 10. Ethereum Swarm Decentralized Data StorageEthereum Swarm inoshanda sei?
Kuisa uye kutanga Swarm
Kushanda nemafaira nemadhairekitori
Kuisa Faira kuEthereum Swarm
Kuverenga faira kubva kuEthereum Swarm
Wona manifesto yefaira raiswa
Kurodha madhairekitori ane subdirectories
Kuverenga faira kubva kudhairekitori rakadhaunirodwa
Kushandisa yeruzhinji Swarm gedhi
Kuwana Swarm kubva kuNode.js zvinyorwa
Perl Net ::Ethereum ::Swarm module
Kuisa iyo Net :: Ethereum :: Swarm module
Kunyora uye kuverenga data
Pfupiso yechidzidzo

Chidzidzo 11. Web3.py framework yekushanda neEthereum muPythonKuisa Web3.py
Kuvandudza nekuisa mapakeji anodiwa
Kuisa iyo easysolc module
Kuburitsa kondirakiti uchishandisa Web3.py
Contract Compilation
Kubatanidza kune anopa
Ita kuburitswa kwechibvumirano
Kuchengetedza kero yekondirakiti uye abi mufaira
Kumhanyisa chibvumirano chekushambadzira script
Kufonera Contract Methods
Kuverenga kero uye abi yechibvumirano kubva kuJSON faira
Kubatanidza kune anopa
Kugadzira Chinhu cheKondirakiti
Kufonera Contract Methods
Truffle uye Web3.py
Pfupiso yechidzidzo

Chidzidzo 12. OraclesKo smart contract inogona kuvimba data kubva kunze kwenyika?
Oracles se blockchain ruzivo varevereri
Dhata sosi
Kodhi yekumiririra data kubva kunobva
Oracle yekurekodha mwero wekuchinjana mu blockchain
USDRateOracle Contract
Kuvandudza chiyero chekuchinjana muchibvumirano chakangwara
Kushandisa Webhu Socket Provider
Takamirira chiitiko cheRateUpdate
Kubata chiitiko cheRateUpdate
Kutanga dhizaini yedata muchibvumirano chakangwara
Pfupiso yechidzidzo

Source: www.habr.com

Voeg