Ma choimheadas sinn air gluasadan nam beagan bhliadhnaichean a dh’ fhalbh, tha sinn air cluinntinn mu blockchain fad na h-ùine, ach chan eil mòran ann mu na mion-fhiosrachadh.
Tha sinn uile mothachail gu bheil cryptocurrencies leithid Bitcoin, Ethereum, Dogecoin, Matic, agus feadhainn eile an urra ri teicneòlas blockchain. Stiùir Blockchain na tachartasan cudromach a dh’ atharraich grunn ghnìomhachasan ann an 2021 agus a dh’ ullaich an t-slighe airson euchdan ùra.
Tha Blockchain na dhòigh air dàta a stòradh ann an dòigh a tha duilich no do-dhèanta a dheasachadh, a sheacadh no a shlaodadh. Tha e na leabhar-cunntais didseatach de ghnothaichean a tha air an dùblachadh agus air an sgaoileadh thairis air lìonra iomlan de shiostaman coimpiutair blockchain.
Is e seo an teicneòlas stòr-dàta ùr-nodha a bheir cumhachd do cha mhòr a h-uile cryptocurrencies. Tha Blockchain ga dhèanamh uamhasach duilich an siostam a sheacadh no a mhealladh le bhith a’ sgaoileadh leth-bhreacan co-ionann de stòr-dàta thairis air lìonra gu lèir.
Ged is e Bitcoin a-nis an cleachdadh as fhollaisiche airson blockchain, faodaidh an teicneòlas frithealadh air raon farsaing de thagraidhean.
Tha cryptocurrencies agus blockchain air a bhith mòr-chòrdte anns na bliadhnachan mu dheireadh, agus tha dùil gun lean an gluasad seo.
Nì sinn blockchain sìmplidh le JavaScript san oideachadh seo. Bheir e tuigse bhunaiteach dhut air mar a tha blockchain ag obair.
Canaidh sinn MelodyCoin ris agus faigh a-steach sa ghnìomh!
A 'cruthachadh bloc
Airson tòiseachadh, cruthaichidh sinn faidhle JavaScript ùr anns an cuir sinn a’ chòd againn gu lèir.
Canaidh sinn main.js ris agus tòisichidh sinn le tuairisgeul air mar a bu chòir coimhead air blockchain agus blocaichean.
Cruthaich clas Block agus thoir dha gnìomh Object() { [còd dùthchasach] } an toiseach.
Feumaidh tu ceann-latha a thoirt seachad, agus hash a’ bhloc roimhe nuair a chruthaicheas tu bloc ùr:
Seo na mìneachaidhean airson gach seilbh:
- Tha an stampa-ama a’ comharrachadh cuin a chaidh am bloc a dhèanamh. Faodaidh tu an cruth a thaghas tu a chleachdadh (sa chùis seo, stampa-ama UNIX).
- Faodar seòrsa sam bith de dhàta a tha thu airson ceangal ris a’ bhloc seo a thoirt a-steach don pharameter dàta. Ma tha thu airson airgead didseatach a chruthachadh, faodaidh tu dàta malairt a chumail leithid an neach a chuir / neach-faighinn agus an t-suim airgid a chaidh a ghluasad an seo.
- Is e sreang a th’ anns an Hash roimhe a chumas hash a’ bhloc roimhe. Is e seo a ghineas an t-sreath bhlocaichean, a bhios deatamach ann a bhith a’ toirt seachad ionracas ar blockchain nas fhaide air adhart.
A 'cruthachadh hashes
Bidh gach bloc a’ ceangal ris a’ bhloc roimhe (mar sin an togalach roimheHash). Is e sin, feumaidh gach bloc hash. Tha hash coltach ri lorgan-meòir. Tha e eadar-dhealaichte airson gach bloc.
Faodar hash bloc a thomhas le bhith a’ toirt seachad a h-uile susbaint tro ghnìomh hash.
Mar sin, tòisichidh sinn le bhith a’ cur an gnìomh gnìomh a bhios a’ tomhas hash a’ bhloca gnàthach.
Mar sin, fon chlas Block, bidh sinn a’ mìneachadh an gnìomh àireamhachadhHash:
Ach, chan eil an hash SHA256 a’ faighinn taic bho JavaScript agus feumar fhaighinn bho leabharlann a-muigh.
Tha Crypto-js na phasgan air leth math a tha a’ toirt a-steach buileachadh tèarainte de ghrunn algoirmean hash.
An uairsin is urrainn dhuinn a thoirt a-steach don chòd main.js againn.
A-nis gu bheil an gnìomh àireamhachadhHash () againn, leig dhuinn a chuir gu feum ann an gnìomh ar Block:
Às deidh dhuinn cunntas a thoirt air cò ris a tha Bloc coltach, is urrainn dhuinn mìneachadh cò ris a bu chòir Blockchain a bhith coltach. Mar sin cruthaichidh sinn clas ùr.
Anns an t-suidheachadh seo, tha an blockchain na nì gu math sìmplidh aig a bheil sèine seilbh. Is e seo raon a tha a’ cumail na blocaichean gu lèir air an t-sreath.
Mus urrainn dhuinn blocaichean a chuir ris, feumaidh sinn an-toiseach rud ris an canar “bloc genesis” a chruthachadh. Is e seo a’ chiad bhloca san t-seine, agus tha e gun samhail leis nach urrainn dha comharrachadh gu bloc roimhe (is e seo a’ chiad fhear!).
Mar sin, gus am bloc genesis a thogail, cuiridh mi gnìomh ris a’ chlas againn leis an t-ainm createGenesisBlock (). Air ais sa ghnìomh Object() { [còd dùthchasach] } den chlas Blockchain againn.
Faodaidh sinn a-nis am bloc genesis a thoirt a-steach uair sam bith a thogas sinn eisimpleir Blockchain ùr:
Dòighean Blockchain
A-nis, leig dhuinn dòighean a chuir ris a’ chlas Blockchain againn a leigeas leinn rudan a dhèanamh leithid blocaichean ùra a chuir ris agus am bloc as ùire fhaighinn.
Is e an gnìomh getLatestBlock am fear as bunaitiche. Bidh e dìreach a’ tilleadh am ball mu dheireadh den raon slabhraidh:
Tha an dòigh addBlock beagan a bharrachd an sàs.
Mus urrainn dhuinn bloc ùr a chuir ris an t-seine againn, feumaidh sinn an toiseach an raon Hash a bh’ aig a’ bhloc sin a shuidheachadh gu h-iomchaidh.
Feumar a shuidheachadh gu hash a’ bhloca a chaidh a chur ris an t-sreath againn o chionn ghoirid. Feumaidh sinn cuideachd hash a’ bhloca ùr obrachadh a-mach:
Deuchainn
Chì sinn mar a tha ar MelodyCoin air a thighinn a-mach.
Cruthaich eisimpleir blockchain gus seo a choileanadh. Nach cuir sinn bloc no dhà eile ris:
Tha sinn air dà bhloca ùr a dhèanamh an sin. Bheir sinn sùil air cò ris a tha ar blockchain coltach an-dràsta.
Thèid MelodyCoin a shìneadh agus a chruth le ceithir àiteachan:
Dearbhaich ionracas The Blockchain
Tha Blockchains air leth math oir aon uair ‘s gu bheil bloc air a chuir ris, chan urrainnear atharrachadh gun a bhith a’ dèanamh cinnteach à an còrr den t-seine.
Ach, chan eil dòigh ann dhomh sgrùdadh a dhèanamh air ionracas ar blockchain leis a’ bhuileachadh seo.
Bheir sinn a-steach gnìomh isChainValid don blockchain againn. Ma bhios an t-slabhraidh dligheach, tillidh i fior ; air neo, tillidh e breugach:
A 'dèanamh deuchainn air Ionracas
Faodaidh sinn a-nis ionracas ar blockchain a chuir gu deuchainn. Ma chuireas sinn an gnìomh e a-nis, dearbhaidh e gu bheil an slabhraidh againn fìor.
Feuchaidh sinn a-nis ri bacadh a chuir air ar blockchain. Atharraichidh sinn bloc 2 agus ath-sgrìobhadh a dhèanamh air na th’ ann (tha sinn an dòchas gun do ghluais sinn 100 buinn an àite ceithir).
Nuair a chuireas sinn seo an gnìomh, chì sinn gu bheil am bathar-bog ag aithneachadh ar n-oidhirp gus bacadh a chur air an t-seine.
Ach, faodaidh tu a chreidsinn gu bheil dòigh eile ann airson dèiligeadh ri seo. Dh’ atharraich mi na bha anns a’ bhloc ach cha do rinn mi ath-àireamhachadh air an hash. Mar sin faodaidh tu feuchainn ri bhith ciallach agus ath-àireamhachadh hash an aon bhloc sin.
Sin a h-uile càil a bha ann don t-suidheachadh beag blockchain againn! Leigidh e leinn blocaichean ùra a chuir ris agus lorg bacadh air dàta taobh a-staigh na slabhraidh.
Tha dà chùis ann leis an blockchain beag againn ris am feum sinn dèiligeadh:
- Tha coimpiutairean an latha an-diugh gu math luath agus faodaidh iad mìltean de bhlocaichean a chuir ris an t-sreath againn ann an diogan. Tha e soilleir nach eil sinn airson gum bi duine a’ spamadh ar blockchain.
- Tha ar blockchain fhathast ann an cunnart bho bhith a’ cur dragh air. Faodaidh tu susbaint bloca ùrachadh agus an uairsin dìreach ath-àireamhachadh a dhèanamh air na hashes (agus hashes roimhe) airson a h-uile bloc a leanas. Fiù 's ma nì thu bùrach leis, bidh slabhraidh dhligheach agad.
Gus dèiligeadh ris na draghan sin, bidh blockchains a’ cleachdadh innleachd ris an canar “dearbhadh obrach.” Feumaidh tu sealltainn gun do chleachd thu tòrr ghoireasan coimpiutaireachd gus bloc a chruthachadh a’ cleachdadh an dòigh-obrach seo. Canar seo cuideachd mèinnearachd.
Feumaidh dearbhadh-obrach gun tòisich hash bloc le tomhas sònraichte de neamhan. Ach ciamar a bhios fios agad a bheil do hash a rèir na riaghailt seo?
Bidh susbaint bloca a’ dearbhadh a hash. Mar sin bidh sinn an-còmhnaidh a’ faighinn an aon hash, cho fad ‘s nach atharraich sinn na tha ann.
Bu chòir luach neo-àbhaisteach a bhith aig gach bloc mar fhuasgladh. Is e seo gu bunaiteach cuid de dhàta air thuaiream as urrainn dhuinn ùrachadh gus an tòisich hash a’ bhloc againn le neoni gu leòr. Leis nach urrainn dhut toradh gnìomh hash atharrachadh, feumaidh tu tòrr choimeasgaidhean eadar-dhealaichte fheuchainn agus an dòchas as fheàrr fhaighinn.
Thoir a-steach Mining gu The Blockchain
Feuch an tòisich sinn le bhith a’ toirt a-steach nonce anns a’ chlas Block againn. Is e an nonce an luach singilte taobh a-staigh ar bloc as urrainn dhuinn atharrachadh gus buaidh a thoirt air hash a’ bhloc.
Chan urrainn dhuinn an clàr-ama no an dàta atharrachadh.
An uairsin, sgrìobhamaid gnìomh mineBlock() a nì fìor mhèinneadh bloc. Thèid an duilgheadas a tha a dhìth a chuir a-steach don ghnìomh seo mar pharamadair agus leanaidh e air a chuir an gnìomh gus an tòisich hash a’ bhloc againn le neoni gu leòr.
Rinn mi lùb ùine bunaiteach a ruitheadh gus an tòisich an hash againn le neoni gu leòr. Cleachdaidh sinn an duilgheadas gus faighinn a-mach cia mheud neoni a tha a dhìth. Le duilgheadas de 5, feumaidh ar hash tòiseachadh le 5 neoni.
Nuair nach eil neoni gu leòr anns an hash againn, bidh sinn a’ togail na h-aon uair agus ag ath-àireamhachadh an hash. Agus ma lorgas sinn hash a fhreagras ris an duilgheadas, bidh sinn ga logadh chun chonsail.
Tha aon rud eile a dh'fheumas sinn a dhèanamh. Cha bhith sinn dha-rìribh a’ toirt aire don chaochladair neo-àbhaisteach anns an dòigh àireamhachaidhHash againn, mar sin seo e:
Clas Blockchain
Nach cuir sinn an dòigh-obrach ùr seo gu deuchainn anns a’ chlas blockchain againn agus faic mar a thèid e.
Airson tòiseachadh, mìnichidh mi duilgheadas ar blockchain anns an gnìomh Object (). Bidh sinn ga mhìneachadh an seo oir is urrainn dhuinn a chleachdadh am badeigin nas fhaide air adhart.
Feumar an gnìomh addBlock an uairsin atharrachadh gus am bi e a’ mèinneadh a’ bhloc mus cuir e a-steach don t-sreath againn e.
Cleachd The Blockchain
A-nis, leig dhuinn ar blockchain ùr a chleachdadh leis an algairim dearbhaidh-obrach. An seo, cuir càraid console.log aithrisean.
Nuair a chuireas sinn an còd seo an gnìomh, chì sinn nach eil am pròiseas mèinnearachd gu sònraichte luath tuilleadh.
Bheir e beagan ùine airson an algairim blocaichean a ghineadh le hashes a thòisicheas le trì neamhan (mar a tha air an rèiteachadh le duilgheadas).
Mar sin b’ e sin deireadh ar stèidheachadh blockchain bunaiteach.
Is urrainn dhuinn riaghladh dè cho luath sa thèid blocaichean ùra a chuir ris na blockchain againn le taing don uidheamachd dearbhaidh-obrach.
Is e seo am feart tèarainteachd as cudromaiche air blockchain. Agus a-nis gu bheil thu a 'tuigsinn mar a tha e ag obair, lean ort a' cruthachadh do chuid fhèin!
Leave a Reply