Ihtisar singket ngeunaan Uji Blockchain sareng Alat Tolok Ukur

Ihtisar singket ngeunaan Uji Blockchain sareng Alat Tolok Ukur

Kiwari, solusi pikeun nguji sarta benchmarking blockchains tailored ka blockchain husus atawa forks na. Tapi aya ogé sababaraha solusi anu langkung umum anu béda dina fungsionalitas: sababaraha di antarana mangrupikeun proyék open source, anu sanésna disayogikeun salaku SaaS, tapi kalolobaanana mangrupikeun solusi internal anu diciptakeun ku tim pamekaran blockchain. Sanajan kitu, aranjeunna sadayana ngajawab masalah sarupa. Dina artikel ieu, kuring nyoba marios sakeudeung sababaraha produk dirancang husus pikeun nguji blockchains.

Operasi jaringan blockchain nyarupaan operasi database disebarkeun, jadi alat jeung métode sarupa bisa dipaké pikeun nguji. Pikeun leuwih hadé ngartos kumaha database disebarkeun diuji, tingali dina pilihan alus sumberdaya jeung artikel di dieu. Contona, latency diurutkeun kana lembar dina ieu artikel, sareng ngartos kumaha aranjeunna milarian bug dina algoritma réplikasi, kuring nyarankeun maca ieu artikel.

Kuring baris ngajelaskeun sababaraha solusi populér pikeun nguji sarta benchmarking blockchains. Abdi bungah upami dina koméntar anjeun ngajelaskeun produk parangkat lunak anu sanés pikeun ngarengsekeun masalah anu sami.

Ihtisar singket ngeunaan Uji Blockchain sareng Alat Tolok Ukur

Kuring gé mimitian ku alat nu, sanajan teu dijieun husus pikeun blockchains, ngidinan Anjeun pikeun éféktif nguji operasi maranéhanana, disadiakeun yén aya hiji jaringan geus ngajalankeun on nu bisa ékspérimén. Faktor anu paling penting dina réliabilitas sistem anu disebarkeun nyaéta kamampuan pikeun terus damel upami aya masalah sareng server sareng jaringan. Ieu bisa jadi lags jaringan, fullness disk, unavailability sahiji layanan éksternal (DNS), gagal hardware na ratusan alesan séjén. Pikeun mariksa stabilitas sagala sistem operasi di konsér dina angka nu gede ngarupakeun mesin sistem, Anjeun tiasa make Gremlin. Éta ngagunakeun pendekatan anu épéktip anu disebut Chaos Engineering.

Ngagunakeun agén jaringan sorangan, nyiptakeun Gremlin loba tipena béda masalah dina jumlah diperlukeun mesin: lags jaringan, overload sumberdaya wae (CPU, disk, memori, jaringan), disables protokol individu, jsb. Pikeun blockchains, Gremlin bisa dipaké dina server testnet, emulating masalah kahirupan nyata jeung observasi paripolah jaringan. Kalayan éta, pamekar sareng pangurus tiasa ningali dina lingkungan anu dikontrol naon anu bakal kajadian upami sistem nabrak atanapi nalika kodeu diropéa. Dina hal ieu, jaringan kudu ngonpigurasi tur deployed sateuacanna, kitu ogé ngonpigurasi pikeun ngumpulkeun metrics perlu.

Gremlin mangrupikeun alat anu cocog pikeun arsiték, devops sareng spesialis kaamanan sareng solusi universal pikeun nguji sistem distribusi anu siap-siap sareng ngajalankeun, kalebet blockchains.

Ihtisar singket ngeunaan Uji Blockchain sareng Alat Tolok Ukur

Hyperledger Caliper mangrupikeun solusi anu langkung khusus Hyperledger Caliper. Di momen, Caliper ngarojong sababaraha blockchains sakaligus - wawakil kulawarga Hyperledger (Fabric, Sawtooth, Iroha, Burrow, Besu), kitu ogé Ethereum jeung jaringan FISCO BCOS.

Nganggo Caliper, anjeun tiasa nyetél topologi jaringan blockchain sareng kontrak pikeun uji, ogé ngajelaskeun konfigurasi titik. Titik Blockchain digedékeun dina wadah docker dina hiji mesin. Salajengna, Anjeun bisa milih nu diperlukeun konfigurasi test sareng nampi file kalayan laporan hasil tés saatos peluncuran. Daptar lengkep ngeunaan métrik Caliper sareng pendekatan benchmarking tiasa dipendakan di dieu Hyperledger Blockchain Performance Métrik, ieu artikel hébat lamun museurkeun topik benchmarking blockchain. Anjeun ogé tiasa nyetél koleksi métrik dina Prometheus / Grafana anu misah.

Hyperledger Caliper mangrupikeun alat anu ditujukeun pikeun pamekar sareng arsiték sistem, sabab nyayogikeun kaulangan tés sareng otomatisasi tés sareng benchmarking. Hal ieu dianggo dina pamekaran inti blockchains: algoritma konsensus, mesin virtual pikeun ngolah kontrak pinter, lapisan peer-to-peer sareng mékanisme sistem anu sanés.

Ihtisar singket ngeunaan Uji Blockchain sareng Alat Tolok Ukur

Tangki MixBytes mangrupakeun alat anu mecenghul dina prosés ngamekarkeun konsensus jeung algoritma finality pikeun jaringan basis EOS sarta nguji parachains dumasar Parity Substrat (Polkadot). Dina hal fungsionalitas, éta caket kana Hyperledger Caliper, sabab ngamungkinkeun anjeun pikeun ngumpulkeun métrik penting tina titik-titik tina sistem anu disebarkeun sareng mesin klien dimana skrip tés dijalankeun.

MixBytes Tank nganggo sababaraha jasa awan (Digital Ocean, Google Cloud Engine, jsb.), dimana éta tiasa ngaluncurkeun seueur titik, ngalaksanakeun prosedur konfigurasi awal, ngajalankeun sababaraha tolok ukur paralel dina mesin anu béda, ngumpulkeun métrik anu diperyogikeun sareng mareuman otomatis. jaringan.

MixBytes Tank ngidinan Anjeun pikeun nyimpen duit dina server awan ku otomatis ngaminimalkeun sumberdaya teu perlu sanggeus tés. Fitur has sejen nyaeta pamakéan pakét Molekul, anu ngamungkinkeun pamekar pikeun nguji deployment tina blockchain dipikahoyong lokal.

MixBytes Tank ngamungkinkeun anjeun pikeun ngadeteksi mimiti bottlenecks sareng kasalahan dina algoritma anu timbul dina jaringan nyata kalayan sajumlah server sareng klien anu disebarkeun sacara geografis. Tank bakal ngabantosan anjeun ngartos naon anu bakal kajadian dina titik-titik upami klien ngirim transaksi kalayan tps anu dipasihkeun dina kaayaan anu tiasa diulang pisan sareng sajumlah titik anu sumebar ka buana anu béda, upami diperyogikeun.

Ihtisar singket ngeunaan Uji Blockchain sareng Alat Tolok Ukur

Whiteblock Genesis mangrupakeun platform nguji pikeun blockchains basis Ethereum. Alat ieu ngagaduhan pungsionalitas anu lega: ngamungkinkeun anjeun ngaluncurkeun jaringan, nyiptakeun jumlah akun anu diperyogikeun, ningkatkeun jumlah klien anu diperyogikeun, ngonpigurasikeun topologi jaringan, netepkeun bandwidth sareng parameter packetloss sareng ngajalankeun tés.

Whiteblock Genesis nyadiakeun fasilitas tés sorangan. Pamekar ngan ukur kedah netepkeun parameter uji, ngajalankeunana nganggo API anu siap-siap, sareng kéngingkeun hasil nganggo dasbor anu merenah.

Whiteblock Genesis ngidinan Anjeun pikeun ngonpigurasikeun tes anu cukup rinci yén platform bakal otomatis ngalaksanakeun pikeun unggal parobahan kode signifikan. Ieu bakal ngidinan Anjeun pikeun nyekel kasalahan dina tahap awal jeung geura assess dampak parobahan dina parameter jaringan penting, kayaning speed urus jeung sumberdaya nu dikonsumsi ku titik.

Madt

Produk ngora anu sanés pikeun nguji sistem anu disebarkeun nyaéta madt. Ditulis dina Python sareng ngamungkinkeun anjeun nyiptakeun topologi jaringan anu diperyogikeun sareng jumlah server sareng klien anu diperyogikeun nganggo skrip konfigurasi saderhana (conto). Saatos ieu, jasa nyebarkeun jaringan dina sababaraha wadah Docker sareng muka antarmuka wéb dimana anjeun tiasa ningali pesen ti server sareng klien jaringan. Madt tiasa dianggo pikeun nguji blokcheyn - gudang proyék gaduh tés jaringan p2p dumasar kana protokol Kademlia, dimana telat dina ngirimkeun data ka titik laun ningkat sareng status data ieu dipariksa.

Madt ngan nembé muncul, tapi tinangtu arsitéktur anu fleksibel pisan, éta tiasa janten produk fungsional.

Solusi sanésna

Ampir sagala tés tina bagian sistem blockchains merlukeun ngajalankeun skrip awal, Nyiapkeun rekening jeung kaayaan keur test (ieu bisa nguji kasalahan konsensus nu bisa ngahasilkeun sababaraha garpu ranté, nguji skenario garpu teuas, ngarobah parameter sistem, jsb). Sadaya manipulasi ieu dilumangsungkeun béda dina blockchains béda, ku kituna leuwih gampang pikeun tim pikeun laun adaptasi nguji produk na benchmarking ka CI / CD internal tur ngagunakeun kamajuan sorangan, nu laun jadi leuwih kompleks sakumaha fungsionalitas blockchain nu tumuwuh.

Sanajan kitu, pamakéan solusi siap-dijieun bisa greatly ngurangan waktu nguji pikeun tim ieu, jadi kuring nyangka yén software ieu bakal aktip dimekarkeun dina taun datang.

kacindekan

Pikeun nyimpulkeun ulasan pondok ieu, kuring bakal daptar sababaraha ciri penting tina alat uji blockchain:

  • Kamampuhan pikeun sacara otomatis nyebarkeun jaringan blockchain dina kaayaan anu tiasa diulang. Faktor ieu penting nalika ngembangkeun bagian sistem blockchains: algoritma konsensus, finality, kontrak pinter sistem.
  • Biaya gaduh sistem, sumber daya anu dikonsumsi sareng genah pikeun dianggo konstan. Faktor ieu nyayogikeun tés kualitas luhur pikeun proyék pikeun sakedik artos.
  • Kalenturan sareng kesederhanaan konfigurasi tés. Faktor ieu ngaronjatkeun kasempetan pikeun ngaidentipikasi masalah sistem - aya kirang kasempetan leungit hal penting.
  • Kustomisasi pikeun jenis husus tina blockchains. Ngembangkeun solusi dumasar kana anu tos aya tiasa ningkatkeun kualitas sareng ngirangan biaya waktos.
  • Genah sareng aksés kana hasil anu dicandak sareng jinisna (laporan, métrik, grafik, log, jsb.). Ieu leres pisan upami anjeun hoyong ngalacak sajarah pangembangan produk, atanapi upami anjeun peryogi analitik anu jero ngeunaan paripolah jaringan blockchain.

Wilujeng tes anjeun sareng mugia blockchain anjeun gancang sareng toleran kana kasalahan!

sumber: www.habr.com

Tambahkeun komentar