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
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.
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
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.
Hyperledger Caliper ass eng vill méi spezialiséiert Léisung
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
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.
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.
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 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