1"use strict";(globalThis.webpackChunkpublic_docs=globalThis.webpackChunkpublic_docs||[]).push([[4173],{28453(e,i,n){n.d(i,{R:()=>r,x:()=>l});var t=n(96540);const s={},o=t.createContext(s);function r(e){const i=t.useContext(o);return t.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(o.Provider,{value:i},e.children)}},59951(e,i,n){n.d(i,{A:()=>c});n(96540);const t="heroBanner_p5AC",s="overlay_Ob9f",o="content_XlV_",r="title_v07c",l="description_nfNL";var a=n(74848);function c({title:e,description:i,imagePath:n}){return(0,a.jsxs)("div",{className:t,style:{backgroundImage:`url(${n})`},children:[(0,a.jsx)("div",{className:s}),(0,a.jsxs)("div",{className:o,children:[(0,a.jsx)("h1",{className:r,children:e}),(0,a.jsx)("p",{className:l,children:i})]})]})}},92105(e,i,n){n.r(i),n.d(i,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>l,metadata:()=>t,toc:()=>d});const t=JSON.parse('{"id":"tooling/hive-auxiliary-helpers","title":"Hive Auxiliary Helpers","description":"<ToolHeroBanner","source":"@site/docs/tooling/hive-auxiliary-helpers.md","sourceDirName":"tooling","slug":"/tooling/hive-auxiliary-helpers","permalink":"/docs/tooling/hive-auxiliary-helpers","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":30,"frontMatter":{"sidebar_position":30,"title":"Hive Auxiliary Helpers","hide_title":true},"sidebar":"docs","previous":{"title":"Ethereum Genesis Generator","permalink":"/docs/tooling/genesis-generator"},"next":{"title":"Ethereum Package","permalink":"/docs/tooling/kurtosis"}}');var s=n(74848),o=n(28453),r=n(59951);const l={sidebar_position:30,title:"Hive Auxiliary Helpers",hide_title:!0},a=void 0,c={},d=[{value:"About Hive",id:"about-hive",level:2},{value:"Core Components",id:"core-components",level:2},{value:"Hive UI",id:"hive-ui",level:3},{value:"Hive GitHub Action",id:"hive-github-action",level:3},{value:"Hive Tests",id:"hive-tests",level:3},{value:"Use Cases",id:"use-cases",level:2}];function h(e){const i={a:"a",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components},{RelatedLinks:n}=i;return n||function(e,i){throw new Error("Expected "+(i?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("RelatedLinks",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.A,{title:"Hive Auxiliary Helpers",description:"Tools extending Ethereum's Hive testing framework with web UI, CI/CD automation, and test suites.",imagePath:"/img/tools/hive-auxiliary-tools.jpg"}),"\n",(0,s.jsx)(i.h2,{id:"about-hive",children:"About Hive"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.a,{href:"https://github.com/ethereum/hive",children:(0,s.jsx)(i.strong,{children:"Hive"})})," is an integration testing framework for validating Ethereum client implementations. It provides comprehensive protocol compliance testing across consensus mechanisms, P2P networking, RPC interfaces, and more."]}),"\n",(0,s.jsx)(i.p,{children:"The Hive Auxiliary Helpers are a collection of complementary tools maintained by ethPandaOps that significantly extend Hive's accessibility and operationalization."}),"\n",(0,s.jsx)(i.h2,{id:"core-components",children:"Core Components"}),"\n",(0,s.jsx)(i.h3,{id:"hive-ui",children:"Hive UI"}),"\n",(0,s.jsx)(n,{githubRepo:"ethpandaops/hive-ui"}),"\n",(0,s.jsxs)(i.p,{children:["A web-based visualization interface for browsing, analyzing, and comparing Hive test results. The dashboard at ",(0,s.jsx)(i.a,{href:"https://hive.ethpandaops.io",children:"hive.ethpandaops.io"})," provides an intuitive interface where developers can:"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"View test runs across multiple clients"}),"\n",(0,s.jsx)(i.li,{children:"Filter outcomes by client, test suite, and status"}),"\n",(0,s.jsx)(i.li,{children:"Examine detailed performance metrics"}),"\n",(0,s.jsx)(i.li,{children:"Compare client implementations side-by-side"}),"\n",(0,s.jsx)(i.li,{children:"Track historical test results"}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"hive-github-action",children:"Hive GitHub Action"}),"\n",(0,s.jsx)(n,{githubRepo:"ethpandaops/hive-github-action"}),"\n",(0,s.jsx)(i.p,{children:"An automation wrapper that enables seamless integration of Hive tests into GitHub CI/CD workflows. Features include:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"Automatic Hive test execution on pull requests"}),"\n",(0,s.jsx)(i.li,{children:"Configurable test parameters and client selection"}),"\n",(0,s.jsx)(i.li,{children:"Cloud storage integration (S3) for results"}),"\n",(0,s.jsx)(i.li,{children:"Automatic web dashboard generation"}),"\n",(0,s.jsx)(i.li,{children:"Support for both GitHub-hosted and self-hosted runners"}),"\n",(0,s.jsx)(i.li,{children:"Easy-to-use GitHub Actions YAML configuration"}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"hive-tests",children:"Hive Tests"}),"\n",(0,s.jsx)(n,{githubRepo:"ethpandaops/hive-tests"}),"\n",(0,s.jsx)(i.p,{children:"A repository containing automated testing workflows for Ethereum clients. The tests are run on a regular basis and the results are aggregated on the public dashboard. Some of the benefits are:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"Automated testing workflows for 8+ Ethereum clients"}),"\n",(0,s.jsx)(i.li,{children:"Scheduled and on-demand test execution"}),"\n",(0,s.jsx)(i.li,{children:"CI/CD pipelines for continuous validation"}),"\n",(0,s.jsx)(i.li,{children:"Results aggregation on the public dashboard"}),"\n",(0,s.jsx)(i.li,{children:"Custom test suite configurations"}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"use-cases",children:"Use Cases"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Client Implementation Validation"}),": Test new Ethereum client implementations for protocol compliance before production deployment."]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Protocol Compliance Verification"}),": Verify that clients correctly implement Ethereum protocol specifications and EIPs."]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Hardfork Testing"}),": Validate client behavior during protocol upgrades and network hardforks."]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"CI/CD Integration"}),": Automatically test Ethereum clients as part of development workflows with every pull request."]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Multi-Client Compatibility"}),": Compare behavior across different client implementations to identify inconsistencies."]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Bug Detection"}),": Discover and diagnose bugs in production Ethereum clients through comprehensive testing."]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Quality Assurance"}
1),": Hive has proven its value by detecting bugs in major Ethereum implementations, making it an essential tool for the ecosystem's security and reliability."]}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:i}={...(0,o.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.