Tha an leabhar “Cruthachadh Solidity smart cùmhnantan airson an Ethereum blockchain. Stiùireadh practaigeach"

Tha an leabhar “Cruthachadh Solidity smart cùmhnantan airson an Ethereum blockchain. Stiùireadh practaigeach"
Airson còrr air bliadhna tha mi air a bhith ag obair air an leabhar “Cruthachadh Solidity Smart Contracts airson an Ethereum Blockchain. Stiùireadh practaigeach", agus a-nis tha an obair seo air a chrìochnachadh, agus an leabhar air fhoillseachadh agus ri fhaighinn ann an Litrichean.

Tha mi an dòchas gun cuidich an leabhar agam thu gu sgiobalta gus tòiseachadh air ceanglaichean smart Solidity a chruthachadh agus DApps a sgaoileadh airson an Ethereum blockchain. Tha e air a dhèanamh suas de 12 leasanan le gnìomhan practaigeach. Às deidh dhaibh an crìochnachadh, bidh e comasach don leughadair na nodan Ethereum ionadail aca fhèin a chruthachadh, cùmhnantan snasail fhoillseachadh agus na dòighean aca a ghairm, iomlaid dàta eadar an fhìor shaoghal agus cùmhnantan snasail a ’cleachdadh oracles, agus obrachadh le lìonra deasbaid deuchainn Rinkeby.

Tha an leabhar air a sheòladh chun a h-uile duine aig a bheil ùidh ann an teicneòlasan adhartach ann an raon blockchain agus a tha airson eòlas fhaighinn gu luath a leigeas leotha a dhol an sàs ann an obair inntinneach agus gealltanach.

Gu h-ìosal lorgaidh tu an clàr-innse agus a’ chiad chaibideil den leabhar (cuideachd air adhart Litreis tha pìosan den leabhar rim faighinn). Tha mi an dòchas fios air ais, beachdan agus molaidhean fhaighinn. Feuchaidh mi ri seo a thoirt fa-near nuair a bhios mi ag ullachadh an ath eagran den leabhar.

Clàr-innseRo-ràdhTha an leabhar againn airson an fheadhainn a tha airson chan e a-mhàin tuigse fhaighinn air prionnsapalan blockchain Ethereum, ach cuideachd gus sgilean practaigeach fhaighinn ann a bhith a’ cruthachadh DApps sgaoilte ann an cànan prògramadh Solidity airson an lìonraidh seo.

Tha e nas fheàrr chan ann a-mhàin an leabhar seo a leughadh, ach a bhith ag obair leis, a 'coileanadh gnìomhan practaigeach a tha air am mìneachadh anns na leasanan. Gus obrachadh, bidh feum agad air coimpiutair ionadail, frithealaiche brìgheil no sgòth le Debian no Ubuntu OS air a chuir a-steach. Faodaidh tu cuideachd Raspberry Pi a chleachdadh gus iomadh gnìomh a choileanadh.

Aig a 'chiad leasan Bheir sinn sùil air prionnsapalan obrachaidh blockchain Ethereum agus briathrachas bunaiteach, agus bruidhnidh sinn cuideachd air far am faodar an blockchain seo a chleachdadh.

Amas dara leasan - cruthaich nód blockchain Ethereum prìobhaideach airson tuilleadh obrach sa chùrsa seo air frithealaiche Ubuntu agus Debian. Coimheadaidh sinn ri feartan stàladh ghoireasan bunaiteach, leithid geth, a nì cinnteach gu bheil an nód blockchain againn ag obair, a bharrachd air an daemon stòraidh dàta dì-mheadhanaichte swarm.

An treas leasan ionnsaichidh tu mar a nì thu deuchainn air Ethereum air microcomputer Raspberry Pi saor. Stàlaichidh tu an siostam obrachaidh Rasberian (OS) air an Raspberry Pi, an goireas Geth a bheir cumhachd don nód blockchain, agus an daemon stòraidh dàta dì-mheadhanaichte Swarm.

Leasan a ceithir air a choisrigeadh do chunntasan agus aonadan cryptocurrency air lìonra Ethereum, a bharrachd air dòighean air airgead a ghluasad bho aon chunntas gu cunntas eile bho consol Geth. Ionnsaichidh tu mar a chruthaicheas tu cunntasan, mar a thòisicheas tu gnothaichean gluasad airgid, agus mar a gheibh thu inbhe malairt agus cuidhteas.

Anns a' chòigeamh leasan Gheibh thu eòlas air cùmhnantan snasail air lìonra Ethereum agus ionnsaichidh tu mu bhith gan cur gu bàs le inneal brìgheil Ethereum.

Cruthaichidh agus foillsichidh tu a 'chiad chùmhnant snasail agad air lìonra prìobhaideach Ethereum agus ionnsaichidh tu mar a chanas tu na gnìomhan aige. Gus seo a dhèanamh, cleachdaidh tu an Remix Solidity IDE. Ionnsaichidh tu cuideachd mar a stàlaicheas agus a chleachdas tu an inneal-cruinneachaidh baidse solc.
Bruidhnidh sinn cuideachd mun cho-ainm Iarrtas Binary Interface (ABI) agus ionnsaichidh sinn dhut mar a chleachdas tu e.

An t-siathamh leasan gu sònraichte airson sgriobtaichean JavaScript a chruthachadh a’ ruith Node.js agus a’ coileanadh gnìomhachd le cùmhnantan snasail Solidity.

Stàlaichidh tu Node.js air Ubuntu, Debian agus Rasberian OS, sgrìobhaidh tu sgriobtaichean gus cùmhnant snasail fhoillseachadh air lìonra ionadail Ethereum agus gairm a ghnìomhan.

A bharrachd air an sin, ionnsaichidh tu mar a ghluaiseas tu airgead eadar cunntasan cunbhalach a’ cleachdadh sgriobtaichean, a bharrachd air creideas a thoirt dhaibh gu cunntasan cùmhnant sgairteil.

Anns an t-seachdamh leasan Ionnsaichidh tu mar a stàlaicheas agus a chleachdas tu frèam Truffle, a tha mòr-chòrdte am measg luchd-leasachaidh cùmhnantan smart Solidity. Ionnsaichidh tu mar a chruthaicheas tu sgriobtaichean JavaScript a dh ’ainmicheas gnìomhan cùmhnant a’ cleachdadh modal cùmhnant truffle, agus nì thu deuchainn air a ’chùmhnant snasail agad le bhith a’ cleachdadh Truffle.

Ochdamh leasan coisrigte do sheòrsan dàta Solidity. Sgrìobhidh tu cùmhnantan snasail a bhios ag obair le seòrsachan dàta leithid sloinnidhean soidhnichte agus gun ainm, àireamhan soidhnichte, sreangan, seòlaidhean, caochladairean iom-fhillte, arrays, àireamhachd, structaran, agus faclairean.

Anns an naoidheamh leasan Bidh thu aon cheum nas fhaisge air a bhith a 'cruthachadh chùmhnantan snasail airson mainnet Ethereum. Ionnsaichidh tu mar a dh’ fhoillsicheas tu cùmhnantan a’ cleachdadh Truffle air lìonra prìobhaideach Geth, a bharrachd air air an Rinkeby testnet. Tha e glè fheumail a bhith a 'deasachadh cùmhnant snasail air lìonra Rinkeby mus tèid fhoillseachadh air a' phrìomh lìonra - tha cha mhòr a h-uile dad fìor an sin, ach an-asgaidh.

Mar phàirt den leasan, cruthaichidh tu nód lìonra deuchainn Rinkeby, maoinichidh tu e le airgead, agus foillsichidh tu cùmhnant snasail.

Leasan 10 coisrigte do stòradh dàta sgaoilte Ethereum Swarm. Le bhith a’ cleachdadh stòradh sgaoilte, sàbhalaidh tu air tòrr dàta a stòradh air blockchain Ethereum.

San oideachadh seo, cruthaichidh tu stòr Swarm ionadail, sgrìobhaidh agus leughaidh tu gnìomhachd air faidhlichean, agus clàran faidhle. An uairsin, ionnsaichidh tu mar a dh’ obraicheas tu le geata poblach Swarm, sgrìobhaidh tu sgriobtaichean gus faighinn gu Swarm bho Node.js, a bharrachd air a bhith a’ cleachdadh modal Perl Net ::Ethereum ::Swarm.

Amas Leasan 11 - maighstir ag obair le cùmhnantan snasail Solidity a’ cleachdadh cànan prògramadh Python mòr-chòrdte agus frèam Web3.py. Stàlaichidh tu am frèam, sgrìobhaidh tu sgriobtaichean gus an cùmhnant snasail a chuir ri chèile agus fhoillseachadh, agus gairmidh tu na gnìomhan aige. Anns a 'chùis seo, thèid Web3.py a chleachdadh an dà chuid leis fhèin agus ann an co-bhonn ri àrainneachd leasachaidh amalaichte Truffle.

Aig leasan 12 ionnsaichidh tu dàta a ghluasad eadar cùmhnantan snasail agus an fhìor shaoghal a’ cleachdadh oracles. Bidh seo feumail dhut airson dàta fhaighinn bho làraich-lìn, innealan IoT, diofar innealan agus mothachairean, agus dàta a chuir bho chùmhnantan snasail gu na h-innealan sin. Anns a ’phàirt phractaigeach den leasan, cruthaichidh tu oracle agus cùmhnant snasail a gheibh an ìre iomlaid gnàthach eadar USD agus rubles bho làrach-lìn Banca Meadhanach Caidreachas na Ruis.

Leasan 1. Beagan mu dheidhinn an blockchain agus lìonra EthereumAdhbhar an leasan: eòlas fhaighinn air prionnsapalan obrachaidh an Ethereum blockchain, na raointean tagraidh aige agus briathrachas bunaiteach.
Gnìomhan practaigeach: nach eil air a ghabhail a-steach san leasan seo.

Cha mhòr gu bheil leasaiche bathar-bog ann an-diugh nach cuala dad mu theicneòlas blockchain (Blockchain), cryptocurrencies (Cryptocurrency no Crypto Currency), Bitcoin (Bitcoin), tairgse bonn tùsail (ICO, tairgse bonn tùsail), cùmhnantan snasail (Cùmhnant Smart), a bharrachd air bun-bheachdan agus teirmean eile co-cheangailte ri blockchain.

Bidh teicneòlas Blockchain a’ fosgladh mhargaidhean ùra agus a’ cruthachadh obraichean dha prògramadairean. Ma tha thu a 'tuigsinn a h-uile iom-fhillteachd de theicneòlasan cryptocurrency agus teicneòlasan cùmhnant snasail, cha bu chòir duilgheadas a bhith agad a bhith a' cleachdadh an eòlais seo ann an cleachdadh.

Feumar a ràdh gu bheil tòrr prothaideachadh timcheall air cryptocurrencies agus blockchain. Fàgaidh sinn còmhraidhean mu atharrachaidhean ann an reataichean airgead didseatach, cruthachadh pioramaidean, iom-fhillteachd reachdas cryptocurrency, msaa. Anns a ’chùrsa trèanaidh againn bidh sinn a’ cuimseachadh gu sònraichte air na taobhan teignigeach de bhith a ’cur an gnìomh cùmhnantan snasail den Ethereum blockchain (Ethereum, Ether) agus leasachadh thagraidhean dì-mheadhanaichte ris an canar (Iarrtas Sgaoilte, DApp).

Dè a th ’ann am blockchain

Tha Blockchain (Block Chain) na shreath de bhlocaichean dàta ceangailte ri chèile ann an dòigh shònraichte. Aig toiseach na slabhraidh tha a 'chiad bhloc, ris an canar a' phrìomh bhloc (bloc genesis) no bloc genesis. Tha e air a leantainn leis an dàrna, an uairsin an treas agus mar sin air adhart.

Tha na blocaichean dàta sin uile air an dùblachadh gu fèin-ghluasadach air grunn nodan den lìonra blockchain. Bidh seo a’ dèanamh cinnteach gu bheil dàta blockchain air a stòradh gu dì-mheadhanaichte.
Faodaidh tu smaoineachadh air siostam blockchain mar àireamh mhòr de nodan (frithealaichean corporra no brìgheil) ceangailte ann an lìonra agus ag ath-aithris a h-uile atharrachadh anns an t-sreath de bhlocaichean dàta. Tha seo coltach ri coimpiutair ioma-fhrithealaiche mòr, agus faodaidh nodan a leithid de choimpiutair (frithealaichean) a bhith sgapte air feadh an t-saoghail. Agus faodaidh tu cuideachd do choimpiutair a chuir ris an lìonra blockchain.

Stòr-dàta air a sgaoileadh

Faodar smaoineachadh air blockchain mar stòr-dàta sgaoilte a tha air ath-aithris thar gach nod den lìonra blockchain. Ann an teòiridh, bidh an blockchain ag obair fhad ‘s a bhios co-dhiù aon nód ag obair, a’ stòradh a h-uile bloc den blockchain.

Clàradh dàta air a chuairteachadh

Faodar smaoineachadh air Blockchain mar leabhar-cunntais sgaoilte de dhàta agus gnìomhachd (gnìomhan). Tha ainm eile airson a leithid de chlàr na leabhar-cunntais.

Faodar dàta a chur ri leabhar-cunntais sgaoilte, ach chan urrainnear atharrachadh no sguabadh às. Tha an do-dhèanta seo air a choileanadh, gu sònraichte, le bhith a’ cleachdadh algorithms criptografach, algorithms sònraichte airson blocaichean a chuir ris an t-sreath agus stòradh dàta dì-mheadhanaichte.

Nuair a bhios tu a’ cur bhlocaichean ris agus a’ coileanadh obrachaidhean (gnìomhan), thathas a’ cleachdadh iuchraichean prìobhaideach is poblach. Bidh iad a’ cuingealachadh luchd-cleachdaidh blockchain le bhith dìreach a’ toirt cothrom dhaibh air na blocaichean dàta aca fhèin.

Gnìomhan

Bidh Blockchain a’ stòradh fiosrachadh mu ghnìomhachd (gnìomhan) ann am blocaichean. Aig an aon àm, chan urrainnear seann ghnothaichean a chaidh a chrìochnachadh mu thràth a thoirt air ais no atharrachadh. Tha gnothaichean ùra air an stòradh ann am blocaichean ùra, a bharrachd.

San dòigh seo, faodar an eachdraidh malairt gu lèir a chlàradh gun atharrachadh air an blockchain. Mar sin, faodar blockchain a chleachdadh, mar eisimpleir, gus gnothaichean bancaidh, fiosrachadh dlighe-sgrìobhaidh, eachdraidh atharrachaidhean ann an sealbhadairean thogalaichean, msaa a stòradh gu tèarainte.

Anns an Ethereum blockchain tha stàitean siostam ris an canar. Mar a thèid gnothaichean a chur an gnìomh, bidh an stàit ag atharrachadh bhon chiad staid chun an staid làithreach. Tha gnothaichean air an clàradh ann am blocaichean.

Blockchains poblach is prìobhaideach

Bu chòir a thoirt fa-near an seo gu bheil a h-uile dad a chaidh a ràdh fìor a-mhàin airson na lìonraidhean blockchain poblach ris an canar, nach urrainn a bhith fo smachd neach fa leth no eintiteas laghail, buidheann riaghaltais no riaghaltas.
Tha lìonraidhean blockchain prìobhaideach ris an canar sin fo làn smachd an luchd-cruthachaidh, agus tha a h-uile dad comasach an sin, mar eisimpleir, ath-nuadhachadh iomlan de bhlocaichean slabhraidh.

Cleachdaidhean practaigeach de blockchain

Dè as urrainn dha blockchain a bhith feumail?

Ann an ùine ghoirid, leigidh blockchain leat gnothaichean (gnìomhan) a dhèanamh gu tèarainte eadar daoine no companaidhean aig nach eil earbsa ann an càch a chèile. Chan urrainnear dàta a chaidh a chlàradh anns an blockchain (gnìomhan, dàta pearsanta, sgrìobhainnean, teisteanasan, cùmhnantan, fàirdealan, msaa) a fhalach no a chuir na àite às deidh a chlàradh. Mar sin, stèidhichte air an blockchain, tha e comasach a chruthachadh, mar eisimpleir, earbsach clàran sgaoilte de dhiofar sheòrsaichean de sgrìobhainnean.

Gu dearbh, tha fios agad gu bheil siostaman cryptocurrency gan cruthachadh air bunait blockchains, air an dealbhadh gus airgead pàipeir àbhaisteach a chuir an àite. Canar fiat (bho Fiat Money) ri airgead pàipeir cuideachd.
Bidh Blockchain a ’dèanamh cinnteach à stòradh agus neo-sheasmhachd ghnothaichean clàraichte ann am blocaichean, agus is e sin as coireach gum faodar a chleachdadh gus siostaman cryptocurrency a chruthachadh. Tha eachdraidh iomlan ann mu ghluasad airgead crypto eadar diofar luchd-cleachdaidh (cunntasan), agus faodar sùil a chumail air gnìomhachd sam bith.

Ged a dh’ fhaodadh gnothaichean taobh a-staigh siostaman cryptocurrency a bhith gun urra, mar as trice bidh tarraing air ais airgead didseatach agus iomlaid airson airgead fiat a’ nochdadh dearbh-aithne sealbhadair na so-mhaoin cryptocurrency.

Tha cùmhnantan snasail ris an canar, a tha nam bathar-bog a tha a’ ruith air lìonra Ethereum, a’ toirt cothrom dhut a’ phròiseas airson crìoch a chur air gnothaichean agus sùil a chumail air am buileachadh. Tha seo gu h-àraid èifeachdach ma thèid pàigheadh ​​​​airson a 'ghnothaich a dhèanamh a' cleachdadh an cryptocurrency Ether.

Faodar na cùmhnantan smart Ethereum blockchain agus Ethereum sgrìobhte ann an cànan prògramadh Solidity a chleachdadh, mar eisimpleir, anns na raointean a leanas:

  • roghainn eile seach notarization de sgrìobhainnean;
  • stòradh clàr de stuthan fìor thogalaichean agus fiosrachadh mu ghnothaichean le nithean thogalaichean;
  • stòradh fiosrachadh dlighe-sgrìobhaidh air seilbh inntleachdail (leabhraichean, ìomhaighean, obraichean ciùil, msaa);
  • cruthachadh siostaman bhòtaidh neo-eisimeileach;
  • ionmhas agus bancaireachd;
  • logistics aig ìre eadar-nàiseanta, a’ cumail sùil air gluasad bathair;
  • stòradh dàta pearsanta mar analog gu siostam cairt-aithneachaidh;
  • gnothaichean tèarainte ann an raon malairteach;
  • stòradh toraidhean sgrùdaidhean meidigeach, a bharrachd air eachdraidh modhan òrdaichte

Duilgheadasan le blockchain

Ach, gu dearbh, chan eil a h-uile dad cho sìmplidh ‘s a dh’ fhaodadh e nochdadh!

Tha duilgheadasan ann le bhith a’ dearbhadh dàta mus cuir thu ris an blockchain (mar eisimpleir, a bheil iad meallta?), duilgheadasan le tèarainteachd siostam agus bathar-bog tagraidh a thathas a’ cleachdadh gus obrachadh leis an blockchain, duilgheadasan le comas dòighean innleadaireachd sòisealta a chleachdadh gus ruigsinneachd a ghoid gu wallets cryptocurrency, msaa .P.

A-rithist, mura h-eil sinn a 'bruidhinn mu dheidhinn blockchain poblach, a tha na nodan sgapte air feadh an t-saoghail, ach mu dheidhinn blockchain prìobhaideach a bhuineas do neach no buidheann, cha bhi an ìre earbsa an seo nas àirde na an ìre earbsa. anns an neach seo no anns a’ bhuidheann seo.

Bu chòir cuimhneachadh cuideachd gum bi an dàta a chaidh a chlàradh anns an blockchain ri fhaighinn don h-uile duine. San t-seagh seo, chan eil blockchain (gu sònraichte poblach) freagarrach airson fiosrachadh dìomhair a stòradh. Ach, leis nach urrainn fiosrachadh mun blockchain atharrachadh faodaidh e cuideachadh le bhith a’ casg no a’ sgrùdadh diofar sheòrsaichean de ghnìomhachd meallta.

Bidh tagraidhean dì-mheadhanaichte Ethereum goireasach ma phàigheas tu airson an cleachdadh le cryptocurrency. Mar as motha de dhaoine aig a bheil airgead didseatach no a tha deònach a cheannach, is ann as mòr-chòrdte a thig DApps agus cùmhnantan snasail.

Tha duilgheadasan cumanta le blockchain a tha a’ cur bacadh air a chleachdadh practaigeach a’ toirt a-steach an astar cuibhrichte aig am faodar blocaichean ùra a chur ris agus cosgais coimeasach àrd nan gnothaichean. Ach tha teicneòlas san raon seo gu gnìomhach a 'leasachadh, agus thathar an dòchas gun tèid duilgheadasan teicnigeach a rèiteachadh thar ùine.

Is e duilgheadas eile a th ’ann gu bheil cùmhnantan snasail air an Ethereum blockchain ag obair ann an àrainneachd iomallach de dh’ innealan brìgheil, agus nach eil cothrom aca air dàta fìor. Gu sònraichte, chan urrainn don phrògram cùmhnant smart e fhèin a leughadh dàta bho làraich no innealan fiosaigeach sam bith (mothachaidhean, fiosan, msaa), agus cuideachd chan urrainn dhaibh dàta a chuir a-mach gu innealan taobh a-muigh sam bith. Bruidhnidh sinn mun duilgheadas seo agus dòighean air fuasgladh fhaighinn ann an leasan air a choisrigeadh don cho-ainm Oracles - eadar-mheadhanairean fiosrachaidh de chùmhnantan snasail.

Tha cuingealachaidhean laghail ann cuideachd. Ann an cuid de dhùthchannan, mar eisimpleir, tha e toirmisgte cryptocurrency a chleachdadh mar dhòigh pàighidh, ach faodaidh tu a bhith agad mar sheòrsa de mhaoin dhidseatach, leithid thèarainteachdan. Faodar a leithid de mhaoin a cheannach agus a reic air an iomlaid. Ann an suidheachadh sam bith, nuair a chruthaicheas tu pròiseact a bhios ag obair le cryptocurrencies, feumaidh tu eòlas fhaighinn air reachdas na dùthcha aig a bheil do phròiseact fo ùghdarras.

Mar a tha slabhraidh blockchain air a chruthachadh

Mar a thuirt sinn mu thràth, tha blockchain na shreath shìmplidh de bhlocaichean dàta. An toiseach, tha a 'chiad bhloc den t-sreath seo air a chruthachadh, agus an dàrna fear air a chur ris, agus mar sin air adhart. Thathas a’ gabhail ris gu bheil dàta gnothaich air a stòradh ann am blocaichean, agus air a chur ris a’ bhloc as ùire.

Ann am Fig. 1.1 sheall sinn an dreach as sìmplidh de shreath de bhlocaichean, far a bheil a’ chiad bhloc a’ toirt iomradh air an ath fhear.

Tha an leabhar “Cruthachadh Solidity smart cùmhnantan airson an Ethereum blockchain. Stiùireadh practaigeach"
Reis. 1.1. Sreath sìmplidh de bhlocaichean

Leis an roghainn seo, ge-tà, tha e gu math furasta casg a chuir air susbaint bloc sam bith san t-seine, leis nach eil fiosrachadh sam bith anns na blocaichean gus dìon an aghaidh atharrachaidhean. Leis gu bheil an blockchain an dùil a bhith air a chleachdadh le daoine agus companaidhean aig nach eil earbsa, faodaidh sinn a cho-dhùnadh nach eil an dòigh seo air dàta a stòradh freagarrach airson an blockchain.

Feuch an tòisich sinn a 'dìon bhlocaichean bho bhith a' briseadh. Aig a 'chiad ìre, feuchaidh sinn ri gach bloc a dhìon le seic (Fig. 1.2).

Tha an leabhar “Cruthachadh Solidity smart cùmhnantan airson an Ethereum blockchain. Stiùireadh practaigeach"
Reis. 1.2. A 'cur dìon airson na blocaichean sin le checksum

A-nis chan urrainn do neach-ionnsaigh am bloc atharrachadh, leis gu bheil seic dàta a’ bhloca ann. Seallaidh sgrùdadh an t-seic gu bheil an dàta air atharrachadh.

Gus an checksum obrachadh a-mach, faodaidh tu aon de na gnìomhan hashing a chleachdadh leithid MD-5, SHA-1, SHA-256, msaa. Bidh gnìomhan Hash a’ tomhas luach (mar eisimpleir, sreang teacsa de dh’ fhaid sheasmhach) le bhith a’ coileanadh obrachaidhean nach gabh a thoirt air ais air bloca dàta. Tha gnìomhan an urra ris an t-seòrsa gnìomh hash.

Fiù ma dh ’atharraicheas susbaint a’ bhloc dàta beagan, atharraichidh luach hash cuideachd. Le bhith a’ dèanamh anailis air luach gnìomh hash, tha e do-dhèanta ath-chruthachadh a dhèanamh air a’ bhloc dàta airson an deach a thomhas.

Am bi dìon mar sin gu leòr? Gu mì-fhortanach chan eil.

Anns an sgeama seo, chan eil an checksum (gnìomh hash) a’ dìon ach blocaichean fa leth, ach chan e an blockchain gu lèir. Le eòlas air an algairim airson obrachadh a-mach gnìomh hash, faodaidh neach-ionnsaigh susbaint bloc a chuir an àite gu furasta. Cuideachd, cha chuir dad stad air bho bhith a’ toirt air falbh blocaichean bhon t-sreath no a’ cur feadhainn ùra ris.

Gus an slabhraidh gu lèir a dhìon gu h-iomlan, faodaidh tu cuideachd a stòradh anns gach bloc, còmhla ris an dàta, hash den dàta bhon bhloc roimhe (Fig. 1.3).

Tha an leabhar “Cruthachadh Solidity smart cùmhnantan airson an Ethereum blockchain. Stiùireadh practaigeach"
Reis. 1.3. Cuir hash a’ bhloca roimhe ris a’ bhloc dàta

Anns an sgeama seo, gus bloc atharrachadh, feumaidh tu ath-àireamhachadh gnìomhan hash a h-uile bloc às deidh sin. Bhiodh e coltach, dè an duilgheadas a th’ ann?

Ann am fìor blockchains, tha duilgheadasan fuadain cuideachd air an cruthachadh airson blocaichean ùra a chuir ris - thathas a ’cleachdadh algorithms a dh’ fheumas tòrr ghoireasan coimpiutaireachd. Leis gu bheil thu airson atharrachaidhean a dhèanamh air bloca, feumaidh tu ath-àireamhachadh chan e a-mhàin am bloc seo, ach a h-uile gin às deidh sin, bidh e gu math duilich seo a dhèanamh.

Cuimhnichidh sinn cuideachd gu bheil dàta blockchain air a stòradh (dùblachadh) air grunn nodan lìonra, i.e. Thathas a’ cleachdadh stòradh dì-mheadhanaichte. Agus tha seo ga dhèanamh tòrr nas duilghe bloc a bhriseadh, oir feumar atharrachaidhean a dhèanamh air a h-uile nod lìonra.

Leis gu bheil blocaichean a’ stòradh fiosrachadh mun bhloc roimhe, tha e comasach sgrùdadh a dhèanamh air susbaint a h-uile bloc san t-seine.

Blockchain Ethereum

Tha an Ethereum blockchain na àrd-ùrlar air an urrainnear DApps sgaoilte a chruthachadh. Eu-coltach ri àrd-ùrlaran eile, tha Ethereum a’ ceadachadh cùmhnantan snasail (cùmhnantan snasail) a chleachdadh, sgrìobhte ann an cànan prògramadh Solidity.

Chaidh an àrd-ùrlar seo a chruthachadh ann an 2013 le Vitalik Buterin, a stèidhich Bitcoin Magazine, agus chaidh a chuir air bhog ann an 2015. Tha a h-uile dad a nì sinn sgrùdadh no a nì sinn nar cùrsa trèanaidh a’ buntainn gu sònraichte ri cùmhnantan smart Ethereum blockchain agus Solidity.

Mining no mar a chruthachadh blocaichean

Tha mèinnearachd na phròiseas caran iom-fhillte agus dian air goireasan airson blocaichean ùra a chur ris an t-sreath blockchain, agus chan e idir “mèinneadh cryptocurrency”. Mèinneadh a 'dèanamh cinnteach gnìomhachd an blockchain, oir is e am pròiseas seo a tha an urra ri gnothaichean a chur ris an Ethereum blockchain.

Canar mèinnearan ri daoine agus buidhnean a tha an sàs ann an cur blocaichean.
Bidh am bathar-bog a tha a 'ruith air na nodan mèinneadair a' feuchainn ri paramadair hashing a lorg ris an canar Nonce airson a 'bhloc mu dheireadh gus luach hash sònraichte a shònrachadh leis an lìonra. Leigidh an algairim hashing Ethash a chaidh a chleachdadh ann an Ethereum leat an luach Nonce fhaighinn a-mhàin tro sgrùdadh sreath.

Ma lorgar an nód mèinneadair an luach Nonce ceart, is e seo an dearbhadh obrach ris an canar (PoW, Proof-of-work). Anns a 'chùis seo, ma thèid bloc a chur ris an lìonra Ethereum, gheibh am mèinnear duais shònraichte ann an airgead lìonra - Ether. Aig àm sgrìobhaidh, is e 5 Ether an duais, ach thèid seo a lughdachadh thar ùine.

Mar sin, mèinnearan Ethereum dèanamh cinnteach obrachadh an lìonra le bhith a 'cur blocaichean, agus a' faighinn airgead cryptocurrency airson seo. Tha tòrr fiosrachaidh air an eadar-lìon mu mhèinnearan agus mèinneadh, ach cuiridh sinn fòcas air a bhith a 'cruthachadh chùmhnantan Solidity agus DApps air lìonra Ethereum.

Geàrr-chunntas leasain

Anns a’ chiad leasan, fhuair thu eòlas air an blockchain agus dh’ ionnsaich thu gur e sreath de bhlocaichean sònraichte a th’ ann. Chan urrainnear susbaint nam blocaichean a chaidh a chlàradh roimhe atharrachadh, oir dh’ fheumadh seo ath-àireamhachadh a dhèanamh air a h-uile bloca às deidh sin air mòran nodan lìonra, a dh’ fheumas tòrr ghoireasan agus ùine.

Faodar Blockchain a chleachdadh gus toraidhean ghnothaichean a stòradh. Is e a phrìomh adhbhar gnothaichean tèarainte a chuir air dòigh eadar pàrtaidhean (daoine agus buidhnean) anns nach eil earbsa. Dh’ ionnsaich thu dè na raointean gnìomhachais sònraichte agus dè na raointean anns am faodar cùmhnantan smart Ethereum blockchain agus Solidity a chleachdadh. Is e seo an roinn bancaidh, clàradh chòraichean seilbh, sgrìobhainnean, msaa.

Dh’ ionnsaich thu cuideachd gum faod diofar dhuilgheadasan èirigh nuair a bhios tu a’ cleachdadh blockchain. Tha iad sin nan duilgheadasan le bhith a’ dearbhadh fiosrachadh a chaidh a chur ris an blockchain, astar an blockchain, cosgais ghnothaichean, duilgheadas iomlaid dàta eadar cùmhnantan snasail agus an fhìor shaoghal, a bharrachd air ionnsaighean a dh’ fhaodadh a bhith aig luchd-ionnsaigh a tha ag amas air airgead cryptocurrency a ghoid bho chunntasan luchd-cleachdaidh. .

Bhruidhinn sinn cuideachd gu sgiobalta mu mhèinneadh mar phròiseas airson blocaichean ùra a chuir ris an blockchain. Tha feum air mèinneadh gus gnothaichean a chrìochnachadh. Bidh an fheadhainn a tha an sàs ann am mèinneadh a’ dèanamh cinnteach à obrachadh an blockchain agus a’ faighinn duais ann an cryptocurrency airson seo.

Leasan 2. Ag ullachadh àrainneachd obrach ann an Ubuntu agus Debian OSA 'taghadh siostam-obrachaidh
A 'stàladh nan goireasan riatanach
A’ stàladh Geth agus Swarm air Ubuntu
A’ stàladh Geth agus Swarm air Debian
Ullachadh tòiseachaidh
A’ luchdachadh sìos sgaoileadh Go
A 'suidheachadh caochladairean àrainneachd
A’ sgrùdadh an tionndaidh Go
A stàladh Geth agus Swarm
A 'cruthachadh blockchain prìobhaideach
Ag ullachadh am faidhle genesis.json
Cruthaich eòlaire airson obair
Cruthaich cunntas
A 'tòiseachadh air a' phuing tòiseachaidh
Roghainnean Cur air bhog Node
Dèan ceangal ris an nòta againn
Riaghladh mèinnearachd agus sgrùdadh cothromachadh
A' cur sìos consòil Geth
Geàrr-chunntas leasain

Leasan 3. Ag ullachadh na h-àrainneachd obrach air Raspberry Pi 3Ag ullachadh an Raspberry Pi 3 airson obair
A stàladh Rasberian
A 'stàladh ùrachaidhean
A’ comasachadh SSH Access
A 'suidheachadh seòladh IP statach
A 'stàladh nan goireasan riatanach
Stàladh Go
A’ luchdachadh sìos sgaoileadh Go
A 'suidheachadh caochladairean àrainneachd
A’ sgrùdadh an tionndaidh Go
A stàladh Geth agus Swarm
A 'cruthachadh blockchain prìobhaideach
A’ sgrùdadh do chunntas agus do chothromachadh
Geàrr-chunntas leasain

Leasan 4. Cunntasan agus gluasad airgid eadar cunntasanFaic agus cuir ris na cunntasan
Thoir sùil air liosta nan cunntasan
A’ cur cunntas ris
geth roghainnean àithne cunntais
Faclan-faire cunntais
Cryptocurrency ann an Ethereum
Aonadan airgead Ethereum
Bidh sinn a’ dearbhadh cothromachadh gnàthach ar cunntasan
Gluais airgead bho aon chunntas gu cunntas eile
eth.sendTransaction modh
Thoir sùil air suidheachadh malairt
Cuidhteas gnothaich
Geàrr-chunntas leasain

Leasan 5. A 'foillseachadh a' chiad chùmhnant agadSmart cùmhnantan ann an Ethereum
Cur an gnìomh cùmhnant smart
Inneal mas-fhìor Ethereum
Àrainneachd leasachaidh aonaichte Remix Solidity IDE
A 'ruith cruinneachadh
Call Gnìomhan Cùmhnant
Foillsich cùmhnant air lìonra prìobhaideach
A’ faighinn mìneachadh ABI agus an còd binary cùmhnant
Foillseachadh a’ chùmhnant
A’ sgrùdadh a’ chùmhnant foillsich inbhe malairt
Call Gnìomhan Cùmhnant
Baidse compiler solc
A' stàladh solc air Ubuntu
A’ stàladh solc air Debian
A’ cur ri chèile cùmhnant HelloSol
Foillseachadh a’ chùmhnant
A stàladh solc air Rasberian
Geàrr-chunntas leasain

Lesson 6. Smart cùmhnantan agus Node.jsA' stàladh Node.js
Stàladh air Ubuntu
Stàladh air uidheam Debian
A 'stàladh agus a' ruith Ganache-cli
Stàladh lìn 3
A' stàladh solc
A' stàladh Node.js air Rasberian
Sgriobt gus liosta de chunntasan fhaighinn sa chonsail
Sgriobt airson foillseachadh cùmhnant smart
Cuir air bhog agus faigh paramadairean
A 'faighinn roghainnean cur air bhog
Cruinneachadh cùmhnant
A' cur casg air a' chunntas agad
A’ luchdachadh ABI agus cùmhnant binary code
Dèan tuairmse air an ìre de gas a tha a dhìth
Cruthaich nì agus tòisich a 'foillseachadh cùmhnant
A 'ruith an cùmhnant foillseachaidh sgriobt
A ’gairm gnìomhan cùmhnant smart
A bheil e comasach cùmhnant smart foillsichte ùrachadh?
Ag obair le Web3 dreach 1.0.x
Luchdaich a-nuas liosta de na cunntasan
Foillseachadh a’ chùmhnant
Call Gnìomhan Cùmhnant
Gluais airgead bho aon chunntas gu cunntas eile
Cuir airgead gu cunntas cùmhnant
Luchdaich a-nuas cùmhnant fòn 'smart' HelloSol
Cruthaich sgriobt gus sùil a thoirt air cothromachadh a’ chunntais agad
Cuir gairm ris a’ ghnìomh getBalance ris an sgriobt call_contract_get_promise.js
Bidh sinn ag àrdachadh a’ chunntas cùmhnant smart
Geàrr-chunntas leasain

Leasan 7. Ro-ràdh mu TruffleTruffle a stàladh
Cruthaich pròiseact HelloSol
Cruthachadh eòlaire pròiseict agus faidhlichean
Leabhar cùmhnantan
Catalog imrich
Deuchainn leabhar-seòlaidh
truffle-config.js faidhle
A’ cur ri chèile cùmhnant HelloSol
Tòisich a 'foillseachadh cùmhnant
A’ gairm Gnìomhan Cùmhnant HelloSol ann am Fios Truffle
A’ gairm gnìomhan cùmhnant HelloSol bho sgriobt JavaScript a’ ruith Node.js
A 'stàladh modal cùmhnant truffle
A’ gairm gu gnìomhan cùmhnant getValue agus getString
A’ gairm gnìomhan cùmhnant setValue agus setString
Atharrachadh cùmhnant agus ath-fhoillseachadh
Ag obair le Web3 dreach 1.0.x
A’ dèanamh atharrachaidhean air cùmhnant smart HelloSol
Sgriobtaichean airson dòighean gairm chùmhnant
Deuchainn ann an Truffle
Deuchainn solidity
Javascript deuchainn
Geàrr-chunntas leasain

Leasan 8. Seòrsan Dàta SolidityCùmhnant airson ionnsachadh seòrsaichean dàta a
Seòrsaichean dàta Boolean
Slàn-chunntasan gun ainm agus àireamhan iomlan le soidhnigeadh
Àireamhan puing stèidhichte
Seòladh
Caochlaidhean de sheòrsan iom-fhillte
Arrays Meud Stèidhichte
Arrays fiùghantach
Àireamhachd
Structaran
Faclairean a’ mapadh
Geàrr-chunntas leasain

Leasan 9. Imrich chùmhnantan chun lìonra phrìobhaideach agus gu lìonra RinkebyA 'foillseachadh cùmhnant bho Truffle gu lìonra prìobhaideach Geth
Ag ullachadh nód lìonra prìobhaideach
Ag ullachadh cùmhnant airson obair a
A’ cur ri chèile agus a’ gluasad cùmhnant gu lìonra Truffle
A’ tòiseachadh imrich lìonra ionadail geth
Luchdaich a-nuas truffles
A’ foillseachadh cùmhnant bho Truffle gu Rinkeby testnet
Ag ullachadh nód Geth airson a bhith ag obair le Rinkeby
Sioncronadh nod
A’ cur cunntasan ris
Ag àrdachadh do chunntas Rinkeby le ether
A’ cur air bhog imrich cùmhnant gu lìonra Rinkeby
A’ coimhead air fiosrachadh cùmhnant air lìonra Rinkeby
Console Truffle airson Lìonra Rinkeby
Dòigh nas fhasa air gnìomhan cùmhnant a ghairm
A 'gairm dhòighean cùmhnant a' cleachdadh Node.js
Cuir airgead thairis eadar cunntasan ann an consol Truffle airson Rinkby
Geàrr-chunntas leasain

Leasan 10. Ethereum Swarm Decentralized Stòradh DàtaCiamar a tha Ethereum Swarm ag obair?
Stàladh agus cur air bhog Swarm
Obraichean le faidhlichean agus clàran
A’ luchdachadh suas faidhle gu Ethereum Swarm
Leughadh faidhle bho Ethereum Swarm
Thoir sùil air taisbeanadh faidhle a chaidh a luchdachadh suas
Luchdaich a-nuas catalog le fo-thiotalan
Leughadh faidhle bho eòlaire a chaidh a luchdachadh sìos
A’ cleachdadh geata Swarm poblach
A’ faighinn cothrom air Swarm bho sgriobtaichean Node.js
Perl Net ::Ethereum :: Modal swarm
A 'stàladh an lìon ::Ethereum :: modal Swarm
A 'sgrìobhadh agus a' leughadh dàta
Geàrr-chunntas leasain

Leasan 11. Web3.py frèam airson a bhith ag obair le Ethereum ann PythonStàladh Web3.py
Ag ùrachadh agus a’ stàladh pacaidean riatanach
A’ stàladh modal easysolc
A 'foillseachadh cùmhnant a' cleachdadh Web3.py
Cruinneachadh cùmhnant
A 'ceangal ri solaraiche
Cur an gnìomh foillseachadh cùmhnant
Sàbhail an cùmhnant seòladh agus abi ann am faidhle
A 'ruith an cùmhnant foillseachaidh sgriobt
Modhan cùmhnant gairm
A’ leughadh seòladh agus abi cùmhnant bho fhaidhle JSON
A 'ceangal ri solaraiche
A 'cruthachadh cuspair cùmhnant
Modhan cùmhnant gairm
Truffle agus Web3.py
Geàrr-chunntas leasain

Lesson 12. OraclesAn urrainn do chùmhnant smart earbsa a bhith ann an dàta bhon t-saoghal a-muigh?
Oracles mar eadar-mheadhanairean fiosrachaidh blockchain
Stòr dàta
Còd airson dàta bhon stòr a riochdachadh
Oracle airson an ìre iomlaid a chlàradh anns an blockchain
Cùmhnant USDrateOracle
Luchdaich a-nuas an ìre iomlaid ann an smart cùmhnantan
A 'cleachdadh Solaraiche Socket Lìn
A’ feitheamh ri tachartas RateUpdate
A’ làimhseachadh tachartas RateUpdate
Luchdaich a-nuas an dàta fiosrachaidh ann an cùmhnant smart
Geàrr-chunntas leasain

Source: www.habr.com

Cuir beachd ann