Blokcheyn sinovlari va taqqoslash vositalarining qisqacha sharhi

Blokcheyn sinovlari va taqqoslash vositalarining qisqacha sharhi

Bugungi kunda blokcheynlarni sinash va taqqoslash uchun echimlar ma'lum bir blokcheyn yoki uning vilkalariga moslashtirilgan. Ammo funksionalligi jihatidan farq qiluvchi yana bir nechta umumiy echimlar mavjud: ularning ba'zilari ochiq kodli loyihalar, boshqalari SaaS sifatida taqdim etiladi, ammo aksariyati blokcheyn ishlab chiqish jamoasi tomonidan yaratilgan ichki echimlardir. Biroq, ularning barchasi o'xshash muammolarni hal qiladi. Ushbu maqolada men blokcheynlarni sinash uchun mo'ljallangan bir nechta mahsulotlarni qisqacha ko'rib chiqishga harakat qildim.

Blokcheyn tarmog'ining ishlashi taqsimlangan ma'lumotlar bazasining ishlashiga o'xshaydi, shuning uchun sinov uchun shunga o'xshash vositalar va usullardan foydalanish mumkin. Tarqalgan ma'lumotlar bazalari qanday sinovdan o'tkazilishini yaxshiroq tushunish uchun resurslar va maqolalarning yaxshi tanlovini ko'rib chiqing shu yerda. Masalan, kechikish bunda qismlarga ajratiladi maqola, va replikatsiya algoritmlarida xatoliklarni qanday izlashlarini tushunish uchun men buni o'qishni tavsiya qilaman maqola.

Men blokcheynlarni sinash va taqqoslash uchun bir nechta mashhur echimlarni tasvirlab beraman. Izohlarda xuddi shu muammolarni hal qilish uchun boshqa foydali dasturiy mahsulotlarni tasvirlab bersangiz, xursand bo'laman.

Blokcheyn sinovlari va taqqoslash vositalarining qisqacha sharhi

Men blokcheynlar uchun maxsus yaratilmagan bo'lsa-da, siz tajriba qilishingiz mumkin bo'lgan allaqachon ishlayotgan tarmoq mavjud bo'lsa, ularning ishlashini samarali sinab ko'rish imkonini beradigan vositadan boshlayman. Tarqalgan tizimning ishonchliligining eng muhim omili serverlar va tarmoq bilan bog'liq muammolar yuzaga kelganda ishlashni davom ettirish qobiliyatidir. Bu tarmoqdagi kechikishlar, diskning to'liqligi, tashqi xizmatlarning (DNS) mavjud emasligi, apparatdagi nosozliklar va boshqa yuzlab sabablar bo'lishi mumkin. Ko'p sonli tizimli mashinalarda birgalikda ishlaydigan har qanday tizimning barqarorligini tekshirish uchun siz foydalanishingiz mumkin Gremlin. U Chaos Engineering deb nomlangan juda samarali yondashuvdan foydalanadi.

Gremlin o'zining tarmoq agentidan foydalanib, kerakli miqdordagi mashinalarda juda ko'p turli xil muammolarni yaratadi: tarmoq kechikishi, har qanday resursning (CPU, disk, xotira, tarmoq) ortiqcha yuklanishi, individual protokollarni o'chirib qo'yadi va hokazo. Blokcheynlar uchun Gremlin testnet serverlarida, real hayotdagi muammolarni taqlid qilish va tarmoq xatti-harakatlarini kuzatish uchun ishlatilishi mumkin. Uning yordamida ishlab chiquvchilar va ma'murlar nazorat ostidagi muhitda tizim ishlamay qolsa yoki kod yangilanganda nima bo'lishini kuzatishi mumkin. Bunday holda, tarmoqni oldindan sozlash va joylashtirish, shuningdek, kerakli ko'rsatkichlarni to'plash uchun sozlash kerak.

Gremlin - bu arxitektorlar, devoplar va xavfsizlik bo'yicha mutaxassislar uchun qulay vosita va har qanday tayyor va ishlaydigan taqsimlangan tizimlarni, shu jumladan blokcheynlarni sinash uchun universal yechim.

Blokcheyn sinovlari va taqqoslash vositalarining qisqacha sharhi

Hyperledger Caliper ancha ixtisoslashgan yechimdir Hyperledger kaliper. Ayni paytda Caliper bir vaqtning o'zida bir nechta blokcheynlarni qo'llab-quvvatlaydi - Hyperledger oilasi vakillari (Fabric, Sawtooth, Iroha, Burrow, Besu), shuningdek Ethereum va FISCO BCOS tarmog'i.

Caliper-dan foydalanib, siz blokcheyn tarmog'ining topologiyasini va sinov uchun shartnomalarni o'rnatishingiz, shuningdek tugun konfiguratsiyasini tavsiflashingiz mumkin. Blokcheyn tugunlari bitta mashinada docker konteynerlarida ko'tariladi. Keyinchalik, kerakli narsani tanlashingiz mumkin sinov konfiguratsiyalari va ishga tushirilgandan so'ng test natijalari to'g'risida hisobot bilan faylni oling. Kaliper ko'rsatkichlari va taqqoslash yondashuvlarining to'liq ro'yxatini bu erda topishingiz mumkin Hyperledger Blockchain ishlash ko'rsatkichlari, agar siz blokcheyn benchmarking mavzusiga qiziqsangiz, bu ajoyib maqola. Shuningdek, ko'rsatkichlar to'plamini alohida Prometey/Grafana da o'rnatishingiz mumkin.

Hyperledger Caliper - bu ishlab chiquvchilar va tizim arxitektorlari uchun mo'ljallangan vosita, chunki u testlarni takrorlash va sinov va taqqoslashni avtomatlashtirishni ta'minlaydi. U blokcheynlarning yadrosini ishlab chiqishda qo'llaniladi: konsensus algoritmlari, aqlli shartnomalarni qayta ishlash uchun virtual mashina, tengdosh-to-peer qatlami va boshqa tizim mexanizmlari.

Blokcheyn sinovlari va taqqoslash vositalarining qisqacha sharhi

MixBytes tanki EOS-ga asoslangan tarmoqlar uchun konsensus va yakuniy algoritmlarni ishlab chiqish va Parity Substrate (Polkadot) asosida parachainlarni sinab ko'rish jarayonida paydo bo'lgan vositadir. Funktsionallik nuqtai nazaridan u Hyperledger Caliper-ga yaqin, chunki u har qanday taqsimlangan tizim tugunlaridan va test skriptlari ishlayotgan mijoz mashinalaridan muhim ko'rsatkichlarni to'plash imkonini beradi.

MixBytes Tank bir nechta bulut xizmatlaridan (Digital Ocean, Google Cloud Engine va boshqalar) foydalanadi, ularda u ko'plab tugunlarni ishga tushirishi, dastlabki konfiguratsiya protseduralarini bajarishi, turli xil mashinalarda parallel ravishda bir nechta benchmarklarni bajarishi, kerakli ko'rsatkichlarni to'plashi va avtomatik ravishda o'chirishi mumkin. tarmoq.

MixBytes Tank sinovdan so'ng avtomatik ravishda keraksiz resurslarni minimallashtirish orqali bulutli serverlarda pul tejash imkonini beradi. Yana bir o'ziga xos xususiyat Molecule to'plamidan foydalanish bo'lib, u ishlab chiquvchiga kerakli blokcheynni mahalliy darajada joylashtirishni sinab ko'rish imkonini beradi.

MixBytes Tank ko'p sonli jug'rofiy taqsimlangan serverlar va mijozlarga ega bo'lgan haqiqiy tarmoqlarda paydo bo'ladigan algoritmlardagi qiyinchiliklar va xatolarni erta aniqlash imkonini beradi. Agar kerak bo'lsa, mijozlar juda takrorlanadigan sharoitlarda va turli qit'alarda tarqalgan tugunlarning haqiqiy soni bilan ma'lum tps bilan tranzaktsiyalarni jo'natishsa, tank tugunlarda nima sodir bo'lishini tushunishga yordam beradi.

Blokcheyn sinovlari va taqqoslash vositalarining qisqacha sharhi

Whiteblock Genesis - bu Ethereum-ga asoslangan blokcheynlar uchun sinov platformasi. Ushbu vosita juda keng funksionallikka ega: u tarmoqni ishga tushirish, unda kerakli miqdordagi hisoblarni yaratish, kerakli mijozlar sonini ko'paytirish, tarmoq topologiyasini sozlash, tarmoqli kengligi va paketlarni yo'qotish parametrlarini belgilash va sinovni o'tkazish imkonini beradi.

Whiteblock Genesis o'zining sinov vositalarini taqdim etadi. Ishlab chiquvchilar faqat sinov parametrlarini belgilashlari, ularni tayyor API yordamida ishga tushirishlari va qulay boshqaruv paneli yordamida natijalarni olishlari kerak.

Whiteblock Genesis sizga platforma har bir muhim kod o'zgarishi uchun avtomatik ravishda o'tkazadigan juda batafsil testni sozlash imkonini beradi. Bu sizga xatolarni dastlabki bosqichda aniqlash va o'zgarishlarning tranzaksiya tezligi va tugunlar tomonidan iste'mol qilinadigan resurslar kabi muhim tarmoq parametrlariga ta'sirini darhol baholash imkonini beradi.

Madt

Taqsimlangan tizimlarni sinab ko'rish uchun yana bir qiziqarli yosh mahsulot aqldan ozgan. U Python-da yozilgan va oddiy konfiguratsiya skriptidan foydalangan holda kerakli tarmoq topologiyasini va kerakli miqdordagi serverlar va mijozlarni yaratishga imkon beradi (misol). Shundan so'ng, xizmat tarmoqni bir nechta Docker konteynerlarida joylashtiradi va tarmoq serverlari va mijozlaridan xabarlarni kuzatishingiz mumkin bo'lgan veb-interfeysni ochadi. Madt-dan blokcheynlarni sinab ko'rish uchun foydalanish mumkin - loyiha omborida Kademlia protokoli asosida p2p tarmoq testi mavjud bo'lib, unda ma'lumotlarni tugunlarga etkazib berishdagi kechikishlar asta-sekin oshiriladi va ushbu ma'lumotlarning holati tekshiriladi.

Madt yaqinda paydo bo'ldi, lekin uning juda moslashuvchan arxitekturasini hisobga olgan holda, u funktsional mahsulotga aylanishi mumkin.

Boshqa echimlar

Blokcheynlarning tizim qismini deyarli har qanday sinovdan o'tkazish uchun dastlabki skriptlarni ishga tushirish, hisoblar va sinov shartlarini tayyorlash kerak (bu ko'p sonli zanjir vilkalarini yaratishi mumkin bo'lgan konsensus xatolarini sinab ko'rish, qattiq vilkalar stsenariylarini sinab ko'rish, tizim parametrlarini o'zgartirish va h.k.). Bu barcha manipulyatsiyalar turli xil blokcheynlarda har xil tarzda amalga oshiriladi, shuning uchun jamoalar asta-sekin mahsulotni sinovdan o'tkazish va taqqoslashni ichki CI/CDga moslashtirishi va o'zlarining ishlanmalaridan foydalanishlari osonroq bo'ladi, ular blokcheynning funksionalligi rivojlanishi bilan asta-sekin murakkablashadi.

Shunga qaramay, tayyor echimlardan foydalanish ushbu jamoalar uchun sinov vaqtini sezilarli darajada qisqartirishi mumkin, shuning uchun men ushbu dasturiy ta'minot kelgusi yillarda faol ravishda ishlab chiqiladi deb o'ylayman.

xulosa

Ushbu qisqacha sharhni yakunlash uchun men blockchain sinov vositalarining bir nechta muhim xususiyatlarini sanab o'taman:

  • Takrorlanadigan sharoitlarda blokcheyn tarmog'ini avtomatik ravishda joylashtirish imkoniyati. Bu omil blokcheynlarning tizim qismlarini ishlab chiqishda muhim ahamiyatga ega: konsensus algoritmlari, yakuniylik, tizimli aqlli shartnomalar.
  • Tizimga egalik qilish narxi, iste'mol qilinadigan resurslar va doimiy foydalanish uchun qulaylik. Ushbu omil loyihani kam pul evaziga yuqori sifatli testlar bilan ta'minlaydi.
  • Sinov konfiguratsiyasining moslashuvchanligi va soddaligi. Bu omil tizim muammolarini aniqlash imkoniyatini oshiradi - muhim narsani o'tkazib yuborish ehtimoli kamroq.
  • Muayyan turdagi blokcheynlar uchun moslashtirish. Mavjudga asoslangan yechimni ishlab chiqish sifatni sezilarli darajada yaxshilaydi va vaqt xarajatlarini kamaytiradi.
  • Olingan natijalar va ularning turlari (hisobotlar, ko'rsatkichlar, grafiklar, jurnallar va boshqalar) qulayligi va foydalanish imkoniyati. Agar siz mahsulotning rivojlanish tarixini kuzatmoqchi bo'lsangiz yoki blokcheyn tarmog'ining xatti-harakatlarini chuqur tahlil qilishni talab qilsangiz, bu juda zarur.

Sinovingizga omad tilaymiz va blokcheynlaringiz tez va xatolarga chidamli bo'lsin!

Manba: www.habr.com

a Izoh qo'shish