Raha mijery ny fironana tamin'ny taona vitsivitsy lasa isika, dia naheno momba ny blockchain foana isika, fa tsy dia misy dikany loatra.
Fantatsika rehetra fa ny vola crypto toa ny Bitcoin, Ethereum, Dogecoin, Matic, ary ny hafa dia miankina amin'ny teknolojia blockchain. Blockchain no nitarika ny hetsika manan-danja izay nanova ny indostria maro tamin'ny 2021 ary nanamboatra lalana ho an'ny zava-bita vaovao.
Blockchain dia fomba fitahirizana angon-drakitra amin'ny fomba sarotra na tsy azo ovaina, hack, na hosoka. Izy io dia bokim-pandraharahana nomerika izay adika sy miparitaka manerana ny tambajotran'ny rafitra informatika manontolo ao amin'ny blockchain.
Izy io no teknolojian'ny angon-drakitra mamokatra izay manome hery saika ny vola crypto rehetra. Ny Blockchain dia mahatonga azy ho sarotra be ny mijirika na mamitaka ny rafitra amin'ny fanaparitahana dika mitovy amin'ny angon-drakitra manerana ny tambajotra iray manontolo.
Raha Bitcoin izao no fampiasa malaza indrindra amin'ny blockchain, ny teknolojia dia afaka manolotra karazana fampiharana be dia be.
Ny cryptocurrencies sy ny blockchain dia miha-malaza tato anatin'ny taona vitsivitsy, ary antenaina hitohy izany fironana izany.
Hanao blockchain tsotra miaraka amin'ny JavaScript izahay ato amin'ity lesona ity. Izy io dia hanome anao fahatakarana fototra momba ny fomba fiasan'ny blockchain.
Andao hiantso azy io MelodyCoin ary mirosoa amin'ny hetsika!
Mamorona Block
Hanombohana dia hamorona rakitra JavaScript vaovao izay hametrahantsika ny kaodinay rehetra.
Andao hiantso azy io main.js ary atombohy amin'ny famaritana ny fomba tokony ho endriky ny blockchain sy ny sakana.
Mamorona kilasy Block ary omeo asa Object() { [kaody teratany] } hanombohana azy.
Tsy maintsy manome daty ianao, ary ny hash amin'ny sakana teo aloha rehefa mamorona sakana vaovao:
Ireto ny famaritana ho an'ny fananana tsirairay:
- Ny famantaranandro dia manondro ny fotoana nanaovana ny sakana. Azonao atao ny mampiasa izay endrika tianao (amin'ity tranga ity, marika famantarana UNIX).
- Ny endrika angona rehetra tianao hifandraisana amin'ity sakana ity dia azo ampidirina ao amin'ny mari-pamantarana data. Raha te hamorona cryptocurrency ianao dia azonao atao ny mitazona ny angon-drakitra momba ny varotra toy ny mpandefa / mpandray sy ny habetsaky ny vola nafindra eto.
- Ny previousHash dia tady mitazona ny hash an'ny sakana teo aloha. Izany no hamokatra ny rojo sakana, izay ho zava-dehibe amin'ny fanomezana ny fahamendrehan'ny sakanantsika any aoriana.
Mamorona Hashes
Ny sakana tsirairay dia mifandray amin'ny sakana teo aloha (noho izany ny fananana teo alohaHash). Izany hoe mila hash ny sakana tsirairay. Ny hash dia mitovy amin'ny dian-tanana. Miavaka ho an'ny bloc tsirairay izany.
Ny hash an'ny sakana iray dia azo kajy amin'ny alàlan'ny fampitana ny atiny rehetra amin'ny asa hash.
Noho izany, andeha isika hanomboka amin'ny fampiharana asa izay manisa ny hash amin'ny sakana ankehitriny.
Noho izany, eo ambanin'ny kilasy Block, dia mamaritra ny asa calculHash:
Na izany aza, ny hash SHA256 dia tsy tohanan'ny JavaScript ary tsy maintsy alaina avy amin'ny tranomboky ivelany.
Crypto-js dia fonosana mahafinaritra izay misy fampiharana azo antoka amin'ny algorithm hash maromaro.
Avy eo isika dia afaka manafatra azy ao amin'ny kaody main.js.
Amin'izao fotoana izao dia manana ny asany calculHash() isika, andao hampiasaina amin'ny asan'ny Block:
Aorian'ny famaritana ny endriky ny Block, dia azontsika atao ny mamaritra ny tokony ho endriky ny Blockchain. Andao àry hamorona kilasy vaovao.
Amin'ity tranga ity, ny blockchain dia zavatra tena tsotra izay manana rojo fananana. Ity dia array mitazona ny bloc rehetra amin'ny rojo.
Alohan'ny ahafahantsika manampy sakana dia tsy maintsy mamorona ilay antsoina hoe "block genesis" aloha isika. Ity no sakana voalohany amin'ny rojo, ary miavaka satria tsy afaka manondro ny sakana teo aloha (io no voalohany!).
Noho izany, mba hananganana ny bloc genesis, dia hanampy asa iray ao amin'ny kilasintsika antsoina hoe createGenesisBlock (). Miverina amin'ny fiasa Object() { [kaody teratany] } amin'ny kilasy Blockchain.
Afaka mampiditra ny sakana genesisy izahay amin'ny fotoana rehetra hananganana ohatra Blockchain vaovao:
Fomba Blockchain
Andeha isika hanampy fomba amin'ny kilasy Blockchain izay ahafahantsika manao zavatra toy ny manampy sakana vaovao sy maka ny sakana farany indrindra.
Ny fiasa getLatestBlock no fototra indrindra. Izy io dia mamerina fotsiny ny mpikambana farany amin'ny laharan'ny rojo:
Ny teknika addBlock dia tafiditra kely kokoa.
Alohan'ny ahafahantsika manampy sakana vaovao amin'ny rojontsika, dia tsy maintsy mametraka araka ny tokony ho izy aloha ny saha Hash an'ny sakana.
Tsy maintsy apetraka amin'ny hash amin'ny sakana vao ampidirina farany amin'ny rojontsika izany. Mila manisa ny hash amin'ny sakana vaovao ihany koa isika:
Testing
Andeha hojerentsika ny fomba nivoahan'ny MelodyCoin.
Mamorona ohatra blockchain hanatontosana izany. Andao hanampy sakana roa hafa:
Nanao bloc roa vaovao izahay tao. Andeha hojerentsika ny endriky ny blockchain amin'izao fotoana izao.
MelodyCoin dia hosorina sy halamina amin'ny habaka efatra:
Hamarino ny fahamarinan'ny Blockchain
Mahafinaritra ny blockchain satria rehefa nampiana sakana iray dia tsy azo ovaina raha tsy manafoana ny ambiny amin'ny rojo.
Na izany aza, tsy misy fomba azoko hijerena ny fahamendrehan'ny blockchain amin'ity fampiharana ity.
Andao hampiditra fiasa isChainValid amin'ny blockchain. Raha ara-dalàna ny rojo, dia hiverina marina izany; raha tsy izany dia hiverina diso izany:
Fitsapana ny tsy fivadihana
Azontsika andrana izao ny fahamarinan'ny blockchain. Raha tanterahantsika izao dia hanamarina fa tena marina ny rojontsika.
Andeha isika izao hanandrana hanimba ny blockchain. Andao hanova ny bloc 2 ary hosoratana ny ao anatiny (aoka hatao hoe nafindra vola madinika 100 fa tsy efatra).
Rehefa manatanteraka izany isika, dia hitantsika fa fantatry ny rindrambaiko ny ezaka ataontsika amin'ny fanodinkodinana ny rojo.
Na izany aza, azonao atao ny mino fa misy fomba iray hafa ho ahy ny mitsabaka amin'izany. Nanova ny atiny tao amin'ny sakana aho fa tsy nanao kajy indray ny hash. Noho izany dia azonao atao ny manandrana marani-tsaina sy mamerina mamerina ny hash an'io sakana io ihany.
Izay ihany no tao amin'ny fananganana blockchain kely! Izany dia ahafahantsika manampy sakana vaovao sy mamantatra ny fanodinkodinana ny angona ao anatin'ny rojo.
Misy olana roa amin'ny blockchain kely izay tsy maintsy atrehintsika:
- Ny solosaina maoderina dia tena haingana ary afaka manampy sakana an'arivony amin'ny rojontsika ao anatin'ny segondra. Mazava ho azy fa tsy mila olona mandefa spam izahay blockchain.
- Mbola marefo amin'ny fanodinkodinana ny blockchain eto amintsika. Azonao atao ny manavao ny votoatin'ny sakana iray ary avy eo mamerina manitsy ny hash (sy ny hashes teo aloha) ho an'ny sakana manaraka rehetra. Na dia mikorontana amin'izany aza ianao dia hiafara amin'ny rojo ara-dalàna.
Mba hamahana ireo olana ireo dia mampiasa teknika antsoina hoe "porofon'ny asa" ny blockchain. Tsy maintsy asehonao fa nampiasa loharanon-kajy be dia be ianao mba hamoronana sakana amin'ny fampiasana an'io fomba io. Antsoina koa izany fitrandrahana.
Ny porofon'ny asa dia mitaky fa ny hash an'ny sakana iray dia manomboka amin'ny aotra voafaritra. Ahoana anefa no hahafantarana raha mifanaraka amin'io fitsipika io ny hash-nao?
Ny votoatin'ny sakana iray no mamaritra ny hash azy. Noho izany dia mahazo tenifototra mitovy foana izahay, raha toa ka tsy manova ny atiny.
Ny bloc tsirairay dia tokony hanana sanda nonce ampiana azy ho vahaolana. Ity dia angona kisendrasendra izay azontsika havaozina mandra-pahatongan'ny hash amin'ny sakanantsika amin'ny aotra ampy. Satria tsy afaka manova ny vokarin'ny hash ianao, dia mila manandrana fitambarana maro samihafa ianao ary manantena ny tsara indrindra.
Ampidiro ny fitrandrahana ny Blockchain
Andeha isika hanomboka amin'ny fampidirana ny nonce ao amin'ny kilasy Block. Ny nonce dia ny sanda tokana ao anatin'ny sakana izay azontsika ovaina mba hisy fiantraikany amin'ny hash an'ilay sakana.
Tsy afaka manova ny mari-potoana na ny angona izahay.
Manaraka, andao hanoratra asa mineBlock() izay hanao ny tena fitrandrahana ny sakana iray. Ity fiasa ity dia halefa ny fahasarotana ilaina ho toy ny mason-tsivana ary hitohy mandra-pahatongan'ny hash amin'ny sakanantsika amin'ny aotra ampy.
Vao avy nanao loop while basic aho izay handeha mandra-panombohan'ny hash-tsika amin'ny aotra ampy. Ampiasainay ny fahasarotana hamaritana hoe firy aotra no ilaina. Miaraka amin'ny fahasarotan'ny 5, ny hash dia tsy maintsy manomboka amin'ny aotra 5.
Rehefa tsy ampy aotra ny hash-tsika, dia atsangantsika tsirairay ny nonce ary averina kajy ny hash. Ary raha mahita tenifototra mifanaraka amin'ny fahasarotana isika dia ampidirintsika ao amin'ny console izany.
Mbola misy zavatra iray tokony hataontsika. Tsy dia raisinay loatra ny fari-piadidiana tsy misy dikany ao amin'ny fomba calculHash anay, ka izao no izy:
Kilasy Blockchain
Andeha hojerentsika amin'ny kilasy blockchain ity fomba fiasa vaovao ity ary hojerentsika ny fandehany.
Hanombohana, hofaritako ny fahasarotan'ny sakanantsika amin'ny Object(). Famaritanay eto satria azonay ampiasaina any aoriana any.
Ny fiasan'ny addBlock dia tsy maintsy ovaina amin'izay ny fitrandrahana ny sakana alohan'ny hampidirana azy ao amin'ny rojontsika.
Ampiasao ny Blockchain
Ankehitriny, andao apetrakay ny blockchain vaovao hampiasaina amin'ny algorithm proof-of-work. Eto, ampio fanambarana console.log mpivady.
Rehefa manatanteraka io fehezan-dalàna io isika dia afaka mahita fa tsy dia haingana loatra ny fizotran'ny fitrandrahana.
Mila fotoana kely ny algorithm mba hamoronana sakana miaraka amin'ny hashes izay manomboka amin'ny aotra telo (araka ny namolavolan'ny fahasarotana).
Ka izay no fiafaran'ny fananganana blockchain fototra.
Azontsika atao ny mandamina haingana ny fampidirana sakana vaovao ao amin'ny blockchain antsika noho ny mekanika porofo momba ny asa.
Io no singa fiarovana manan-danja indrindra amin'ny blockchains. Ary izao rehefa azonao ny fomba fiasan'izy io, dia manomboha mamorona ny anao manokana!
Leave a Reply