
Heddiw, mae atebion profi a meincnodi blockchain wedi'u teilwra i blockchain penodol neu ei fforciau. Fodd bynnag, mae yna hefyd sawl ateb mwy cyffredinol sy'n amrywio o ran ymarferoldeb: mae rhai yn brosiectau ffynhonnell agored, darperir eraill fel SaaS, ac mae'r rhan fwyaf yn atebion mewnol a grëwyd gan dimau datblygu blockchain. Fodd bynnag, maent i gyd yn datrys problemau tebyg. Yn yr erthygl hon, rydw i wedi adolygu'n fyr sawl cynnyrch a gynlluniwyd yn benodol ar gyfer profi blockchain.
Mae rhwydwaith blockchain yn gweithredu'n debyg i gronfa ddata ddosbarthedig, felly gellir defnyddio offer a dulliau tebyg ar gyfer profi. I ddeall yn well sut mae cronfeydd data dosbarthedig yn cael eu profi, edrychwch ar y casgliad cynhwysfawr hwn o adnoddau ac erthyglau. Er enghraifft, mae latency wedi'i rannu'n adrannau yn hyn , ac i ddeall sut i chwilio am fygiau mewn algorithmau dyblygu, rwy'n argymell darllen hwn .
Byddaf yn disgrifio sawl ateb poblogaidd ar gyfer profi a meincnodi blockchain. Byddwn yn hapus pe baech yn disgrifio cynhyrchion meddalwedd defnyddiol eraill at ddibenion tebyg yn y sylwadau.

Dechreuaf gydag offeryn, er nad yw wedi'i gynllunio'n benodol ar gyfer cadwyni bloc, sy'n caniatáu profi eu gweithrediad yn effeithiol, ar yr amod bod rhwydwaith presennol i arbrofi arno. Un ffactor allweddol yng nghymhariaeth â dibynadwyedd system ddosbarthedig yw'r gallu i barhau i weithredu os bydd problemau gyda'r gweinydd a'r rhwydwaith. Gallai'r rhain gynnwys oedi rhwydwaith, disg llawn, diffyg gwasanaethau allanol (DNS), methiannau caledwedd, a channoedd o achosion eraill. I brofi gwydnwch unrhyw system sy'n rhedeg ar y cyd ar draws nifer fawr o beiriannau, gallwch ddefnyddio Mae'n defnyddio dull hynod effeithiol o'r enw Peirianneg Anhrefn.
Gan ddefnyddio ei asiant rhwydwaith ei hun, mae Gremlin yn creu amrywiaeth o wahanol fathau o broblemau ar y nifer gofynnol o beiriannau: oedi rhwydwaith, gorlwytho unrhyw adnodd (CPU, disg, cof, rhwydwaith), analluogi protocolau unigol, ac yn y blaen. Ar gyfer cadwyni bloc, gellir defnyddio Gremlin ar weinyddion testnet, gan efelychu problemau byd go iawn a monitro ymddygiad rhwydwaith. Ag ef, gall datblygwyr a gweinyddwyr arsylwi beth sy'n digwydd i'r system os bydd methiant neu yn ystod diweddariad cod mewn amgylchedd rheoledig. Fodd bynnag, rhaid ffurfweddu a defnyddio'r rhwydwaith ymlaen llaw, a rhaid sefydlu casglu'r metrigau angenrheidiol.
Mae Gremlin yn offeryn cyfleus i benseiri, DevOps, a gweithwyr proffesiynol diogelwch, ac yn ddatrysiad cyffredinol ar gyfer profi unrhyw systemau dosbarthedig presennol a rhedeg, gan gynnwys cadwyni bloc.

Mae Hyperledger Caliper yn ddatrysiad llawer mwy arbenigol. Ar hyn o bryd mae Caliper yn cefnogi sawl cadwyn gadwyn—aelodau o'r teulu Hyperledger (Fabric, Sawtooth, Iroha, Burrow, Besu), yn ogystal ag Ethereum a rhwydwaith FISCO BCOS.
Mae Caliper yn caniatáu ichi ddiffinio topoleg rhwydwaith y blockchain a chontractau ar gyfer profi, yn ogystal â disgrifio ffurfweddiad y nod. Mae nodau blockchain yn cael eu defnyddio mewn cynwysyddion Docker ar un peiriant. Yna gallwch ddewis yr hyn sy'n angenrheidiol a derbyn ffeil adroddiad gyda chanlyniadau'r prawf ar ôl y lansiad. Gellir dod o hyd i restr lawn o fetrigau Caliper a'r dull meincnodi yma. Mae hon yn erthygl wych os oes gennych ddiddordeb mewn meincnodi blockchain. Gallwch hefyd ffurfweddu casglu metrigau mewn cymhwysiad Prometheus/Grafana ar wahân.
Mae Hyperledger Caliper yn offeryn sydd wedi'i anelu at ddatblygwyr a phenseiri systemau, gan ei fod yn sicrhau profion ailadroddadwy a phrofion a meincnodi awtomataidd. Fe'i defnyddir wrth ddatblygu systemau craidd blockchain: algorithmau consensws, peiriant rhithwir ar gyfer prosesu contractau clyfar, haen cyfoedion-i-gyfoedion, a mecanweithiau system eraill.

— offeryn a ddaeth i'r amlwg yn ystod datblygiad algorithmau consensws a therfynoldeb ar gyfer rhwydweithiau sy'n seiliedig ar EOS a phrofi parachadwynau yn seiliedig ar Swbstrad Paredd (Polkadot). Mae ei swyddogaeth yn debyg i Hyperledger Caliper, gan ei fod yn caniatáu casglu metrigau pwysig o nodau unrhyw system ddosbarthedig a pheiriannau cleient sy'n rhedeg sgriptiau prawf.
Mae MixBytes Tank yn defnyddio sawl gwasanaeth cwmwl (Digital Ocean, Google Cloud Engine, ac ati), lle gall lansio sawl nod, cyflawni gweithdrefnau ffurfweddu rhagarweiniol, rhedeg sawl meincnod ochr yn ochr ar wahanol beiriannau, casglu'r metrigau angenrheidiol, a chau'r rhwydwaith i lawr yn awtomatig.
Mae MixBytes Tank yn caniatáu defnydd cost-effeithiol o weinyddion cwmwl trwy gau adnoddau diangen yn awtomatig ar ôl profi. Nodwedd nodedig arall yw'r defnydd o'r pecyn Molecule, sy'n caniatáu i ddatblygwyr brofi defnydd y blockchain a ddymunir yn lleol.
Mae Tanc MixBytes yn galluogi canfod tagfeydd a gwallau algorithmig sy'n codi mewn rhwydweithiau go iawn gyda nifer fawr o weinyddion a chleientiaid sydd wedi'u dosbarthu'n ddaearyddol yn gynnar. Bydd y tanc yn eich helpu i ddeall beth fydd yn digwydd ar nodau os bydd cleientiaid yn anfon trafodion mewn TPS penodol o dan amodau y gellir eu hailadrodd yn fawr a chyda nifer go iawn o nodau, wedi'u dosbarthu ar draws gwahanol gyfandiroedd, os oes angen.

Mae Whiteblock Genesis yn blatfform ar gyfer profi blockchains sy'n seiliedig ar Ethereum. Mae'r offeryn hwn yn cynnig ystod eang o nodweddion: mae'n caniatáu ichi lansio rhwydwaith, creu'r nifer gofynnol o gyfrifon, sefydlu'r nifer gofynnol o gleientiaid, ffurfweddu topoleg y rhwydwaith, nodi paramedrau lled band a cholli pecynnau, a rhedeg y prawf.
Mae Whiteblock Genesis yn darparu ei alluoedd profi ei hun. Mae datblygwyr yn syml yn nodi paramedrau prawf, yn eu rhedeg gan ddefnyddio API parod, ac yn gweld y canlyniadau gan ddefnyddio dangosfwrdd cyfleus.
Mae Whiteblock Genesis yn caniatáu ichi ffurfweddu prawf cynhwysfawr y bydd y platfform yn ei redeg yn awtomatig ar gyfer pob newid cod sylweddol. Bydd hyn yn caniatáu ichi ganfod gwallau'n gynnar ac asesu effaith newidiadau ar baramedrau rhwydwaith allweddol ar unwaith, megis cyflymder trafodion a defnydd adnoddau nodau.
Madt
Cynnyrch ifanc diddorol arall ar gyfer profi systemau dosbarthedig yw Mae wedi'i ysgrifennu yn Python ac mae'n caniatáu ichi greu'r topoleg rhwydwaith sydd ei hangen a'r nifer gofynnol o weinyddion a chleientiaid gan ddefnyddio sgript ffurfweddu syml (Ar ôl hyn, mae'r gwasanaeth yn defnyddio'r rhwydwaith mewn sawl cynhwysydd Docker ac yn lansio rhyngwyneb gwe lle gellir monitro negeseuon o weinyddion rhwydwaith a chleientiaid. Gellir defnyddio Madt ar gyfer profi blockchain—mae storfa'r prosiect yn cynnwys prawf rhwydwaith cyfoedion-i-gyfoedion yn seiliedig ar y protocol Kademlia, sy'n cynyddu'r hwyrni cyflwyno data i nodau yn raddol ac yn gwirio statws y data hwnnw.
Mae Madt yn gynnyrch cymharol newydd, ond o ystyried ei bensaernïaeth hyblyg iawn, gall ddatblygu'n gynnyrch swyddogaethol.
Datrysiadau eraill
Mae bron unrhyw brofion ar y system blockchain yn gofyn am redeg senarios rhagarweiniol, paratoi cyfrifon, a sefydlu amodau prawf (gallai hyn gynnwys profi gwallau consensws a all ddeillio o fforchau cadwyn lluosog, rhedeg senarios fforch caled, newid paramedrau system, ac ati). Mae'r holl driniaethau hyn yn cael eu cynnal yn wahanol mewn gwahanol blockchains, felly mae'n haws i dimau addasu profion cynnyrch a meincnodi yn raddol i CI/CD mewnol a defnyddio eu datblygiadau eu hunain, sy'n dod yn fwy cymhleth yn raddol wrth i ymarferoldeb y blockchain esblygu.
Fodd bynnag, gall defnyddio atebion parod leihau'r amser profi i'r timau hyn yn sylweddol, felly rwy'n credu y bydd y feddalwedd hon yn cael ei datblygu'n weithredol yn y blynyddoedd i ddod.
Casgliad
I gloi'r trosolwg byr hwn, byddaf yn rhestru sawl nodwedd bwysig o offer profi blockchain:
- Y gallu i ddefnyddio rhwydwaith blockchain yn awtomatig o dan amodau ailadroddadwy. Mae'r ffactor hwn yn bwysig wrth ddatblygu cydrannau system blockchain: algorithmau consensws, terfynoldeb, a chontractau clyfar system.
- Mae cost perchnogaeth y system, y defnydd o adnoddau, a'r rhwyddineb defnydd yn sicrhau bod y prosiect yn darparu profion o ansawdd uchel am gost isel.
- Hyblygrwydd a rhwyddineb ffurfweddu profion. Mae'r ffactor hwn yn cynyddu'r siawns o nodi problemau system—mae'n llai tebygol o golli rhywbeth pwysig.
- Addasu ar gyfer mathau penodol o blockchain. Gall datblygu ateb yn seiliedig ar un sy'n bodoli eisoes wella ansawdd yn sylweddol a lleihau costau amser.
- Cyfleustra a hygyrchedd y canlyniadau a gafwyd a'u math (adroddiadau, metrigau, graffiau, logiau, ac ati). Mae hyn yn gwbl hanfodol os ydych chi am olrhain hanes datblygiad cynnyrch neu os oes angen dadansoddiad manwl o ymddygiad rhwydwaith blockchain.
Pob lwc gyda'ch profion, a bydded i'ch cadwyni bloc fod yn gyflym ac yn goddefgar o fai!
Ffynhonnell: hab.com
