Blockchain Testi və müqayisə alətlərinin qısa icmalı

Blockchain Testi və müqayisə alətlərinin qısa icmalı

Bu gün blokçeynləri sınaqdan keçirmək və müqayisə etmək üçün həllər müəyyən bir blokçeyn və ya onun çəngəllərinə uyğunlaşdırılmışdır. Lakin funksionallığı ilə fərqlənən bir neçə daha ümumi həllər də var: onlardan bəziləri açıq mənbəli layihələrdir, digərləri SaaS kimi təqdim olunur, lakin əksəriyyəti blokçeyn inkişaf komandası tərəfindən yaradılmış daxili həllərdir. Bununla belə, hamısı oxşar problemləri həll edir. Bu yazıda mən blokçeynləri sınamaq üçün xüsusi olaraq hazırlanmış bir neçə məhsulu qısaca nəzərdən keçirməyə çalışdım.

Blockchain şəbəkəsinin işləməsi paylanmış verilənlər bazasının işinə bənzəyir, buna görə də oxşar alətlər və üsullar sınaq üçün istifadə edilə bilər. Paylanmış verilənlər bazalarının necə sınaqdan keçirildiyini daha yaxşı başa düşmək üçün yaxşı resurs və məqalələr seçiminə nəzər salın buradan. Məsələn, gecikmə burada parçalara bölünür məqalə, və replikasiya alqoritmlərində səhvləri necə axtardıqlarını başa düşmək üçün bunu oxumağı məsləhət görürəm məqalə.

Blockchainlərin sınaqdan keçirilməsi və müqayisəsi üçün bir neçə məşhur həlli təsvir edəcəyəm. Şərhlərdə eyni problemləri həll etmək üçün digər faydalı proqram məhsullarını təsvir etsəniz, şad olaram.

Blockchain Testi və müqayisə alətlərinin qısa icmalı

Mən blokçeynlər üçün xüsusi olaraq yaradılmasa da, təcrübə edə biləcəyiniz artıq işləyən bir şəbəkənin olması şərti ilə onların işini effektiv şəkildə sınamağa imkan verən alətlə başlayacağam. Paylanmış sistemin etibarlılığının ən mühüm amili serverlər və şəbəkə ilə bağlı problemlər yarandıqda işi davam etdirmək qabiliyyətidir. Bu, şəbəkə gecikmələri, diskin dolması, xarici xidmətlərin (DNS) əlçatmazlığı, aparat arızaları və yüzlərlə başqa səbəb ola bilər. Çox sayda sistem maşınlarında birləşən hər hansı bir sistemin sabitliyini yoxlamaq üçün istifadə edə bilərsiniz Gremlin. Bu, Chaos Engineering adlı son dərəcə təsirli bir yanaşmadan istifadə edir.

Öz şəbəkə agentindən istifadə edərək Gremlin tələb olunan sayda maşında çoxlu müxtəlif növ problemlər yaradır: şəbəkənin gecikməsi, istənilən resursun (CPU, disk, yaddaş, şəbəkə) həddən artıq yüklənməsi, fərdi protokolları söndürür və s. Blokçeynlər üçün Gremlin real həyat problemlərini təqlid edərək və şəbəkənin davranışını müşahidə edərək testnet serverlərində istifadə edilə bilər. Onunla tərtibatçılar və idarəçilər idarə olunan mühitdə sistem çökərsə və ya kod yeniləndikdə nə baş verəcəyini müşahidə edə bilərlər. Bu halda, şəbəkə əvvəlcədən konfiqurasiya edilməli və yerləşdirilməlidir, həmçinin lazımi ölçüləri toplamaq üçün konfiqurasiya edilməlidir.

Gremlin memarlar, inkişaf etdiricilər və təhlükəsizlik mütəxəssisləri üçün əlverişli vasitədir və blokçeynlər də daxil olmaqla istənilən hazır və işləyən paylanmış sistemləri sınamaq üçün universal həlldir.

Blockchain Testi və müqayisə alətlərinin qısa icmalı

Hyperledger Caliper daha ixtisaslaşmış bir həlldir Hyperledger Caliper. Hazırda Caliper eyni anda bir neçə blokçeynləri dəstəkləyir - Hyperledger ailəsinin nümayəndələri (Fabric, Sawtooth, Iroha, Burrow, Besu), həmçinin Ethereum və FISCO BCOS şəbəkəsi.

Caliper-dən istifadə edərək, blokçeyn şəbəkəsinin topologiyasını və sınaq üçün müqavilələri təyin edə, həmçinin qovşağın konfiqurasiyasını təsvir edə bilərsiniz. Blockchain qovşaqları bir maşında doker konteynerlərində qaldırılır. Sonra, lazım olanı seçə bilərsiniz test konfiqurasiyaları və işə salındıqdan sonra test nəticələrinə dair hesabatı olan bir fayl alın. Kaliper ölçülərinin və müqayisə yanaşmasının tam siyahısını burada tapa bilərsiniz Hyperledger Blockchain Performans Metrikləri, blokçeyn müqayisəsi mövzusu ilə maraqlanırsınızsa, bu əla məqalədir. Siz həmçinin ayrıca Prometheus/Grafana-da ölçülər kolleksiyasını qura bilərsiniz.

Hyperledger Caliper, testlərin təkrarlanmasını və sınaq və müqayisənin avtomatlaşdırılmasını təmin etdiyi üçün tərtibatçılara və sistem memarlarına yönəlmiş bir vasitədir. O, blokçeynlərin nüvəsinin inkişafında istifadə olunur: konsensus alqoritmləri, ağıllı müqavilələrin emalı üçün virtual maşın, həmyaşıd təbəqə və digər sistem mexanizmləri.

Blockchain Testi və müqayisə alətlərinin qısa icmalı

MixBytes Tankı EOS əsaslı şəbəkələr üçün konsensus və yekunluq alqoritmlərinin işlənib hazırlanması və Parity Substrate (Polkadot) əsasında parachainlərin sınaqdan keçirilməsi prosesində ortaya çıxan bir vasitədir. Funksionallıq baxımından o, Hyperledger Caliper-ə yaxındır, çünki o, istənilən paylanmış sistemin qovşaqlarından və test skriptlərinin işlədiyi müştəri maşınlarından vacib ölçüləri toplamağa imkan verir.

MixBytes Tank bir çox qovşaqları işə sala, ilkin konfiqurasiya prosedurlarını həyata keçirə, müxtəlif maşınlarda paralel olaraq bir neçə müqayisə apara, lazımi ölçüləri toplaya və avtomatik olaraq bağlana bilən bir neçə bulud xidmətindən istifadə edir (Digital Ocean, Google Cloud Engine və s.). şəbəkə.

MixBytes Tank, sınaqdan sonra avtomatik olaraq lazımsız resursları minimuma endirməklə bulud serverlərində pula qənaət etməyə imkan verir. Digər fərqləndirici xüsusiyyət Molecule paketinin istifadəsidir ki, bu da tərtibatçıya istənilən blokçeynin yerləşdirilməsini yerli olaraq sınaqdan keçirməyə imkan verir.

MixBytes Tankı çoxlu sayda coğrafi paylanmış server və müştəriləri olan real şəbəkələrdə yaranan darboğazları və alqoritmlərdəki səhvləri erkən aşkarlamağa imkan verir. Müştərilər yüksək təkrarlanan şəraitdə verilmiş tps ilə əməliyyatlar göndərsələr və lazım gələrsə, müxtəlif qitələrə yayılmış real sayda qovşaqlarla qovşaqlarda nə baş verəcəyini anlamağa tank kömək edəcək.

Blockchain Testi və müqayisə alətlərinin qısa icmalı

Whiteblock Genesis Ethereum əsaslı blokçeynlər üçün sınaq platformasıdır. Bu alət kifayət qədər geniş funksionallığa malikdir: o, şəbəkəni işə salmağa, orada lazımi sayda hesab yaratmağa, tələb olunan müştəri sayını artırmağa, şəbəkə topologiyasını konfiqurasiya etməyə, bant genişliyi və paket itirmə parametrlərini təyin etməyə və sınaq keçirməyə imkan verir.

Whiteblock Genesis öz sınaq imkanlarını təmin edir. Tərtibatçılar sadəcə olaraq test parametrlərini təyin etməli, onları hazır API-dən istifadə edərək işə salmalı və rahat tablosundan istifadə edərək nəticələr əldə etməlidirlər.

Whiteblock Genesis platformanın hər əhəmiyyətli kod dəyişikliyi üçün avtomatik olaraq aparacağı kifayət qədər ətraflı testi konfiqurasiya etməyə imkan verir. Bu, səhvləri ilkin mərhələdə tutmağa və dəyişikliklərin əməliyyat sürəti və qovşaqlar tərəfindən istehlak edilən resurslar kimi mühüm şəbəkə parametrlərinə təsirini dərhal qiymətləndirməyə imkan verəcək.

Madt

Paylanmış sistemləri sınaqdan keçirmək üçün başqa bir maraqlı gənc məhsuldur dəli. O, Python-da yazılmışdır və sadə konfiqurasiya skriptindən istifadə edərək tələb olunan şəbəkə topologiyasını və lazımi sayda server və müştərilər yaratmağa imkan verir (misal). Bundan sonra xidmət şəbəkəni bir neçə Docker konteynerində yerləşdirir və şəbəkənin serverlərindən və müştərilərindən mesajları müşahidə edə biləcəyiniz veb interfeysi açır. Madt blokçeynləri sınaqdan keçirmək üçün istifadə edilə bilər - layihə deposunda Kademlia protokoluna əsaslanan p2p şəbəkə testi var, burada məlumatların qovşaqlara çatdırılmasında gecikmələr tədricən artır və bu məlumatların vəziyyəti yoxlanılır.

Madt yalnız bu yaxınlarda ortaya çıxdı, lakin çox çevik arxitekturasını nəzərə alaraq, funksional bir məhsula çevrilə bilər.

Digər həllər

Blokçeynlərin sistem hissəsinin demək olar ki, hər hansı bir sınağı ilkin skriptlərin işlədilməsini, hesabların və sınaq üçün şərtlərin hazırlanmasını tələb edir (bu, çoxsaylı zəncir çəngəllərini yarada bilən konsensus səhvlərinin sınaqdan keçirilməsi, sərt çəngəl ssenarilərinin sınaqdan keçirilməsi, sistem parametrlərinin dəyişdirilməsi və s. ola bilər). Bütün bu manipulyasiyalar müxtəlif blokçeynlərdə fərqli şəkildə həyata keçirilir, buna görə də komandalar üçün məhsul sınağı və müqayisəni daxili CI/CD-yə tədricən uyğunlaşdırmaq və blokçeynin funksionallığı inkişaf etdikcə tədricən mürəkkəbləşən öz inkişaflarından istifadə etmək daha asandır.

Buna baxmayaraq, hazır həllərdən istifadə bu komandalar üçün sınaq müddətini xeyli azalda bilər, ona görə də düşünürəm ki, bu proqram təminatı yaxın illərdə aktiv şəkildə inkişaf etdiriləcək.

Nəticə

Bu qısa icmalı yekunlaşdırmaq üçün blockchain test alətlərinin bir neçə vacib xüsusiyyətlərini sadalayacağam:

  • Təkrarlanan şərtlər altında blokçeyn şəbəkəsini avtomatik yerləşdirmək imkanı. Bu amil blokçeynlərin sistem hissələrini inkişaf etdirərkən vacibdir: konsensus alqoritmləri, yekunluq, sistem smart müqavilələri.
  • Sistemə sahib olma dəyəri, istehlak olunan resurslar və daimi istifadə rahatlığı. Bu amil layihəni az pulla yüksək keyfiyyətli testlərlə təmin edir.
  • Test konfiqurasiyasının çevikliyi və sadəliyi. Bu amil sistem problemlərini müəyyən etmək şansını artırır - vacib bir şeyi əldən vermək şansı azdır.
  • Xüsusi növ blokçeynlər üçün fərdiləşdirmə. Mövcud bir həll əsasında həllin hazırlanması keyfiyyəti əhəmiyyətli dərəcədə yaxşılaşdıra və vaxt xərclərini azalda bilər.
  • Əldə edilmiş nəticələrin və onların növlərinin (hesabatlar, ölçülər, qrafiklər, jurnallar və s.) rahatlığı və əlçatanlığı. Əgər məhsulun inkişaf tarixini izləmək istəyirsinizsə və ya blockchain şəbəkəsinin davranışının dərin analitikasına ehtiyacınız varsa, bu, tamamilə zəruridir.

Testinizdə uğurlar və blokçeynləriniz sürətli və səhvlərə dözümlü olsun!

Mənbə: www.habr.com

Добавить комментарий