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
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.
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
Ö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.
Hyperledger Caliper daha ixtisaslaşmış bir həlldir
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
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.
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.
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
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