Mena ka titiro tatou ki nga ahuatanga o nga tau kua pahure ake nei, kua rongo tatou mo te poraka i nga wa katoa, engari kaore i te nui mo nga korero motuhake.
Kei te mohio katoa tatou ko nga moni crypto penei i te Bitcoin, Ethereum, Dogecoin, Matic, me etahi atu e whakawhirinaki ana ki te hangarau poraka. I arahi te Poraka Poraka i nga huihuinga nui i huri i nga umanga maha i te tau 2021 me te para i te huarahi mo nga whakatutukitanga hou.
Ko te Poraka Poraka he tikanga mo te penapena raraunga ma te uaua, kaore ranei e taea te whakatika, te hack, te tinihanga ranei. He pukapuka pukapuka mamati o nga tauwhitinga kua taaruatia, kua horapa puta noa i te whatunga rorohiko katoa o te poraka.
Ko te hangarau putunga papaa whenua e kaha ana ki nga moni crypto katoa. Ko te Poraka he tino uaua ki te tarai, ki te tinihanga ranei i te punaha ma te hora i nga kape orite o te papaa raraunga puta noa i te whatunga katoa.
Ahakoa ko Bitcoin te whakamahi tino rongonui mo te poraka, ka taea e te hangarau te mahi i nga momo momo tono.
Ko nga moni crypto me nga poraka kua piki ake te rongonui i nga tau tata nei, a ko te tumanako ka haere tonu tenei ahuatanga.
Ka mahia e matou he poraka maamaa me te JavaScript i roto i tenei akoranga. Ka whakawhiwhia koe ki te maaramatanga taketake mo te mahi a te poraka.
Karangahia ko MelodyCoin ka uru tika ki te mahi!
Te Waihanga Poraka
Hei timata, ka hanga e matou he konae JavaScript hou ka tuu katoa o taatau waehere.
Karangahia he main.js ka tiimata me te whakamaarama me pehea te ahua o te poraka me nga poraka.
Waihangatia he karaehe Poraka ka hoatu he mahi Ahanoa() { [waehere taketake] } hei timata.
Me hoatu e koe he ra, me te hash o te poraka o mua i te wa e hanga ana he poraka hou:
Anei nga whakamaramatanga mo ia taonga:
- Ka tohu te tohu wa i te wa i mahia ai te paraka. Ka taea e koe te whakamahi ahakoa he aha te whakatakotoranga e kowhiria e koe (i tenei keehi, he tohu waahi UNIX).
- Ko nga momo raraunga e hiahia ana koe ki te hono atu ki tenei poraka ka taea te whakauru ki te tawhā raraunga. Mena kei te pirangi koe ki te hanga i te moni crypto, ka taea e koe te pupuri i nga raraunga tauwhitinga penei i te kaituku/kaiwhiwhi me te nui o te moni i neke ki konei.
- Ko te previousHash he aho e mau ana i te Hash o mua. Koinei te mea ka whakaputa i te mekameka poraka, he mea tino nui ki te whakarato i te pono o to maatau poraka a muri ake nei.
Waihanga Hashes
Ka hono ia poraka ki te poraka o mua (koia te taonga o muaHash). Arā, me whai hash ia poraka. He rite te hash ki te tapumati. He motuhake mo ia poraka.
Ka taea te tatau i te hash o te poraka ma te tuku i nga mea katoa o roto ma te mahi hash.
Na, me timata ma te whakatinana i tetahi mahi e tatau ana i te hash o te poraka o naianei.
Na, i raro i te karaehe Poraka, ka tautuhia e matou te mahi tatauHash:
Heoi ano, kaore i te tautokona te Hash SHA256 e JavaScript me tiki mai i te whare pukapuka o waho.
Ko te Crypto-js he kete tino pai kei roto ko nga whakatinanatanga haumaru o te maha o nga hash algorithm.
Na ka taea e matou te kawemai ki roto i ta maatau waehere matua.js.
Inaianei kei a tatou ta maatau mahi tatauHash(), me whakauru ki te mahi a to Poraka:
I muri i te whakamaarama he aha te ahua o te Poraka, ka taea e tatou te tautuhi he aha te ahua o te Poraka. Na me hanga he karaehe hou.
I roto i tenei ahuatanga, ko te poraka he mea tino maamaa he mekameka taonga. He raupapa tenei e pupuri ana i nga poraka katoa o te mekameka.
I mua i te taapiri poraka, me hanga tuatahi te mea e kiia nei he "paraka ira." Koinei te poraka tuatahi o te mekameka, he mea ahurei na te mea kaore e taea te tohu ki tetahi poraka o mua (koinei te tuatahi!).
Na, ki te hanga i te poraka ira, ka taapirihia e au tetahi mahi ki to maatau akomanga ko createGenesisBlock (). Hoki i roto i te mahi Ahanoa() { [waehere taketake] } o to tatou akomanga Poraka.
Ka taea e taatau te whakauru i te poraka ira i nga wa katoa ka hangaia e matou he tauira Poraka Poraka hou:
Nga Tikanga Poraka
Inaianei, me taapiri nga tikanga ki ta maatau karaehe Poraka ka taea e tatou te mahi penei i te taapiri poraka hou me te tiki poraka hou.
Ko te mahi getLatestBlock te mea tino taketake. Ka whakahokia noa te mema whakamutunga o te huinga mekameka:
He iti ake te whakauru o te tikanga addBlock.
I mua i te taapiri i tetahi poraka hou ki to tatou mekameka, me whakarite tika te mara o muaHash o taua poraka.
Me tautuhi ki te hash o te paraka hou kua tapirihia ki to tatou mekameka. Me tatau ano tatou i te hash o te poraka hou:
Testing
Kia kite tatou i te putanga mai o ta tatou MelodyCoin.
Waihangahia he tauira poraka hei whakatutuki i tenei. Me tapiri atu etahi poraka e rua:
E rua nga poraka hou i mahia e matou ki reira. Kia titiro tatou ki te ahua o to tatou poraka i tenei wa.
Ko te MelodyCoin ka whakahiatohia me te whakahōputu ki nga waahi e wha:
Manatokohia te Tikanga o te Poraka Poraka
He rawe nga mekameka poraka na te mea kua taapirihia he paraka, kaore e taea te whakarereke me te kore e whakakore i te toenga o te mekameka.
Engari, kaore he tikanga mo au ki te tirotiro i te pono o to maatau poraka me tenei whakatinanatanga.
Me whakauru mai he mahinga isChainValid ki ta maatau poraka. Mena he tika te mekameka, ka hoki pono; ki te kore, ka hoki teka:
Te Whakamatau Tika
Ka taea e tatou te whakamatautau i to tatou tapatahi poraka. Mena ka mahia e tatou inaianei, ka whakapumautia he pono to tatou mekameka.
Inaianei me ngana tatou ki te raweke i to tatou poraka. Me whakarereke te poraka 2 ka tuhirua i ona ihirangi (mehemea ka whakawhitia e tatou nga moni 100 hei utu mo te wha).
Ka mahia e matou tenei, ka kite matou kei te mohio te rorohiko ki ta matou kaha ki te raweke i te mekameka.
Heoi ano, e whakapono ana koe tera ano tetahi atu tikanga maau e pokanoa ki tenei. I whakarereketia e ahau nga mea kei roto i te poraka engari kaore au i te tatau ano i te hash. Na ka taea e koe te ngana ki te mohio me te tatau ano i te hash o taua poraka.
Heoi ano i ta maatau tatūnga poraka iti! Ka taea e maatau te taapiri poraka hou me te kite i te raweke i nga raraunga i roto i te mekameka.
E rua nga take e pa ana ki a maatau poraka iti hei whakatika:
- He tino tere nga rorohiko o naianei, a ka taea te taapiri i nga mano tini poraka ki to tatou mekameka i roto i te hēkona. Kare rawa matou e pirangi ki tetahi e paopao ana i ta matou poraka.
- Kei te whakaraerae tonu to tatou poraka ki te raweke. Ka taea e koe te whakahōu i ngā ihirangi o tētahi paraka, kātahi ka tātai noa i ngā hautehi (me nga tohu o mua) mo nga poraka katoa e whai ake nei. Ahakoa ka pohehe koe, ka mutu he mekameka tika.
Hei whakatika i enei awangawanga, ka whakamahia e nga poraka poraka tetahi tikanga e kiia nei ko te "tohu o te mahi." Me whakaatu koe i whakamahia e koe te nui o nga rauemi rorohiko hei hanga poraka ma te whakamahi i tenei huarahi. Ka kiia hoki tenei keri.
Ko te tohu-a-mahi me timata te hash o te poraka ki te rahinga kore. Engari me pehea e mohio ai mena ka uru to hash ki tenei ture?
Ko nga mea o roto o te poraka e whakatau ana i tana tohu. No reira ka whiwhi tatou i nga wa katoa o te hash, mena karekau e whakarereketia nga ihirangi.
Ko ia poraka me whai uara karekau he taapiri hei otinga. He raraunga matapōkere tēnei ka taea e mātou te whakahōu kia tae rā anō ki te tīmatanga o te hash o tā mātou poraka me te nui o ngā kore. Na te mea kaore e taea e koe te whakarereke i te putanga o te mahi hash, me whakamatau koe i te maha o nga huinga rereke me te tumanako mo te pai.
Whakauruhia te Maina ki te Poraka
Me timata ma te whakauru i te nonce ki roto i ta tatou karaehe Poraka. Ko te nonce ko te uara kotahi i roto i to maatau poraka ka taea e matou te whakarereke kia pa ki te haki o te poraka.
Kaore e taea e matou te whakarereke i te tohu waahi me nga raraunga.
Panuku, tuhia he mahi mineBlock() hei mahi i te kena o te poraka. Ko tenei mahi ka tukuna te uaua e hiahiatia ana hei tawhā ka haere tonu ki te mahi tae noa ki te tiimata o to tatou poraka ki te nui o nga kore.
I hanga noa e ahau he koowhina i te wa e rere ana kia timata ra ano to tatou hash ki te kore e nui. Ka whakamahia e matou te uaua ki te whakatau e hia nga kore e hiahiatia ana. Ki te uaua o te 5, me timata ta tatou hash ki te 5 kore.
Ki te kore e nui nga koo o to tatou hash, ka whakaarahia te nonce ma te kotahi ka tatau ano i te hash. A, ki te kitea e matou he hash e rite ana ki te uaua, ka takiuru matou ki te papatohu.
Tera ano tetahi mea hei mahi ma tatou. Kaore matou e tino aro ki te taurangi kore i roto i ta maatau tikanga tatauHash, na konei:
Karaehe Poraka
Me whakamatau tenei huarahi hou ki roto i ta maatau karaehe poraka ka kite pehea te haere.
Hei timata, ka tautuhia e ahau te uaua o to tatou poraka i roto i te mahi Ahanoa(). Ka tautuhia e matou i konei i te mea ka taea e matou te whakamahi i tetahi waahi i muri mai.
Me whakarerekē te mahi addBlock kia maina ai te paraka i mua i te taapiri atu ki roto i a maatau mekameka.
Whakamahia te Poraka Poraka
Inaianei, me whakauru ta tatou poraka hou ki te whakamahi me te algorithm tohu-o-mahi. I konei, taapirihia nga korero takirua console.log.
Ina mahia e tatou tenei waehere, ka kite tatou kua kore e tino tere te mahi maina.
He wa roa mo te algorithm ki te whakaputa poraka me nga tohu ka timata ki te toru kore (he mea whirihora e te uaua).
Na ko te mutunga o ta maatau tatūnga poraka matua.
Ka taea e tatou te whakahaere i te tere o te taapiri i nga poraka hou ki to tatou poraka na te tikanga tohu-o-mahi.
Koinei te waahanga haumarutanga tino nui i runga i nga poraka. Na inaianei kua mohio koe ki te mahi, haere ki te hanga i a koe ake!
Waiho i te Reply