E kuerzen Iwwerbléck iwwer Blockchain Testen a Benchmarking Tools

E kuerzen Iwwerbléck iwwer Blockchain Testen a Benchmarking Tools

Haut gi Léisunge fir Testen a Benchmarking Blockchainen op eng spezifesch Blockchain oder seng Gabel ugepasst. Awer et ginn och e puer méi allgemeng Léisungen déi an der Funktionalitéit ënnerscheeden: e puer vun hinnen sinn Open Source Projeten, anerer ginn als SaaS geliwwert, awer déi meescht sinn intern Léisungen erstallt vum Blockchain Entwécklungsteam. Allerdéngs léisen se all ähnlech Problemer. An dësem Artikel hunn ech probéiert e puer Produkter kuerz ze iwwerpréiwen, déi speziell fir d'Test vu Blockchainen entwéckelt goufen.

D'Operatioun vun engem Blockchain Netzwierk ähnelt d'Operatioun vun enger verdeeler Datebank, sou datt ähnlech Tools a Methoden fir Tester benotzt kënne ginn. Fir besser ze verstoen wéi verdeelt Datenbanken getest ginn, kuckt op eng gutt Auswiel u Ressourcen an Artikelen vun hei. Zum Beispill, Latenz gëtt an Stécker an dësem zortéiert Artikel, a fir ze verstoen wéi se no Bugs an Replikatiouns Algorithmen kucken, ech recommandéieren dëst ze liesen Artikelen.

Ech wäert e puer populär Léisunge beschreiwen fir Blockchainen ze testen an ze benchmarken. Ech wier frou wann Dir an de Kommentaren aner nëtzlech Softwareprodukter beschreift fir déiselwecht Probleemer ze léisen.

E kuerzen Iwwerbléck iwwer Blockchain Testen a Benchmarking Tools

Ech fänke mat engem Tool un, deen, obwuel net speziell fir Blockchainen erstallt ass, Iech erlaabt hir Operatioun effektiv ze testen, virausgesat datt et e scho leeft Netzwierk ass, op deem Dir experimentéiere kënnt. De wichtegste Faktor bei der Zouverlässegkeet vun engem verdeelte System ass d'Fäegkeet fir weider ze schaffen am Fall vu Probleemer mat de Serveren an dem Netzwierk. Dëst kéint Reseau lags ginn, Scheif voll, Unavailability vun externen Servicer (DNS), Hardware Feeler an honnerte vun anere Grënn. Fir d'Stabilitéit vun all Systemer ze kontrolléieren, déi am Concert op enger grousser Zuel vu Systemmaschinnen funktionnéieren, kënnt Dir benotzen Gremlin. Et benotzt eng extrem effektiv Approche genannt Chaos Engineering.

Mat hiren eegene Reseau Agent schaaft Gremlin vill verschidden Zorte vu Problemer op déi néideg Zuel vun Maschinnen: Reseau lags, Iwwerlaascht vun all Ressource (CPU, Scheif, Erënnerung, Reseau), deaktivéiert individuell Protokoller, etc. Fir Blockchainen kann Gremlin op Testnet-Server benotzt ginn, real-Liewensproblemer emuléieren an d'Behuele vum Netz beobachten. Mat et kënnen d'Entwéckler an d'Administrateuren an engem kontrolléierten Ëmfeld observéieren wat geschitt wann de System crasht oder wann de Code aktualiséiert gëtt. An dësem Fall muss d'Netzwierk am Viraus konfiguréiert an ofgesat ginn, souwéi konfiguréiert fir déi néideg Metriken ze sammelen.

Gremlin ass e praktescht Tool fir Architekten, Devops a Sécherheetsspezialisten an eng universell Léisung fir all fäerdeg a lafend verdeelt Systemer ze testen, dorënner Blockchains.

E kuerzen Iwwerbléck iwwer Blockchain Testen a Benchmarking Tools

Hyperledger Caliper ass eng vill méi spezialiséiert Léisung Hyperledger Caliper. Am Moment ënnerstëtzt Caliper verschidde Blockchainen gläichzäiteg - Vertrieder vun der Hyperledger Famill (Stoff, Sawtooth, Iroha, Burrow, Besu), souwéi Ethereum an dem FISCO BCOS Netz.

Mat Hëllef vu Caliper kënnt Dir d'Topologie vum Blockchain-Netzwierk a Kontrakter fir Tester setzen, wéi och d'Konfiguratioun vum Node beschreiwen. Blockchain Node ginn an Docker Container op enger Maschinn opgewuess. Als nächst kënnt Dir déi néideg wielen Test Konfiguratiounen a kritt e Fichier mat engem Bericht iwwer d'Testresultater nom Start. Eng komplett Lëscht vu Caliper Metriken a Benchmarking Approche kann hei fonnt ginn Hyperledger Blockchain Performance Metriken, Dëst ass e super Artikel wann Dir un d'Thema Blockchain Benchmarking interesséiert sidd. Dir kënnt och Metrikensammlung an enger separater Prometheus/Grafana opsetzen.

Hyperledger Caliper ass en Tool fir Entwéckler a Systemarchitekten, well et Testwidderholbarkeet an Automatisatioun vun Testen a Benchmarking ubitt. Et gëtt an der Entwécklung vum Kär vu Blockchaine benotzt: Konsens Algorithmen, eng virtuell Maschinn fir Smart Kontrakter ze veraarbecht, eng Peer-to-Peer Schicht an aner Systemmechanismen.

E kuerzen Iwwerbléck iwwer Blockchain Testen a Benchmarking Tools

MixBytes Tank ass en Tool dat am Prozess entstanen ass fir Konsens- a Finalitéit Algorithmen fir EOS-baséiert Netzwierker z'entwéckelen an Parachainen ze testen baséiert op Parity Substrate (Polkadot). Wat d'Funktionalitéit ugeet, ass et no Hyperledger Caliper, well et Iech erlaabt wichteg Metriken aus Noden vun all verdeelt System a Client Maschinnen ze sammelen, op deenen Test Scripte lafen.

MixBytes Tank benotzt verschidde Cloud Servicer (Digital Ocean, Google Cloud Engine, asw.), an deenen et vill Noden lancéiere kann, virleefeg Konfiguratiounsprozeduren ausféieren, verschidde Benchmarks parallel op verschiddene Maschinnen ausféieren, déi néideg Metriken sammelen an automatesch ausschalten. Reseau.

MixBytes Tank erlaabt Iech Suen op Cloud Serveren ze spueren andeems Dir onnéideg Ressourcen no engem Test automatesch miniméiert. Eng aner charakteristesch Feature ass d'Benotzung vum Molecule Package, wat den Entwéckler erlaabt d'Deployment vun der gewënschter Blockchain lokal ze testen.

MixBytes Tank erlaabt Iech Fläschenhals a Feeler an Algorithmen fréi z'entdecken, déi an echte Netzwierker mat enger grousser Zuel vu geographesch verdeelt Serveren a Clienten entstinn. Den Tank hëlleft Iech ze verstoen wat op den Wirbelen geschitt wann d'Clientë Transaktioune mat enger bestëmmter tps an héich widderhuelbare Konditiounen schécken a mat enger reeller Zuel vu Wirbelen iwwer verschidde Kontinenter verbreet, wann néideg.

E kuerzen Iwwerbléck iwwer Blockchain Testen a Benchmarking Tools

Whiteblock Genesis ass eng Testplattform fir Ethereum-baséiert Blockchainen. Dëst Tool huet zimmlech breet Funktionalitéit: et erlaabt Iech e Netzwierk ze lancéieren, déi erfuerderlech Unzuel u Konten dran erstellen, déi erfuerderlech Zuel vu Clienten erhéijen, d'Netzwierktopologie konfiguréieren, d'Bandbreedung an d'Packetlossparameter spezifizéieren an en Test ausféieren.

Whiteblock Genesis bitt seng eege Testanlagen. D'Entwéckler brauche just Testparameter ze spezifizéieren, se mat enger fäerdeger API auszeféieren, a Resultater mat engem prakteschen Dashboard ze kréien.

Whiteblock Genesis erlaabt Iech e zimlech detailléierte Test ze konfiguréieren deen d'Plattform automatesch fir all bedeitend Code änneren. Dëst erlaabt Iech Feeler op eng fréi Etapp ze fangen an direkt den Impakt vun Ännerungen op wichteg Netzwierkparameter beurteelen, wéi Transaktiounsgeschwindegkeet a Ressourcen, déi vun Noden verbraucht ginn.

Madt

En anert interessant jonkt Produkt fir verdeelt Systemer ze testen ass madt. Et ass am Python geschriwwen an erlaabt Iech déi erfuerderlech Netzwierktopologie an déi erfuerderlech Zuel vu Serveren a Clienten mat engem einfachen Konfiguratiounsskript ze kreéieren (Beispill). Duerno deployéiert de Service d'Netzwierk a verschiddenen Docker Container an mécht eng Webinterface op, an där Dir Messagen vu Serveren a Cliente vum Netz beobachte kënnt. Madt ka benotzt ginn fir Blockchains ze testen - de Projet Repository huet e p2p Netzwierk Test baséiert op dem Kademlia Protokoll, an deem Verspéidungen bei der Liwwerung vun Daten un Noden graduell eropgesat ginn an de Status vun dësen Donnéeën iwwerpréift gëtt.

Madt ass eréischt viru kuerzem opgetaucht, awer wéinst senger ganz flexibeler Architektur kann et zu engem funktionnelle Produkt entwéckelen.

Aner Léisungen

Bal all Tester vum System Deel vu Blockchains erfuerdert virleefeg Scripte lafen, Konten a Konditioune fir den Test virbereeden (dëst kann Konsensfehler testen, déi vill Kettengaffelen generéiere kënnen, Hardfork Szenarie testen, Systemparameter änneren, etc.). All dës Manipulatioune ginn anescht a verschiddene Blockchainen duerchgefouert, sou datt et méi einfach ass fir Teams d'Produkttester a Benchmarking graduell un intern CI / CD unzepassen an hir eegen Entwécklungen ze benotzen, déi no an no méi komplex ginn wéi d'Funktionalitéit vum Blockchain sech entwéckelt.

Trotzdem kann d'Benotzung vu fäerdege Léisungen d'Testzäit fir dës Teams staark reduzéieren, also denken ech datt dës Software an de kommende Joeren aktiv entwéckelt gëtt.

Konklusioun

Fir dës kuerz Iwwerpréiwung ofzeschléissen, wäert ech e puer wichteg Charakteristike vu Blockchain Testinstrumenter oplëschten:

  • D'Kapazitéit fir automatesch e Blockchain Netzwierk ënner widderholl Konditiounen z'installéieren. Dëse Faktor ass wichteg wann Dir Systemdeeler vu Blockchainen entwéckelt: Konsens Algorithmen, Finalitéit, System Smart Kontrakter.
  • D'Käschte fir de System ze besëtzen, d'Ressourcen verbraucht an d'Bequemlechkeet fir konstante Gebrauch. Dëse Faktor gëtt de Projet mat héichwäerteg Tester fir wéineg Suen.
  • Flexibilitéit an Einfachheet vun Test Configuratioun. Dëse Faktor erhéicht d'Chancen fir Systemproblemer z'identifizéieren - et gëtt manner Chance fir eppes Wichtegs ze verpassen.
  • Personnalisatioun fir spezifesch Aarte vu Blockchainen. Eng Léisung ze entwéckelen baséiert op enger existéierender kann d'Qualitéit staark verbesseren an d'Zäitkäschte reduzéieren.
  • Convenience an Accessibilitéit vun de Resultater kritt an hiren Typ (Rapporten, Metriken, Grafiken, Logbicher, etc.). Dëst ass absolut néideg wann Dir d'Geschicht vun der Entwécklung vun engem Produkt wëllt verfollegen, oder wann Dir déif Analyse vum Verhalen vum Blockchain Netzwierk erfuerdert.

Vill Gléck mat Ärem Test a vläicht Är Blockchaine séier a Feeler-tolerant sinn!

Source: will.com

Setzt e Commentaire