Infrastruktura blockchain

Mjölnir: Narzędzie do benchmarkingu klientów Ethereum

Budowanie narzędzi DevOps umożliwiających szybkie wdrażanie i stress-testowanie klastrów Ethereum Proof of Authority na wielu klientach dla Brave.

EthereumBlockchainDevOpsGo
Brave
3 Obsługiwane klienty Ethereum
15min Czas wdrożenia klastra
25K+ Transakcji na test
OSS Open Source
  |"  \    /"  |     |"  |  /    " \  |"  |    (\"   \|"  \  |" \    /"      \
  \   \  //   |     ||  | // ____  \ ||  |    |.\\   \    | ||  |  |:        |
  /\\  \/.    |     |:  |/  /    ) :)|:  |    |: \.   \\  | |:  |  |_____/   )
  |: \.        |  ___|  /(: (____/ //  \  |___ |.  \    \. | |.  |   //      /
  |.  \    /:  | /  :|_/ )\        /  ( \_|:  \|    \    \ | /\  |\ |:  __   \
  |___|\__/|___|(_______/  \"_____/    \_______)\___|\_____\)(__\_|_)|__|  \___)

                            M J Ö L N I R
                        ...the hammer of Thor.

Wyzwanie

Brave potrzebował narzędzi DevOps do szybkiego wdrażania klastrów Ethereum Proof of Authority (PoA) na różnych klientach Ethereum do benchmarkingu. Celem było testowanie przepustowości i wydajności w różnych warunkach sieciowych.

Żadne istniejące narzędzie nie spełniało tego wymagania-możliwości szybkiego stawiania klastrów, testowania wielu klientów Ethereum i symulowania niekorzystnych warunków sieciowych jak przesunięcie zegara, porzucone pakiety TCP i jitter.

Ta próżnia dała narodziny Mjölnir-narzędziu do szybkiego wdrażania i testowania klientów Ethereum, nazwanego na cześć młota Thora za jego moc do uderzania i testowania infrastruktury blockchain.

Obsługiwane klienty Ethereum

Mjölnir umożliwia benchmarking na wielu implementacjach enterprise Ethereum, każda z unikalnym mechanizmem konsensusu.

Quorum

Enterprise Ethereum JP Morgan

Pantheon

Obecnie Hyperledger Besu

Parity

Wersja Honey Badger / POSDAO

Co zbudowaliśmy

Kompleksowy zestaw narzędzi DevOps umożliwiający wdrożenie i benchmarking klastrów Ethereum jednym poleceniem.

Rozwój Mjölnir Core

  • Niestandardowe narzędzie CLI zbudowane w Go do szybkiego wdrażania
  • Wsparcie wielu klientów (Quorum, Pantheon/Besu, Parity)
  • Orkiestracja klastrów Proof of Authority (PoA)
  • Automatyczne provisionowanie infrastruktury
  • Przepływ wdrożenia jednym poleceniem

Automatyzacja infrastruktury AWS

  • Infrastruktura jako kod oparta na Terraform
  • Integracja EC2, IAM, S3, CloudWatch
  • Architektura bastion host dla bezpiecznego dostępu
  • Auto-skalowanie wdrożenia klastra
  • ~15 minut wdrożenia dla 4-węzłowych klastrów

Benchmarking i stress testing

  • Integracja Chainhammer do wysyłania transakcji
  • Pomiar przepustowości na różnych klientach
  • Symulacja niekorzystnych warunków sieciowych
  • Testowanie przesunięcia zegara, porzucania pakietów, jittera
  • Automatyczne zbieranie i raportowanie wyników

Monitoring i obserwowalność

  • Dashboardy Grafana do wizualizacji klastra
  • Zbieranie metryk Prometheus
  • eth-stats do monitorowania sieci
  • Agregacja logów CloudWatch
  • Wgląd w wydajność w czasie rzeczywistym

Stos technologiczny

Go
>= 1.12.7

Language

Terraform
>= 0.12.5

IaC

Docker
>= 19.03.1

Containers

AWS
EC2, IAM, S3

Cloud

Szybki start

# Buduj, wdrażaj i testuj jednym poleceniem

$ make quorum-hammer

# ~20 minut później, wyniki w folderze ./results

Kluczowe funkcje

Szybkie wdrożenie

Wdróż pełny 4-węzłowy klaster PoA w ~15 minut jednym poleceniem. Infrastruktura jako kod zapewnia powtarzalne środowiska.

Testowanie niekorzystnych warunków sieci

Symuluj rzeczywiste warunki sieciowe: przesunięcie zegara, porzucone pakiety TCP, jitter-testuj jak klienty zachowują się pod obciążeniem.

Wsparcie wielu klientów

Porównuj przepustowość Quorum, Pantheon (Besu) i Parity. Te same warunki testowe, różne implementacje.

Zintegrowany monitoring

Dashboardy Grafana, metryki Prometheus, wizualizacja eth-stats-wszystko konfigurowane automatycznie z każdym wdrożeniem.

Rezultat

Mjölnir został wydany jako oprogramowanie open source, umożliwiając szerszej społeczności Ethereum benchmarkowanie i porównywanie implementacji klientów. Narzędzie wypełniło krytyczną lukę w ekosystemie dla standaryzowanych testów klientów.

"Chcielibyśmy podziękować binarapps za ich zdolność do zagłębienia się zarówno w infrastrukturę, jak i oprogramowanie i dostarczenie zgodnie z naszymi wymaganiami."

- Zespół Brave Experiments

Open Source

Wydane na GitHub

Benchmarking

Standaryzowane testy klientów

Production Ready

Sprawdzone w boju narzędzia

Słowa kluczowe: EthereumBlockchainDevOpsGoTerraformAWSDockerBenchmarkingOpen Source

Budujesz infrastrukturę blockchain?

Porozmawiajmy o tym, jak nasza ekspertyza blockchain i DevOps może przyspieszyć Twoje inicjatywy Web3.

Porozmawiajmy