Ngati tiyang'ana zochitika za zaka zingapo zapitazi, tamva za blockchain nthawi zonse, koma osati zambiri zokhudza zenizeni.
Tonse tikudziwa kuti ma cryptocurrencies monga Bitcoin, Ethereum, Dogecoin, Matic, ndi ena amadalira ukadaulo wa blockchain. Blockchain idatsogolera zochitika zazikulu zomwe zidasintha mafakitale ambiri mu 2021 ndikutsegulira njira zatsopano.
Blockchain ndi njira yosungira deta m'njira yovuta kapena yosatheka kusintha, kuthyolako, kapena kubera. Ndilo buku la digito la zochitika zomwe zimabwerezedwa ndikufalikira pamakompyuta onse a blockchain.
Ndiukadaulo wapamwamba kwambiri wa database womwe umathandizira pafupifupi ma cryptocurrencies. Blockchain imapangitsa kukhala kovuta kwambiri kuthyolako kapena kubera dongosolo pofalitsa makope ofanana a database pamaneti onse.
Ngakhale Bitcoin tsopano ndiyomwe imagwiritsidwa ntchito kwambiri pa blockchain, ukadaulo utha kugwiritsa ntchito mitundu yosiyanasiyana.
Cryptocurrencies ndi blockchains zakhala zikudziwika kwambiri m'zaka zaposachedwa, ndipo izi zikuyembekezeka kupitiliza.
Tipanga blockchain yosavuta ndi JavaScript mu phunziro ili. Idzakupatsani chidziwitso chofunikira cha momwe blockchain imagwirira ntchito.
Tiyeni tizitcha MelodyCoin ndikuyamba kuchitapo kanthu!
Kupanga A Block
Kuti tiyambe, tipanga fayilo yatsopano ya JavaScript momwe tidzayikamo ma code athu onse.
Tiyeni tiyitchule main.js ndikuyamba ndi kufotokozera momwe blockchain ndi midadada ziyenera kuwoneka.
Pangani gulu la Block ndikupatseni ntchito Object() {[native code]} kuti muyambe.
Muyenera kupereka tsiku, ndi hashi ya chipika chapitachi popanga chipika chatsopano:
Nawa matanthauzo a katundu aliyense:
- Chidindo chanthawi chikuwonetsa pomwe chipikacho chinapangidwa. Mutha kugwiritsa ntchito mtundu uliwonse womwe mungasankhe (panthawiyi, sitampu ya UNIX).
- Mtundu uliwonse wa data womwe mukufuna kulumikiza ku chipikachi ukhoza kuphatikizidwa muzolemba za data. Ngati mukufuna kupanga cryptocurrency, mutha kusunga zomwe zachitika monga wotumiza/wolandira komanso kuchuluka kwa ndalama zomwe zasunthidwa pano.
- Yam'mbuyoHash ndi chingwe chomwe chimasunga hashi ya block yam'mbuyomu. Izi ndi zomwe zidzapangitse mndandanda wa midadada, yomwe idzakhala yofunika kwambiri popereka kukhulupirika kwa blockchain yathu pambuyo pake.
Kupanga Ma Hashes
Chida chilichonse chimalumikizana ndi chipika chapitacho (motero katundu waHash wam'mbuyo). Ndiye kuti, chipika chilichonse chimafuna hashi. Hashi ikufanana ndi chala. Ndi yosiyana pa chipika chilichonse.
Ma hashi a block amatha kuwerengedwa podutsa zonse zomwe zili mkati mwake kudzera mu ntchito ya hashi.
Chifukwa chake, tiyeni tiyambe ndikukhazikitsa ntchito yomwe imawerengera hashi ya block yomwe ilipo.
Chifukwa chake, pansi pa gulu la Block, timafotokozera ntchito ya CalculatorHash:
Komabe, SHA256 hash sichimathandizidwa ndi JavaScript ndipo iyenera kupezedwa kuchokera ku laibulale yakunja.
Crypto-js ndi phukusi labwino kwambiri lomwe limaphatikizapo kukhazikitsa kotetezeka kwa ma hashi algorithms angapo.
Ndiye tikhoza kulowetsa mu code yathu ya main.js.
Tsopano popeza tili ndi ntchito yathu ya CalculatorHash(), tiyeni tiyike kuti tigwiritse ntchito pa block yathu:
Pambuyo pofotokoza momwe Block ikuwonekera, tikhoza kufotokozera momwe Blockchain iyenera kuonekera. Ndiye tiyeni tipange kalasi yatsopano.
Muzochitika izi, blockchain ndi chinthu chosavuta chomwe chili ndi unyolo wa katundu. Uwu ndi mndandanda womwe umagwira midadada yonse pa unyolo.
Tisanawonjezere midadada, choyamba tiyenera kupanga zomwe zimatchedwa "genesis block". Uwu ndiye chipika choyamba mu unyolo, ndipo ndi wapadera chifukwa sungathe kuloza chipika choyambirira (ndichoyamba!).
Chifukwa chake, kuti mumange chipika cha genesis, ndiwonjezera ntchito ku kalasi yathu yotchedwa createGenesisBlock (). Kubwerera mu ntchito Object() {[native code]} ya kalasi yathu ya Blockchain.
Titha tsopano kuphatikiza chipika cha genesis nthawi iliyonse tikapanga chitsanzo chatsopano cha Blockchain:
Njira za Blockchain
Tsopano, tiyeni tiwonjezere njira ku kalasi yathu ya Blockchain zomwe zingatilole kuchita zinthu monga kuwonjezera midadada yatsopano ndikutenga chipika chaposachedwa kwambiri.
Ntchito ya getLatestBlock ndiyofunikira kwambiri. Imangobweza membala womaliza wamagulu angapo:
Njira ya addBlock ndiyokhudzidwa kwambiri.
Tisanawonjezere chipika chatsopano pamaketani athu, choyamba tiyenera kukhazikitsa gawo lakale la Hash.
Iyenera kukhazikitsidwa ku hashi ya block yomwe yawonjezeredwa posachedwa ku unyolo wathu. Tiyeneranso kuwerengera hashi ya block yatsopano:
kuyezetsa
Tiyeni tiwone momwe MelodyCoin yathu yatulukira.
Pangani chitsanzo cha blockchain kuti mukwaniritse izi. Tiyeni tiwonjezere midadada ingapo:
Tapanga midadada iwiri yatsopano kumeneko. Tiyeni tiwone momwe blockchain yathu ikuwonekera pakali pano.
MelodyCoin idzasinthidwa ndikusinthidwa ndi mipata inayi:
Tsimikizirani Kukhulupirika kwa Blockchain
Ma blockchains ndiabwino chifukwa chipika chikawonjezedwa, sichingasinthidwe popanda kuletsa unyolo wotsalira.
Komabe, palibe njira yoti ndiwonetsere kukhulupirika kwa blockchain yathu ndikukhazikitsa uku.
Tiyeni tidziwitse ntchito ya isChainValid ku blockchain yathu. Ngati unyolo uli wovomerezeka, udzabwerera woona; Apo ayi, idzabwerera zabodza:
Kuyesa Umphumphu
Tsopano titha kuyesa kukhulupirika kwa blockchain yathu. Ngati tizichita tsopano, zidzatsimikizira kuti unyolo wathu ndi wowona.
Tiyeni tsopano tiyese kusokoneza blockchain yathu. Tiyeni tisinthe chipika cha 2 ndikulembanso zomwe zili mkati mwake (tiyerekeze kuti tasamutsa ndalama 100 m'malo mwa zinayi).
Tikachita izi, titha kuwona kuti pulogalamuyo imazindikira kuyesetsa kwathu kusokoneza unyolo.
Komabe, mutha kukhulupirira kuti pali njira ina yoti ndisokonezere izi. Ndinasintha zomwe zili mu block koma sindinawerengenso hashi. Chifukwa chake mutha kuyesa kukhala wanzeru ndikuwerengeranso hashi ya block yomweyo.
Ndizo zonse zomwe zidalipo pakukhazikitsa kwathu kwa blockchain! Zimatithandiza kuwonjezera midadada yatsopano ndikuwona kusokoneza deta mkati mwa unyolo.
Pali zinthu ziwiri ndi blockchain yathu yaying'ono yomwe tiyenera kuthana nayo:
- Makompyuta amakono ndi othamanga kwambiri ndipo amatha kuwonjezera midadada masauzande ambiri pamasekondi athu. Mwachiwonekere sitikufuna kuti aliyense azitumizira spam blockchain yathu.
- blockchain yathu ikadali pachiwopsezo chosokoneza. Mutha kusintha zomwe zili mu block ndikungowerengeranso ma hashes (ndi ma hashi am'mbuyomu) pama block onse otsatirawa. Ngakhale mutasokoneza, mutha kukhala ndi unyolo wovomerezeka.
Pofuna kuthana ndi izi, blockchains amagwiritsa ntchito njira yotchedwa "umboni wa ntchito." Muyenera kuwonetsa kuti mwagwiritsa ntchito kuchuluka kwazinthu zowerengera kuti mupange chipika pogwiritsa ntchito njirayi. Izi zimatchedwanso migodi.
Umboni wa ntchito umafunika kuti hashi ya block iyambe ndi ziro zenizeni. Koma mungadziwe bwanji ngati hashi yanu ikugwirizana ndi lamuloli?
Zomwe zili mu block zimatsimikizira hashi yake. Chifukwa chake timapeza ma hashi omwewo nthawi zonse, pokhapokha ngati sitisintha zomwe zilimo.
Chida chilichonse chiyenera kukhala ndi phindu lopanda phindu lowonjezerapo ngati yankho. Izi ndi zina mwachisawawa zomwe titha kusintha mpaka hashi ya block yathu iyamba ndi ziro zokwanira. Chifukwa simungasinthire kutulutsa kwa hashi, muyenera kuyesa kuphatikiza kosiyanasiyana ndikuyembekeza zabwino.
Yambitsani Mining ku The Blockchain
Tiyeni tiyambe ndikuphatikiza nonce mu kalasi yathu ya Block. Nonce ndiye mtengo umodzi mkati mwa block yathu yomwe titha kusintha kuti ikhudze hashi ya block.
Sitingathe kusintha sitampu kapena data.
Kenako, tiyeni tilembe mineBlock() ntchito yomwe ingachite migodi yeniyeni ya block. Ntchitoyi idzatumizidwa zovuta zomwe zimafunikira ngati parameter ndipo zipitilirabe mpaka hashi ya block yathu iyamba ndi ziro zokwanira.
Ndangopanga loop yoyambira yomwe imatha mpaka hashi yathu iyamba ndi ziro zokwanira. Timagwiritsa ntchito zovuta kudziwa kuti ndi ziro zingati zomwe zikufunika. Ndizovuta za 5, hashi yathu iyenera kuyamba ndi ziro 5.
Ngati hashi yathu ilibe ziro zokwanira, timakweza nonce imodzi ndikuwerengeranso hashiyo. Ndipo ngati tipeza hashi yomwe ikugwirizana ndi zovutazo, timayika ku console.
Pali chinthu chinanso chomwe tiyenera kuchita. Sitikuganiziranso kusinthika kosasinthika mu njira yathu yowerengeraHash, ndiye izi:
Blockchain Kalasi
Tiyeni tiyese njira yatsopanoyi m'kalasi yathu ya blockchain ndikuwona momwe zimakhalira.
Kuti ndiyambe, ndikufotokozerani zovuta za blockchain yathu mu ntchito Object(). Timatanthauzira apa popeza titha kugwiritsa ntchito kwina mtsogolo.
Ntchito ya addBlock iyenera kusinthidwa kotero kuti imakumba chipikacho isanawonjezere mu unyolo wathu.
Gwiritsani ntchito Blockchain
Tsopano, tiyeni tiyike blockchain yathu yatsopano kuti tigwiritse ntchito ndi umboni wa ntchito. Apa, onjezani mawu angapo a console.log.
Tikachita kachidindo kameneka, tikhoza kuona kuti migodi sikhala yofulumira kwambiri.
Zimatenga nthawi kuti ma aligorivimu apange midadada ndi ma hashes omwe amayamba ndi ziro zitatu (monga zimakonzedwa movutikira).
Ndiye uku kunali kutha kwa kukhazikitsa kwathu koyambirira kwa blockchain.
Titha kuwongolera momwe midadada yatsopano imawonjezeredwa mwachangu ku blockchain yathu chifukwa cha umboni wa ntchito.
Ndilo gawo lofunikira kwambiri lachitetezo pa blockchains. Ndipo tsopano kuti mwamvetsetsa momwe zimagwirira ntchito, pitilizani kupanga zanu!
Siyani Mumakonda