1<!DOCTYPE html><html data-vocs="true" lang="en" style="color-scheme:light dark;--vocs-color-accent:light-dark(#1f1f1f, #ffffff)"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/logo.png"/><link rel="preload" href="/assets/index-CSLjlPs0.css" as="stylesheet"/><link rel="preload" href="/assets/_root-ByERC5th.css" as="stylesheet"/><link rel="preload" href="/assets/vocs-group-icons-906af2cf08a8.css" as="stylesheet"/><link rel="modulepreload" href="/assets/client-BH6-1WZ7.js" crossorigin=""/><link rel="modulepreload" href="/assets/index-BnRnl01B.js" crossorigin=""/><link rel="modulepreload" href="/assets/Root.client-xZKzEEEx.js" crossorigin=""/><link rel="modulepreload" href="/assets/useConfig-B-y8enu-.js" crossorigin=""/><link rel="modulepreload" href="/assets/context-C4spomkL-Dxyarzl5.js" crossorigin=""/><link rel="modulepreload" href="/assets/Layout.client-CGfoUF7i.js" crossorigin=""/><link rel="modulepreload" href="/assets/MdxPageContext-xS6iNNOd.js" crossorigin=""/><link rel="modulepreload" href="/assets/Head-BrM_b7_z.js" crossorigin=""/><meta name="generator" content="Waku"/><meta name="httpstatus" content="200"/><meta property="article:modified_time" content="2026-10-02T09:22:52+02:00"/><meta name="color-scheme" content="light dark"/><meta name="robots" content="index, follow"/><title>Reth</title><meta name="description" content="Reth is a secure, performant, and modular Ethereum execution client built in Rust."/><link rel="icon" href="/logo.png" type="image/png"/><meta property="og:type" content="website"/><meta property="og:title" content="Reth"/><meta property="og:site_name" content="Reth"/><meta property="og:description" content="Reth is a secure, performant, and modular Ethereum execution client built in Rust."/><meta property="og:image" content="/reth-prod.png"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Reth"/><meta name="twitter:description" content="Reth is a secure, performant, and modular Ethereum execution client built in Rust."/><meta property="twitter:image" content="/reth-prod.png"/><link rel="stylesheet" href="/assets/index-CSLjlPs0.css"/><link rel="stylesheet" href="/assets/_root-ByERC5th.css"/><link rel="stylesheet" href="/assets/vocs-group-icons-906af2cf08a8.css"/>
1<script>(function(){try{var e=document.documentElement;var s=function(t){e.setAttribute('data-vocs-theme',t);e.style.colorScheme=t};var t=localStorage.getItem('vocs-theme');if(t==='light'||t==='dark'){s(t)}else if(window.matchMedia('(prefers-color-scheme:dark)').matches){s('dark')}else if(window.matchMedia('(prefers-color-scheme:light)').matches){s('light')}else{s('dark')}}catch(e){}})()</script>
1</head><body data-version="1.0">
1<script>(function(){try{var e=document.documentElement;var s=function(t){e.setAttribute('data-vocs-theme',t);e.style.colorScheme=t};var t=localStorage.getItem('vocs-theme');if(t==='light'||t==='dark'){s(t)}else if(window.matchMedia('(prefers-color-scheme:dark)').matches){s('dark')}else if(window.matchMedia('(prefers-color-scheme:light)').matches){s('light')}else{s('dark')}}catch(e){}})()</script>
1<div data-layout="full" data-v-sidebar="true" data-v-topnav="true"><a class="vocs:fixed vocs:top-3 vocs:left-3 vocs:z-50 vocs:px-4 vocs:py-2 vocs:text-accent8 vocs:text-sm vocs:font-medium vocs:bg-surface vocs:border-2 vocs:border-dashed vocs:border-accent8 vocs:rounded-lg vocs:outline-none vocs:opacity-0 vocs:pointer-events-none vocs:-translate-y-full vocs:focus:opacity-100 vocs:focus:pointer-events-auto vocs:focus:translate-y-0 vocs:transition-all vocs:duration-150" data-v-skip-to-content="true" href="#vocs-content">Skip to content</a><div class="vocs:flex vocs:max-lg:hidden vocs:justify-end vocs:fixed vocs:h-topNav vocs:w-logo vocs:min-w-fit vocs:max-lg:w-fit vocs:z-20" data-v-gutter-logo="true"><div class="vocs:w-sidebar vocs:px-sidebar-px vocs:py-3 vocs:min-w-fit" data-v-logo="true"><a class="vocs:flex vocs:h-full vocs:w-fit" href="/"><div class="vocs:flex vocs:items-center vocs:h-full" data-v-logo="true"><img alt="Logo" class="vocs:h-full vocs:max-h-7" data-v-logo-image="true" src="/logo.png"/></div></a></div></div><div class="vocs:bg-primary vocs:flex vocs:justify-end vocs:fixed vocs:w-gutter vocs:h-screen vocs:z-10 vocs:max-lg:hidden" data-v-gutter-left="true"><aside class="vocs:w-sidebar vocs:px-sidebar-px vocs:py-sidebar-py vocs:h-full vocs:flex vocs:flex-col vocs:justify-between vocs:overflow-y-auto" data-v-sidebar-container="true"><div class="vocs:bg-linear-to-t vocs:from-transparent vocs:to-dark vocs:min-h-4 vocs:top-0 vocs:w-full vocs:sticky" data-v-sidebar-curtain="true"></div><nav class="vocs:flex-1 vocs:flex vocs:flex-col vocs:text-sm vocs:font-[450] vocs:[&>*:not(:last-child)[data-collapsed='false']]:mb-4 vocs:pb-8 vocs:[&>*:first-child>[data-empty]]:h-0" data-v-sidebar="true"><section data-collapsed="false" data-v-sidebar-section="true"><div class="vocs:h-[2.5em] vocs:px-3 vocs:-mx-3 vocs:rounded-md vocs:flex vocs:items-center vocs:justify-between vocs:text-heading vocs:font-medium vocs:data-[collapsable=true]:cursor-pointer" data-condensed="false" data-collapsed="false" data-collapsable="false" data-v-sidebar-section-header="true"><span class="vocs:inline-flex vocs:items-center vocs:min-w-0"><span class="vocs:truncate">Introduction</span></span></div><div class="" data-v-sidebar-section-content="true"><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/overview"><span class="vocs:min-w-0 vocs:truncate">Overview</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/introduction/why-reth"><span class="vocs:min-w-0 vocs:truncate">Why Reth?</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" data-active="true" href="/introduction/contributing">
1<span class="vocs:min-w-0 vocs:truncate">Contributing</span></a></div></section><section data-collapsed="false" data-v-sidebar-section="true"><div class="vocs:h-[2.5em] vocs:px-3 vocs:-mx-3 vocs:rounded-md vocs:flex vocs:items-center vocs:justify-between vocs:text-heading vocs:font-medium vocs:data-[collapsable=true]:cursor-pointer" data-condensed="false" data-collapsed="false" data-collapsable="false" data-v-sidebar-section-header="true"><span class="vocs:inline-flex vocs:items-center vocs:min-w-0"><span class="vocs:truncate">Reth for Node Operators</span></span></div><div class="" data-v-sidebar-section-content="true"><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/run/system-requirements"><span class="vocs:min-w-0 vocs:truncate">System Requirements</span></a><section data-collapsed="true" data-v-sidebar-section="true"><div class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem] vocs:data-[collapsable=true]:hover:text-accent vocs:data-[collapsable=true]:hover:cursor-pointer" data-condensed="false" data-collapsed="true" data-collapsable="true" data-v-sidebar-section-header="true" role="button" tabindex="0"><span class="vocs:inline-flex vocs:items-center vocs:min-w-0"><span class="vocs:truncate">Installation</span></span><div class="vocs:text-secondary/80"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:data-collapsed:rotate-90 vocs:transition-transform vocs:duration-200 vocs:ease-in-out"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m9 18l6-6l-6-6"></path></svg></div></div></section><section data-collapsed="false" data-v-sidebar-section="true"><div class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem] vocs:data-[collapsable=true]:hover:text-accent vocs:data-[collapsable=true]:hover:cursor-pointer" data-condensed="false" data-collapsed="false" data-collapsable="false" data-v-sidebar-section-header="true"><span class="vocs:inline-flex vocs:items-center vocs:min-w-0"><span class="vocs:truncate">Running a Node</span></span></div><div class="vocs:pl-4 vocs:border-l vocs:border-primary" data-v-sidebar-section-content="true"><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/run/overview"><span class="vocs:min-w-0 vocs:truncate">Overview</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/installation/binaries#signature-verification">
1<span class="vocs:min-w-0 vocs:truncate">Signature Verification</span></a><section data-collapsed="false" data-v-sidebar-section="true"><div class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem] vocs:data-[collapsable=true]:hover:text-accent vocs:data-[collapsable=true]:hover:cursor-pointer" data-condensed="true" data-collapsed="false" data-collapsable="false" data-v-sidebar-section-header="true"><span class="vocs:inline-flex vocs:items-center vocs:min-w-0"><span class="vocs:truncate">Networks</span></span></div><div class="vocs:pl-4 vocs:border-l vocs:border-primary" data-v-sidebar-section-content="true"><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/run/ethereum"><span class="vocs:min-w-0 vocs:truncate">Ethereum</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/run/private-testnets"><span class="vocs:min-w-0 vocs:truncate">Private testnets</span></a></div></section><section data-collapsed="false" data-v-sidebar-section="true"><div class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem] vocs:data-[collapsable=true]:hover:text-accent vocs:data-[collapsable=true]:hover:cursor-pointer" data-condensed="true" data-collapsed="false" data-collapsable="false" data-v-sidebar-section-header="true"><span class="vocs:inline-flex vocs:items-center vocs:min-w-0"><span class="vocs:truncate">Storage</span></span></div><div class="vocs:pl-4 vocs:border-l vocs:border-primary" data-v-sidebar-section-content="true"><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/run/storage"><span class="vocs:min-w-0 vocs:truncate">Storage V2</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/run/storage/snapshots">
1<span class="vocs:min-w-0 vocs:truncate">Snapshots</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/run/storage/minimal"><span class="vocs:min-w-0 vocs:truncate">Minimal Storage Mode</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/run/storage/pruning"><span class="vocs:min-w-0 vocs:truncate">Pruning & Node Modes</span></a></div></section></div></section><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/run/configuration"><span class="vocs:min-w-0 vocs:truncate">Configuration</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/run/monitoring"><span class="vocs:min-w-0 vocs:truncate">Monitoring</span></a><section data-collapsed="true" data-v-sidebar-section="true"><div class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem] vocs:data-[collapsable=true]:hover:text-accent vocs:data-[collapsable=true]:hover:cursor-pointer" data-condensed="false" data-collapsed="true" data-collapsable="true" data-v-sidebar-section-header="true"><a class="vocs:flex-1 vocs:min-w-0 vocs:text-inherit vocs:hover:text-inherit" href="/run/faq"><span class="vocs:inline-flex vocs:items-center vocs:gap-1">FAQ</span></a><button aria-expanded="false" aria-label="Toggle FAQ section" class="vocs:ml-2 vocs:-mr-1 vocs:shrink-0 vocs:rounded-md vocs:p-1 vocs:text-secondary/80 vocs:hover:text-heading" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:data-collapsed:rotate-90 vocs:transition-transform vocs:duration-200 vocs:ease-in-out"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m9 18l6-6l-6-6"></path></svg></button></div></section></div></section><section data-collapsed="false" data-v-sidebar-section="true"><div class="vocs:h-[2.5em] vocs:px-3 vocs:-mx-3 vocs:rounded-md vocs:flex vocs:items-center vocs:justify-between vocs:text-heading vocs:font-medium vocs:data-[collapsable=true]:cursor-pointer" data-condensed="false" data-collapsed="false" data-collapsable="false" data-v-sidebar-section-header="true"><span class="vocs:inline-flex vocs:items-center vocs:min-w-0"><span class="vocs:truncate">Reth as a library</span></span></div><div class="" data-v-sidebar-section-content="true"><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/sdk">
1<span class="vocs:min-w-0 vocs:truncate">Overview</span></a><section data-collapsed="false" data-v-sidebar-section="true"><div class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem] vocs:data-[collapsable=true]:hover:text-accent vocs:data-[collapsable=true]:hover:cursor-pointer" data-condensed="false" data-collapsed="false" data-collapsable="false" data-v-sidebar-section-header="true"><span class="vocs:inline-flex vocs:items-center vocs:min-w-0"><span class="vocs:truncate">Typesystem</span></span></div><div class="vocs:pl-4 vocs:border-l vocs:border-primary" data-v-sidebar-section-content="true"><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/sdk/typesystem/block"><span class="vocs:min-w-0 vocs:truncate">Block</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/sdk/typesystem/transaction-types"><span class="vocs:min-w-0 vocs:truncate">Transaction types</span></a></div></section><section data-collapsed="false" data-v-sidebar-section="true"><div class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem] vocs:data-[collapsable=true]:hover:text-accent vocs:data-[collapsable=true]:hover:cursor-pointer" data-condensed="false" data-collapsed="false" data-collapsable="true" data-v-sidebar-section-header="true" role="button" tabindex="0"><span class="vocs:inline-flex vocs:items-center vocs:min-w-0"><span class="vocs:truncate">What is in a node?</span></span><div class="vocs:text-secondary/80"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:data-collapsed:rotate-90 vocs:transition-transform vocs:duration-200 vocs:ease-in-out" data-collapsed="false"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m9 18l6-6l-6-6"></path></svg></div></div><div class="vocs:pl-4 vocs:border-l vocs:border-primary" data-v-sidebar-section-content="true"><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/sdk/node-components/network">
1<span class="vocs:min-w-0 vocs:truncate">Network</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/sdk/node-components/pool"><span class="vocs:min-w-0 vocs:truncate">Pool</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/sdk/node-components/consensus"><span class="vocs:min-w-0 vocs:truncate">Consensus</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/sdk/node-components/evm"><span class="vocs:min-w-0 vocs:truncate">EVM</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/sdk/node-components/rpc"><span class="vocs:min-w-0 vocs:truncate">RPC</span></a></div></section></div></section><section data-collapsed="false" data-v-sidebar-section="true"><div class="vocs:h-[2.5em] vocs:px-3 vocs:-mx-3 vocs:rounded-md vocs:flex vocs:items-center vocs:justify-between vocs:text-heading vocs:font-medium vocs:data-[collapsable=true]:cursor-pointer" data-condensed="false" data-collapsed="false" data-collapsable="false" data-v-sidebar-section-header="true"><span class="vocs:inline-flex vocs:items-center vocs:min-w-0"><span class="vocs:truncate">Execution Extensions</span></span></div><div class="" data-v-sidebar-section-content="true"><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/exex/overview"><span class="vocs:min-w-0 vocs:truncate">Overview</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/exex/how-it-works">
1<span class="vocs:min-w-0 vocs:truncate">How do ExExes work?</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/exex/hello-world"><span class="vocs:min-w-0 vocs:truncate">Hello World</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/exex/tracking-state"><span class="vocs:min-w-0 vocs:truncate">Tracking State</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/exex/remote"><span class="vocs:min-w-0 vocs:truncate">Remote</span></a></div></section><section data-collapsed="false" data-v-sidebar-section="true"><div class="vocs:h-[2.5em] vocs:px-3 vocs:-mx-3 vocs:rounded-md vocs:flex vocs:items-center vocs:justify-between vocs:text-heading vocs:font-medium vocs:data-[collapsable=true]:cursor-pointer" data-condensed="false" data-collapsed="false" data-collapsable="false" data-v-sidebar-section-header="true"><span class="vocs:inline-flex vocs:items-center vocs:min-w-0"><span class="vocs:truncate">Interacting with Reth over JSON-RPC</span></span></div><div class="" data-v-sidebar-section-content="true"><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/jsonrpc/intro"><span class="vocs:min-w-0 vocs:truncate">Overview</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/jsonrpc/eth"><span class="vocs:min-w-0 vocs:truncate">eth</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/jsonrpc/web3">
1<span class="vocs:min-w-0 vocs:truncate">web3</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/jsonrpc/net"><span class="vocs:min-w-0 vocs:truncate">net</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/jsonrpc/txpool"><span class="vocs:min-w-0 vocs:truncate">txpool</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/jsonrpc/debug"><span class="vocs:min-w-0 vocs:truncate">debug</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/jsonrpc/trace"><span class="vocs:min-w-0 vocs:truncate">trace</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/jsonrpc/ots"><span class="vocs:min-w-0 vocs:truncate">ots</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/jsonrpc/admin"><span class="vocs:min-w-0 vocs:truncate">admin</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="false" data-link="true" data-v-sidebar-item="true" href="/jsonrpc/rpc">
1<span class="vocs:min-w-0 vocs:truncate">rpc</span></a></div></section><section data-collapsed="false" data-v-sidebar-section="true"><div class="vocs:h-[2.5em] vocs:px-3 vocs:-mx-3 vocs:rounded-md vocs:flex vocs:items-center vocs:justify-between vocs:text-heading vocs:font-medium vocs:data-[collapsable=true]:cursor-pointer" data-condensed="false" data-collapsed="false" data-collapsable="true" data-v-sidebar-section-header="true"><a class="vocs:flex-1 vocs:min-w-0 vocs:text-inherit vocs:hover:text-inherit" href="/cli/cli"><span class="vocs:inline-flex vocs:items-center vocs:gap-1">CLI Reference</span></a><button aria-expanded="true" aria-label="Toggle CLI Reference section" class="vocs:ml-2 vocs:-mr-1 vocs:shrink-0 vocs:rounded-md vocs:p-1 vocs:text-secondary/80 vocs:hover:text-heading" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:data-collapsed:rotate-90 vocs:transition-transform vocs:duration-200 vocs:ease-in-out" data-collapsed="false"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m9 18l6-6l-6-6"></path></svg></button></div><div class="" data-v-sidebar-section-content="true"><section data-collapsed="false" data-v-sidebar-section="true"><div class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem] vocs:data-[collapsable=true]:hover:text-accent vocs:data-[collapsable=true]:hover:cursor-pointer" data-condensed="false" data-collapsed="false" data-collapsable="true" data-v-sidebar-section-header="true"><a class="vocs:flex-1 vocs:min-w-0 vocs:text-inherit vocs:hover:text-inherit" href="/cli/reth"><span class="vocs:inline-flex vocs:items-center vocs:gap-1">reth</span></a><button aria-expanded="true" aria-label="Toggle reth section" class="vocs:ml-2 vocs:-mr-1 vocs:shrink-0 vocs:rounded-md vocs:p-1 vocs:text-secondary/80 vocs:hover:text-heading" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:data-collapsed:rotate-90 vocs:transition-transform vocs:duration-200 vocs:ease-in-out" data-collapsed="false"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m9 18l6-6l-6-6"></path></svg></button></div><div class="vocs:pl-4 vocs:border-l vocs:border-primary" data-v-sidebar-section-content="true"><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/cli/reth/node"><span class="vocs:min-w-0 vocs:truncate">reth node</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/cli/reth/init"><span class="vocs:min-w-0 vocs:truncate">reth init</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/cli/reth/init-state">
1<span class="vocs:min-w-0 vocs:truncate">reth init-state</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/cli/reth/import"><span class="vocs:min-w-0 vocs:truncate">reth import</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/cli/reth/import-era"><span class="vocs:min-w-0 vocs:truncate">reth import-era</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/cli/reth/export-era"><span class="vocs:min-w-0 vocs:truncate">reth export-era</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/cli/reth/dump-genesis"><span class="vocs:min-w-0 vocs:truncate">reth dump-genesis</span></a><section data-collapsed="true" data-v-sidebar-section="true"><div class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem] vocs:data-[collapsable=true]:hover:text-accent vocs:data-[collapsable=true]:hover:cursor-pointer" data-condensed="true" data-collapsed="true" data-collapsable="true" data-v-sidebar-section-header="true"><a class="vocs:flex-1 vocs:min-w-0 vocs:text-inherit vocs:hover:text-inherit" href="/cli/reth/db"><span class="vocs:inline-flex vocs:items-center vocs:gap-1">reth db</span></a><button aria-expanded="false" aria-label="Toggle reth db section" class="vocs:ml-2 vocs:-mr-1 vocs:shrink-0 vocs:rounded-md vocs:p-1 vocs:text-secondary/80 vocs:hover:text-heading" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:data-collapsed:rotate-90 vocs:transition-transform vocs:duration-200 vocs:ease-in-out"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m9 18l6-6l-6-6"></path></svg></button></div></section><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/cli/reth/download">
1<span class="vocs:min-w-0 vocs:truncate">reth download</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/cli/reth/snapshot-manifest"><span class="vocs:min-w-0 vocs:truncate">reth snapshot-manifest</span></a><section data-collapsed="true" data-v-sidebar-section="true"><div class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem] vocs:data-[collapsable=true]:hover:text-accent vocs:data-[collapsable=true]:hover:cursor-pointer" data-condensed="true" data-collapsed="true" data-collapsable="true" data-v-sidebar-section-header="true"><a class="vocs:flex-1 vocs:min-w-0 vocs:text-inherit vocs:hover:text-inherit" href="/cli/reth/stage"><span class="vocs:inline-flex vocs:items-center vocs:gap-1">reth stage</span></a><button aria-expanded="false" aria-label="Toggle reth stage section" class="vocs:ml-2 vocs:-mr-1 vocs:shrink-0 vocs:rounded-md vocs:p-1 vocs:text-secondary/80 vocs:hover:text-heading" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:data-collapsed:rotate-90 vocs:transition-transform vocs:duration-200 vocs:ease-in-out"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m9 18l6-6l-6-6"></path></svg></button></div></section><section data-collapsed="true" data-v-sidebar-section="true"><div class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem] vocs:data-[collapsable=true]:hover:text-accent vocs:data-[collapsable=true]:hover:cursor-pointer" data-condensed="true" data-collapsed="true" data-collapsable="true" data-v-sidebar-section-header="true"><a class="vocs:flex-1 vocs:min-w-0 vocs:text-inherit vocs:hover:text-inherit" href="/cli/reth/p2p"><span class="vocs:inline-flex vocs:items-center vocs:gap-1">reth p2p</span></a><button aria-expanded="false" aria-label="Toggle reth p2p section" class="vocs:ml-2 vocs:-mr-1 vocs:shrink-0 vocs:rounded-md vocs:p-1 vocs:text-secondary/80 vocs:hover:text-heading" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:data-collapsed:rotate-90 vocs:transition-transform vocs:duration-200 vocs:ease-in-out"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m9 18l6-6l-6-6"></path></svg></button></div></section><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/cli/reth/config">
1<span class="vocs:min-w-0 vocs:truncate">reth config</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/cli/reth/prune"><span class="vocs:min-w-0 vocs:truncate">reth prune</span></a><a class="vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]" data-condensed="true" data-link="true" data-v-sidebar-item="true" href="/cli/reth/re-execute"><span class="vocs:min-w-0 vocs:truncate">reth re-execute</span></a></div></section></div></section></nav><div class="vocs:sticky vocs:bottom-0" data-v-sidebar-footer="true"><div class="vocs:bg-linear-to-b vocs:from-transparent vocs:to-primary vocs:min-h-4 vocs:bottom-0 vocs:w-full vocs:sticky" data-v-sidebar-footer-curtain="true"></div><div class="vocs:bg-primary vocs:pb-2 vocs:flex vocs:justify-between vocs:items-center" data-v-sidebar-footer-content="true"><div class="vocs:flex vocs:items-center vocs:h-7 " data-v-socials="true"><a aria-label="GitHub" class="vocs:flex vocs:items-center vocs:justify-center vocs:size-7 vocs:text-primary/60 vocs:hover:text-primary vocs:transition-colors vocs:duration-150" href="https://github.com/paradigmxyz/reth" rel="noopener noreferrer" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-[18px]"><path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></a><div class="vocs:w-px vocs:h-4 vocs:bg-primary vocs:mx-1"></div><a aria-label="Telegram" class="vocs:flex vocs:items-center vocs:justify-center vocs:size-7 vocs:text-primary/60 vocs:hover:text-primary vocs:transition-colors vocs:duration-150" href="https://t.me/paradigm_reth" rel="noopener noreferrer" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-[18px]"><path fill="currentColor" d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12a12 12 0 0 0 12-12A12 12 0 0 0 12 0zm4.962 7.224c.1-.002.321.023.465.14a.5.5 0 0 1 .171.325c.016.093.036.306.02.472c-.18 1.898-.962 6.502-1.36 8.627c-.168.9-.499 1.201-.82 1.23c-.696.065-1.225-.46-1.9-.902c-1.056-.693-1.653-1.124-2.678-1.8c-1.185-.78-.417-1.21.258-1.91c.177-.184 3.247-2.977 3.307-3.23c.007-.032.014-.15-.056-.212s-.174-.041-.249-.024q-.159.037-5.061 3.345q-.72.495-1.302.48c-.428-.008-1.252-.241-1.865-.44c-.752-.245-1.349-.374-1.297-.789q.04-.324.893-.663q5.247-2.286 6.998-3.014c3.332-1.386 4.025-1.627 4.476-1.635"></path></svg></a></div></div></div></aside></div><div class="vocs:bg-primary vocs:fixed vocs:flex vocs:justify-between vocs:h-topNav vocs:px-4 vocs:max-lg:w-full vocs:max-lg:left-0 vocs:max-lg:pr-0 vocs:max-md:border-b vocs:max-md:border-primary" data-v-gutter-top="true"><div class="vocs:flex vocs:gap-2 vocs:h-full vocs:py-2" data-v-gutter-top-left="true"><a class="vocs:py-0.5 vocs:flex" data-v-logo-link="true" href="/"><div class="vocs:flex vocs:items-center vocs:h-full" data-v-logo="true"><img alt="Logo" class="vocs:h-full vocs:max-h-7" data-v-logo-image="true" src="/logo.png"/></div></a><div class="vocs:w-1"></div><div class="vocs:max-lg:w-[180px] vocs:w-[240px] vocs:max-md:hidden"><button class="vocs:flex vocs:items-center vocs:justify-between vocs:cursor-pointer vocs:pl-3 vocs:pr-2 vocs:text-sm vocs:text-secondary vocs:hover:text-primary vocs:w-full vocs:h-full vocs:bg-surface vocs:hover:bg-surfaceTint vocs:border vocs:border-primary vocs:rounded-xl vocs:transition-colors vocs:duration-100 vocs:w-full vocs:h-full" t
1ype="button" tabindex="0" data-base-ui-click-trigger="" id="base-ui-_R_6ulkq_" aria-haspopup="dialog" aria-expanded="false"><div class="vocs:flex vocs:items-center vocs:gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-4"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m21 21l-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></g></svg>Search...</div><div class="vocs:flex vocs:items-center vocs:gap-0.5"><div class="vocs:bg-primary vocs:text-xs vocs:flex vocs:items-center vocs:justify-center vocs:h-5 vocs:w-auto vocs:px-0.75 vocs:border vocs:border-primary vocs:rounded-sm">â</div> <div class="vocs:bg-primary vocs:text-xs vocs:flex vocs:items-center vocs:justify-center vocs:h-5 vocs:w-auto vocs:px-0.75 vocs:border vocs:border-primary vocs:rounded-sm">K</div></div></button></div></div><nav class="vocs:flex vocs:max-lg:hidden vocs:px-2"><ul class="vocs:flex vocs:items-center vocs:h-full vocs:list-none vocs:m-0 vocs:p-0 vocs:-mb-px"><li class="vocs:h-full"><a data-v-active="false" class="vocs:flex vocs:items-center vocs:h-full vocs:cursor-pointer vocs:hover:text-heading vocs:px-2 vocs:border-b-2 vocs:text-primary/80 vocs:data-[v-active=true]:text-accent6 vocs:text-[14px] vocs:font-[450] vocs:border-transparent vocs:data-[v-active=true]:border-accent" href="/run/ethereum">Run</a></li><li class="vocs:h-full"><a data-v-active="false" class="vocs:flex vocs:items-center vocs:h-full vocs:cursor-pointer vocs:hover:text-heading vocs:px-2 vocs:border-b-2 vocs:text-primary/80 vocs:data-[v-active=true]:text-accent6 vocs:text-[14px] vocs:font-[450] vocs:border-transparent vocs:data-[v-active=true]:border-accent" href="/sdk">SDK</a></li><li class="vocs:h-full"><a data-v-active="false" class="vocs:flex vocs:items-center vocs:h-full vocs:cursor-pointer vocs:hover:text-heading vocs:px-2 vocs:border-b-2 vocs:text-primary/80 vocs:data-[v-active=true]:text-accent6 vocs:text-[14px] vocs:font-[450] vocs:border-transparent vocs:data-[v-active=true]:border-accent" href="/docs">Rustdocs</a></li><li class="vocs:h-full"><a data-v-active="false" class="vocs:flex vocs:items-center vocs:h-full vocs:cursor-pointer vocs:hover:text-heading vocs:px-2 vocs:border-b-2 vocs:text-primary/80 vocs:data-[v-active=true]:text-accent6 vocs:text-[14px] vocs:font-[450] vocs:border-transparent vocs:data-[v-active=true]:border-accent" href="https://github.com/paradigmxyz/reth" rel="noopener noreferrer" target="_blank">GitHub<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:ml-1 vocs:size-3.5 vocs:text-secondary/60"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 7h10v10M7 17L17 7"></path></svg></a></li><li class="vocs:h-full"><button type="button" aria-disabled="false" tabindex="0" aria-expanded="false" data-base-ui-navigation-menu-trigger="" data-v-active="false" class="vocs:flex vocs:items-center vocs:h-full vocs:cursor-pointer vocs:hover:text-heading vocs:px-2 vocs:border-b-2 vocs:text-primary/80 vocs:data-[v-active=true]:text-accent6 vocs:text-[14px] vocs:font-[450] vocs:border-transparent vocs:data-[v-active=true]:border-accent">v2.7.0<span aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:text-secondary/80 vocs:ml-1 vocs:transition-transform vocs:duration-150 vocs:in-data-popup-open:rotate-180"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m6 9l6 6l6-6"></path></svg></span></button></li></ul></nav><div class="vocs:lg:hidden vocs:flex vocs:items-center vocs:px-3 vocs:gap-1"><button aria-label="Search" class="vocs:flex vocs:md:hidden vocs:items-center vocs:justify-center vocs:cursor-pointer vocs:size-8" type="button" tabindex="0" data-base-ui-click-trigger="" id="base-ui-_R_6rlkq_" aria-haspopup="dialog" aria-expanded="false"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m21 21l-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></g></svg></button><button type="button" tabindex="0" data-base-ui-click-trigger="" id="base-ui-_R_3dlkq_" aria-haspopup="dialog" aria-expanded="false" aria-label="Open menu" class="vocs:flex vocs:items-center vocs:justify-center vocs:cursor-pointer vocs:size-8"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24">
1<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5h18M3 12h18M3 19h18"></path></svg></button></div></div><div class="vocs:max-md:hidden vocs:fixed vocs:bg-surface vocs:lg:border-l vocs:border-t vocs:border-primary vocs:w-full vocs:h-full vocs:max-lg:w-full vocs:max-w-screen vocs:ml-gutter" data-v-surface-bg="true"></div><main class="vocs:isolate vocs:max-w-screen vocs:h-full vocs:pb-20" data-v-main="true" id="vocs-content"><article class="vocs:px-content-px vocs:py-content-py vocs:relative vocs:w-full vocs:max-w-content vocs:space-y-6 vocs:max-md:overflow-x-hidden" data-v-content="true"><h1 data-v="" id="contributing-to-reth">Contributing to Reth</h1> 2<p data-v="">Reth has docs specifically geared for developers and contributors, including documentation on the structure and architecture of reth, the general workflow we employ, and other useful tips.</p> 3<h2 data-v="" id="getting-help">Getting Help<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#getting-help" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2> 4<p data-v="">Need support or have questions? Open a github issue and/or join the TG chat:</p> 5<ul data-v=""> 6<li data-v=""><strong data-v="">GitHub Issues</strong>: <a href="https://github.com/paradigmxyz/reth/issues/new" data-v="true" data-v-link="true" rel="noopener noreferrer" target="_blank">Open an issue</a> for bugs or feature requests</li> 7<li data-v=""><strong data-v="">Telegram Chat</strong>: <a href="https://t.me/paradigm_reth" data-v="true" data-v-link="true" rel="noopener noreferrer" target="_blank">Join our Telegram</a> for real-time support and discussions</li> 8</ul> 9<h2 data-v="" id="repository-and-project-structure">Repository and Project Structure<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#repository-and-project-structure" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2> 10<p data-v="">Reth is organized as a modular codebase with clear separation and a contributor friendly architecture, you can read about it in detail <a href="https://github.com/paradigmxyz/reth/tree/main/docs" data-v="true" data-v-link="true" rel="noopener noreferrer" target="_blank">here</a>. Here's the TL;DR:</p> 11<h3 data-v="" id="design">Design<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#design" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 12<p data-v="">Reth follows a modular architecture where each component can be used independently:</p> 13<ul data-v=""> 14<li data-v=""><strong data-v="">Consensus</strong>: Block validation and consensus rules</li> 15<li data-v=""><strong data-v="">Storage</strong>: Hybrid database with MDBX + static files</li> 16<li data-v=""><strong data-v="">Networking</strong>: P2P networking stack</li> 17<li data-v=""><strong data-v="">RPC</strong>: JSON-RPC server implementation</li> 18<li data-v=""><strong data-v="">Engine</strong>: Consensus layer integration</li> 19<li data-v=""><strong data-v="">EVM</strong>: Transaction execution</li> 20<li data-v=""><strong data-v="">Node Builder</strong>: High-level orchestration</li> 21</ul> 22<h3 data-v="" id="crates">Crates<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#crates" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 23<p data-v="">The repository is organized into focused crates under <code data-v="true">/crates/</code>:</p> 24<div data-v-code-container="true"><pre class="vocs:relative vocs:group/code" data-v="true"><code data-v="true">crates/ 25âââ consensus/ # Consensus and validation logic 26âââ storage/ # Database and storage implementations 27âââ net/ # Networking components 28âââ rpc/ # JSON-RPC server and APIs 29âââ engine/ # Engine API and consensus integration 30âââ evm/ # EVM execution 31âââ node/ # Node building and orchestration 32âââ ethereum/ # Ethereum-specific implementations 33âââ ... 34</code><button aria-label="Copy code" class="vocs:absolute vocs:top-2.5 vocs:data-[single-line=true]:top-1/2 vocs:data-[single-line=true]:-translate-y-1/2 vocs:right-2.5 vocs:p-1.5 vocs:rounded-md vocs:opacity-0 vocs:transition-opacity vocs:duration-150 vocs:text-secondary vocs:hover:text-heading vocs:cursor-pointer vocs:group-hover/code:opacity-100 vocs:data-[copied=true]:opacity-100 vocs:data-[copied=true]:text-success" data-copied="false" data-single-line="false" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-4"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></g></svg></button><span class="vocs:hidden"></span><span class="vocs:hidden"></span></pre></div> 35<h2 data-v="" id="workflow-the-lifecycle-of-prs">Workflow: The Lifecycle of PRs<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#workflow-the-lifecycle-of-prs" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2> 36<h3 data-v="" id="1-before-you-start">1. Before You Start<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#1-before-you-start" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 37<ul data-v=""> 38<li data-v="">Check existing issues to avoid duplicate work</li> 39<li data-v="">
39For large features, open an issue first to discuss the approach</li> 40<li data-v="">Fork the repository and create a feature branch</li> 41</ul> 42<h3 data-v="" id="2-development-process">2. Development Process<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#2-development-process" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 43<h4 data-v="" id="setting-up-your-environment">Setting Up Your Environment<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#setting-up-your-environment" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4> 44<div data-v-code-container="true"><pre class="shiki shiki-themes github-light github-dark-dimmed vocs:relative vocs:group/code" tabindex="0" data-v-shell="" data-v="true"><code data-language="bash" data-v="true"><span class="line" data-v-shell-line=""><span style="color:var(--shiki-token-function)" data-v-shell-prompt=""># </span><span style="color:var(--shiki-token-string)">Clone your fork</span></span> 45<span class="line"><span style="color:light-dark(#6F42C1, #F69D50);--shiki-light:#6F42C1;--shiki-dark:#F69D50">git</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> clone</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> https://github.com/YOUR_USERNAME/reth.git</span></span> 46<span class="line"><span style="color:light-dark(#005CC5, #6CB6FF);--shiki-light:#005CC5;--shiki-dark:#6CB6FF">cd</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> reth</span></span> 47<span class="line" data-empty-line="true"> </span> 48<span class="line" data-v-shell-line=""><span style="color:var(--shiki-token-function)" data-v-shell-prompt=""># </span><span style="color:var(--shiki-token-string)">Install dependencies and tools</span></span> 49<span class="line" data-v-shell-line=""><span style="color:var(--shiki-token-function)" data-v-shell-prompt=""># </span><span style="color:var(--shiki-token-string)">Use nightly Rust for formatting</span></span> 50<span class="line"><span style="color:light-dark(#6F42C1, #F69D50);--shiki-light:#6F42C1;--shiki-dark:#F69D50">rustup</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> install</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> nightly</span></span> 51<span class="line"><span style="color:light-dark(#6F42C1, #F69D50);--shiki-light:#6F42C1;--shiki-dark:#F69D50">rustup</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> component</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> add</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> rustfmt</span><span style="color:light-dark(#005CC5, #6CB6FF);--shiki-light:#005CC5;--shiki-dark:#6CB6FF"> --toolchain</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> nightly</span></span> 52<span class="line" data-empty-line="true"> </span> 53<span class="line" data-v-shell-line=""><span style="color:var(--shiki-token-function)" data-v-shell-prompt=""># </span><span style="color:var(--shiki-token-string)">Run the validation suite</span></span> 54<span class="line"><span style="color:light-dark(#6F42C1, #F69D50);--shiki-light:#6F42C1;--shiki-dark:#F69D50">make</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> pr</span></span></code><button aria-label="Copy code" class="vocs:absolute vocs:top-2.5 vocs:data-[single-line=true]:top-1/2 vocs:data-[single-line=true]:-translate-y-1/2 vocs:right-2.5 vocs:p-1.5 vocs:rounded-md vocs:opacity-0 vocs:transition-opacity vocs:duration-150 vocs:text-secondary vocs:hover:text-heading vocs:cursor-pointer vocs:group-hover/code:opacity-100 vocs:data-[copied=true]:opacity-100 vocs:data-[copied=true]:text-success" data-copied="false" data-single-line="false" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-4"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></g></svg></button><span class="vocs:hidden"></span><span class="vocs:hidden"></span><span class="vocs:hidden"></span></pre></div> 55<h4 data-v="" id="code-style-and-standards">Code Style and Standards<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#code-style-and-standards" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4> 56<ul data-v=""> 57<li data-v=""><strong data-v="">Formatting</strong>: Use nightly rustfmt (<code data-v="true">cargo +nightly fmt</code>)</li> 58<li data-v=""><strong data-v="">Linting</strong>: All clippy warnings must be addressed</li> 59<li data-v=""><strong data-v="">Documentation</strong>: Add doc comments for public APIs</li> 60<li data-v=""><strong data-v="">Testing</strong>: Include appropriate tests for your changes</li> 61</ul>
62<h4 data-v="" id="recommended-vs-code-settings">Recommended VS Code Settings<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#recommended-vs-code-settings" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4> 63<p data-v="">Install the <code data-v="true">rust-analyzer</code> extension and use these settings for the best development experience:</p> 64<div data-v-code-container="true"><pre class="shiki shiki-themes github-light github-dark-dimmed vocs:relative vocs:group/code" tabindex="0" data-v="true"><code data-language="json" data-v="true"><span class="line"><span style="color:light-dark(#24292E, #ADBAC7);--shiki-light:#24292E;--shiki-dark:#ADBAC7">{</span></span> 65<span class="line"><span style="color:light-dark(#005CC5, #8DDB8C);--shiki-light:#005CC5;--shiki-dark:#8DDB8C"> "rust-analyzer.rustfmt.overrideCommand"</span><span style="color:light-dark(#24292E, #ADBAC7);--shiki-light:#24292E;--shiki-dark:#ADBAC7">: [</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF">"rustfmt"</span><span style="color:light-dark(#24292E, #ADBAC7);--shiki-light:#24292E;--shiki-dark:#ADBAC7">, </span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF">"+nightly"</span><span style="color:light-dark(#24292E, #ADBAC7);--shiki-light:#24292E;--shiki-dark:#ADBAC7">],</span></span> 66<span class="line"><span style="color:light-dark(#005CC5, #8DDB8C);--shiki-light:#005CC5;--shiki-dark:#8DDB8C"> "rust-analyzer.check.overrideCommand"</span><span style="color:light-dark(#24292E, #ADBAC7);--shiki-light:#24292E;--shiki-dark:#ADBAC7">: [</span></span> 67<span class="line"><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> "cargo"</span><span style="color:light-dark(#24292E, #ADBAC7);--shiki-light:#24292E;--shiki-dark:#ADBAC7">,</span></span> 68<span class="line"><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> "clippy"</span><span style="color:light-dark(#24292E, #ADBAC7);--shiki-light:#24292E;--shiki-dark:#ADBAC7">,</span></span> 69<span class="line"><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> "--workspace"</span><span style="color:light-dark(#24292E, #ADBAC7);--shiki-light:#24292E;--shiki-dark:#ADBAC7">,</span></span> 70<span class="line"><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> "--message-format=json"</span><span style="color:light-dark(#24292E, #ADBAC7);--shiki-light:#24292E;--shiki-dark:#ADBAC7">,</span></span> 71<span class="line"><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> "--all-targets"</span><span style="color:light-dark(#24292E, #ADBAC7);--shiki-light:#24292E;--shiki-dark:#ADBAC7">,</span></span> 72<span class="line"><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> "--all-features"</span></span> 73<span class="line"><span style="color:light-dark(#24292E, #ADBAC7);--shiki-light:#24292E;--shiki-dark:#ADBAC7"> ]</span></span> 74<span class="line"><span style="color:light-dark(#24292E, #ADBAC7);--shiki-light:#24292E;--shiki-dark:#ADBAC7">}</span></span></code><button aria-label="Copy code" class="vocs:absolute vocs:top-2.5 vocs:data-[single-line=true]:top-1/2 vocs:data-[single-line=true]:-translate-y-1/2 vocs:right-2.5 vocs:p-1.5 vocs:rounded-md vocs:opacity-0 vocs:transition-opacity vocs:duration-150 vocs:text-secondary vocs:hover:text-heading vocs:cursor-pointer vocs:group-hover/code:opacity-100 vocs:data-[copied=true]:opacity-100 vocs:data-[copied=true]:text-success" data-copied="false" data-single-line="false" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-4"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></g></svg></button><span class="vocs:hidden"></span><span class="vocs:hidden"></span></pre></div> 75<h3 data-v="" id="3-testing-your-changes">3. Testing Your Changes<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#3-testing-your-changes" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 76<p data-v="">Reth uses comprehensive testing at multiple levels:</p> 77<h4 data-v="" id="unit-tests">Unit Tests<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#unit-tests" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4> 78<p data-v="">Test specific functions and components:</p> 79<div data-v-code-container="true">
79<pre class="shiki shiki-themes github-light github-dark-dimmed vocs:relative vocs:group/code" tabindex="0" data-v-shell="" data-v="true"><code data-language="bash" data-v="true"><span class="line"><span style="color:light-dark(#6F42C1, #F69D50);--shiki-light:#6F42C1;--shiki-dark:#F69D50">cargo</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> test</span><span style="color:light-dark(#005CC5, #6CB6FF);--shiki-light:#005CC5;--shiki-dark:#6CB6FF"> --package</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> reth-ethereum-consensus</span></span></code><button aria-label="Copy code" class="vocs:absolute vocs:top-2.5 vocs:data-[single-line=true]:top-1/2 vocs:data-[single-line=true]:-translate-y-1/2 vocs:right-2.5 vocs:p-1.5 vocs:rounded-md vocs:opacity-0 vocs:transition-opacity vocs:duration-150 vocs:text-secondary vocs:hover:text-heading vocs:cursor-pointer vocs:group-hover/code:opacity-100 vocs:data-[copied=true]:opacity-100 vocs:data-[copied=true]:text-success" data-copied="false" data-single-line="false" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-4"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></g></svg></button><span class="vocs:hidden"></span><span class="vocs:hidden"></span><span class="vocs:hidden"></span></pre></div> 80<h4 data-v="" id="integration-tests">Integration Tests<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#integration-tests" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4> 81<p data-v="">Test component interactions:</p> 82<div data-v-code-container="true"><pre class="shiki shiki-themes github-light github-dark-dimmed vocs:relative vocs:group/code" tabindex="0" data-v-shell="" data-v="true"><code data-language="bash" data-v="true"><span class="line"><span style="color:light-dark(#6F42C1, #F69D50);--shiki-light:#6F42C1;--shiki-dark:#F69D50">cargo</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> test</span><span style="color:light-dark(#005CC5, #6CB6FF);--shiki-light:#005CC5;--shiki-dark:#6CB6FF"> --test</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> integration_tests</span></span></code><button aria-label="Copy code" class="vocs:absolute vocs:top-2.5 vocs:data-[single-line=true]:top-1/2 vocs:data-[single-line=true]:-translate-y-1/2 vocs:right-2.5 vocs:p-1.5 vocs:rounded-md vocs:opacity-0 vocs:transition-opacity vocs:duration-150 vocs:text-secondary vocs:hover:text-heading vocs:cursor-pointer vocs:group-hover/code:opacity-100 vocs:data-[copied=true]:opacity-100 vocs:data-[copied=true]:text-success" data-copied="false" data-single-line="false" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-4"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></g></svg></button><span class="vocs:hidden"></span><span class="vocs:hidden"></span><span class="vocs:hidden"></span></pre></div> 83<h4 data-v="" id="full-test-suite">Full Test Suite<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#full-test-suite" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4> 84<p data-v="">Run all tests including Ethereum Foundation tests:</p> 85<div data-v-code-container="true">
85<pre class="shiki shiki-themes github-light github-dark-dimmed vocs:relative vocs:group/code" tabindex="0" data-v-shell="" data-v="true"><code data-language="bash" data-v="true"><span class="line"><span style="color:light-dark(#6F42C1, #F69D50);--shiki-light:#6F42C1;--shiki-dark:#F69D50">make</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> test</span></span></code><button aria-label="Copy code" class="vocs:absolute vocs:top-2.5 vocs:data-[single-line=true]:top-1/2 vocs:data-[single-line=true]:-translate-y-1/2 vocs:right-2.5 vocs:p-1.5 vocs:rounded-md vocs:opacity-0 vocs:transition-opacity vocs:duration-150 vocs:text-secondary vocs:hover:text-heading vocs:cursor-pointer vocs:group-hover/code:opacity-100 vocs:data-[copied=true]:opacity-100 vocs:data-[copied=true]:text-success" data-copied="false" data-single-line="false" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-4"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></g></svg></button><span class="vocs:hidden"></span><span class="vocs:hidden"></span><span class="vocs:hidden"></span></pre></div> 86<h4 data-v="" id="validation-suite">Validation Suite<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#validation-suite" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4> 87<p data-v="">Before submitting, always run:</p> 88<div data-v-code-container="true"><pre class="shiki shiki-themes github-light github-dark-dimmed vocs:relative vocs:group/code" tabindex="0" data-v-shell="" data-v="true"><code data-language="bash" data-v="true"><span class="line"><span style="color:light-dark(#6F42C1, #F69D50);--shiki-light:#6F42C1;--shiki-dark:#F69D50">make</span><span style="color:light-dark(#032F62, #96D0FF);--shiki-light:#032F62;--shiki-dark:#96D0FF"> pr</span></span></code><button aria-label="Copy code" class="vocs:absolute vocs:top-2.5 vocs:data-[single-line=true]:top-1/2 vocs:data-[single-line=true]:-translate-y-1/2 vocs:right-2.5 vocs:p-1.5 vocs:rounded-md vocs:opacity-0 vocs:transition-opacity vocs:duration-150 vocs:text-secondary vocs:hover:text-heading vocs:cursor-pointer vocs:group-hover/code:opacity-100 vocs:data-[copied=true]:opacity-100 vocs:data-[copied=true]:text-success" data-copied="false" data-single-line="false" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-4"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></g></svg></button><span class="vocs:hidden"></span><span class="vocs:hidden"></span><span class="vocs:hidden"></span></pre></div> 89<p data-v="">This runs:</p> 90<ul data-v=""> 91<li data-v="">Code formatting checks</li> 92<li data-v="">Clippy linting</li> 93<li data-v="">Documentation generation</li> 94<li data-v="">Full test suite</li> 95</ul> 96<h3 data-v="" id="4-submitting-your-pr">4. Submitting Your PR<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#4-submitting-your-pr" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 97<h4 data-v="" id="draft-prs-for-large-features">Draft PRs for Large Features<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#draft
97-prs-for-large-features" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4> 98<p data-v="">For substantial changes, open a draft PR early to get feedback on the approach.</p> 99<h4 data-v="" id="pr-requirements">PR Requirements<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#pr-requirements" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4> 100<ul class="contains-task-list" data-v=""> 101<li class="task-list-item" data-v=""><input type="checkbox" disabled=""/> <!-- -->Clear, descriptive title and description</li> 102<li class="task-list-item" data-v=""><input type="checkbox" disabled=""/> <!-- -->Tests for new functionality</li> 103<li class="task-list-item" data-v=""><input type="checkbox" disabled=""/> <!-- -->Documentation updates if needed</li> 104<li class="task-list-item" data-v=""><input type="checkbox" disabled=""/> <!-- -->All CI checks passing</li> 105<li class="task-list-item" data-v=""><input type="checkbox" disabled=""/> <!-- -->Commit messages follow conventional format</li> 106</ul> 107<h4 data-v="" id="commit-message-format">Commit Message Format<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#commit-message-format" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4> 108<div data-v-code-container="true"><pre class="vocs:relative vocs:group/code" data-v="true"><code data-v="true">type: brief description 109 110More detailed explanation if needed. 111 112- feat: new feature 113- fix: bug fix 114- docs: documentation changes 115- refactor: code refactoring 116- test: adding tests 117- chore: maintenance tasks 118</code><button aria-label="Copy code" class="vocs:absolute vocs:top-2.5 vocs:data-[single-line=true]:top-1/2 vocs:data-[single-line=true]:-translate-y-1/2 vocs:right-2.5 vocs:p-1.5 vocs:rounded-md vocs:opacity-0 vocs:transition-opacity vocs:duration-150 vocs:text-secondary vocs:hover:text-heading vocs:cursor-pointer vocs:group-hover/code:opacity-100 vocs:data-[copied=true]:opacity-100 vocs:data-[copied=true]:text-success" data-copied="false" data-single-line="false" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-4"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></g></svg></button><span class="vocs:hidden"></span><span class="vocs:hidden"></span></pre></div> 119<h3 data-v="" id="5-review-process">5. Review Process<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#5-review-process" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 120<h4 data-v="" id="who-can-review">Who Can Review<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#who-can-review" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4> 121<p data-v="">Any community member can review PRs. We encourage participation from all skill levels.</p> 122<h4 data-v="" id="what-reviewers-look-for">What Reviewers Look For<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#what-reviewers-look-for" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4> 123<ul data-v=""> 124<li data-v=""><strong data-v="">Does the change improve Reth?</strong></li> 125<li data-v=""><strong data-v="">Are there clear bugs or issues?</strong></li> 126<li data-v=""><strong data-v="">Are commit messages clear and descriptive?</strong></li> 127<li data-v=""><strong data-v="">Is the code well-tested?</strong></li> 128<li data-v=""><strong data-v="">Is documentation updated appropriately?</strong></li> 129</ul> 130<h4 data-v="" id="review-guidelines">Review Guidelines<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#review-guidelines" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h4> 131<ul data-v=""> 132<li data-v="">Be constructive and respectful</li> 133<li data-v="">Provide specific, actionable feedback</li> 134<li data-v="">Focus on significant issues first</li> 135<li data-v="">Acknowledge good work and improvements</li> 136</ul> 137<h2 data-v="" id="releases-how-reth-is-released">Releases: How Reth is Released<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#releases-how-reth-is-released" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2> 138<h3 data-v="" id="release-schedule">Release Schedule<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#release-schedule" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 139<ul data-v=""> 140<li data-v=""><strong data-v="">Regular releases</strong>: Following semantic versioning</li> 141<li data-v=""><strong data-v="">Security releases</strong>: As needed for critical vulnerabilities</li> 142<li data-v=""><strong data-v="">Pre-releases</strong>: For testing major changes</li> 143</ul> 144<h3 data-v="" id="release-process">Release Process<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#release-process" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 145<ol data-v=""> 146<li data-v=""><strong data-v="">Version bump</strong>: Update version numbers across crates</li> 147<li data-v=""><strong data-v="">Changelog</strong>: Update <code data-v="true">CHANGELOG.md</code> with notable changes</li> 148<li data-v=""><strong data-v="">Testing</strong>: Final validation on testnet and mainnet</li> 149<li data-v=""><strong data-v="">Tagging</strong>: Create release tags and GitHub releases</li> 150<li data-v=""><strong data-v="">Distribution</strong>: Update package registries and Docker images</li> 151</ol> 152<h3 data-v="" id="release-criteria">Release Criteria<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#release-criteria" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 153<ul data-v=""> 154<li data-v="">All CI checks passing</li> 155<li data-v="">No known critical bugs</li> 156<li data-v="">Documentation up to date</li> 157<li data-v="">Backwards compatibility considerations addressed</li> 158</ul> 159<h2 data-v="" id="ways-to-contribute">Ways to Contribute<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#ways-to-contribute" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2> 160<h3 data-v="" id="-feature-requests">ð¡ Feature Requests<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#-feature-requests" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 161<p data-v="">For feature requests, please include:</p> 162<ul data-v=""> 163<li data-v=""><strong data-v="">Detailed explanation</strong>: What should the feature do?</li> 164<li data-v=""><strong data-v="">Context and motivation</strong>: Why is this feature needed?</li> 165<li data-v=""><strong data-v="">Examples</strong>
165: How would it be used?</li> 166<li data-v=""><strong data-v="">Similar tools</strong>: References to similar functionality elsewhere</li> 167</ul> 168<h3 data-v="" id="-documentation">ð Documentation<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#-documentation" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 169<p data-v="">Documentation improvements are always welcome:</p> 170<ul data-v=""> 171<li data-v="">Add missing documentation</li> 172<li data-v="">Improve code examples</li> 173<li data-v="">Create tutorials or guides</li> 174</ul> 175<h3 data-v="" id="-code-contributions">ð§ Code Contributions<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#-code-contributions" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 176<p data-v="">Contributing code changes:</p> 177<ul data-v=""> 178<li data-v="">Fix bugs identified in issues</li> 179<li data-v="">Implement requested features</li> 180<li data-v="">Improve performance</li> 181<li data-v="">Refactor for better maintainability</li> 182</ul> 183<h2 data-v="" id="code-of-conduct">Code of Conduct<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#code-of-conduct" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h2> 184<p data-v="">Reth follows the <a href="https://www.rust-lang.org/conduct.html" data-v="true" data-v-link="true" rel="noopener noreferrer" target="_blank">Rust Code of Conduct</a>. We are committed to providing a welcoming and inclusive environment for all contributors.</p> 185<h3 data-v="" id="our-standards">Our Standards<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#our-standards" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 186<ul data-v=""> 187<li data-v="">Be respectful and constructive</li> 188<li data-v="">Focus on what's best for the community</li> 189<li data-v="">Show empathy towards other contributors</li> 190<li data-v="">Accept constructive criticism gracefully</li> 191</ul> 192<h3 data-v="" id="reporting-issues">Reporting Issues<a aria-label="Link to this section" class="heading-anchor" href="/introduction/contributing#reporting-issues" data-v-link="true" data-v="true"><svg class="heading-anchor-icon" xmlns="http://www.w3.org/2000/svg" width="0.75em" height="0.75em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></a></h3> 193<p data-v="">If you experience or witness behavior that violates our code of conduct, please report it to <a href="mailto:georgi
193[email protected]" data-v="true" data-v-link="true" rel="noopener noreferrer" target="_blank">[email protected]</a>.</p> 194<aside data-v-callout="true" data-v-context="note" data-v="true" data-v-content="true"><div data-v-callout-icon="true"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4m0-4h.01"></path></g></svg></div><p data-v="">Also read <a href="https://github.com/paradigmxyz/reth/blob/main/CONTRIBUTING.md" data-v="true" data-v-link="true" rel="noopener noreferrer" target="_blank">CONTRIBUTING.md</a> for in-depth guidelines.</p></aside><div class="vocs:mt-8" data-v-content-footer="true"><div class="vocs:min-[1376px]:hidden vocs:mb-6"></div><div class="vocs:flex vocs:max-sm:flex-col vocs:justify-between vocs:items-center vocs:max-sm:items-start vocs:gap-2 vocs:mb-4"><a class="vocs:flex vocs:items-center vocs:gap-2 vocs:text-secondary vocs:text-sm vocs:hover:text-heading vocs:transition-colors" data-v-edit-link="true" href="https://github.com/paradigmxyz/reth/edit/main/docs/vocs/docs/pages/introduction/contributing.mdx" rel="noopener noreferrer" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-4"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"></path></g></svg>Suggest changes to this page</a></div><div class="vocs:min-[1376px]:hidden vocs:mb-6"><button aria-label="Copy page content as markdown for AI" class="vocs:flex vocs:items-center vocs:gap-2 vocs:text-[13px] vocs:text-secondary vocs:hover:text-heading vocs:cursor-pointer vocs:disabled:cursor-default vocs:transition-colors vocs:border vocs:border-primary vocs:rounded-lg vocs:px-3 vocs:py-2" data-v-copy-for-ai="true" type="button"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-4"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><rect width="8" height="4" x="8" y="2" rx="1" ry="1"></rect><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path></g></svg><span>Copy page for AI</span></button></div><div class="vocs:border-t vocs:border-primary vocs:pt-8"><nav aria-label="Pagination" class="vocs:flex vocs:max-sm:flex-col vocs:justify-between vocs:items-start vocs:gap-4" data-v-pagination="true"><a class="vocs:flex vocs:max-sm:w-full vocs:max-sm:border vocs:max-sm:border-primary vocs:max-sm:rounded-lg vocs:max-sm:p-3 vocs:flex-col vocs:gap-1.5 vocs:group" href="/introduction/why-reth"><span class="vocs:flex vocs:items-center vocs:gap-2 vocs:text-heading vocs:text-lg vocs:font-medium vocs:group-hover:text-accent8 vocs:transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-4"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m12 19l-7-7l7-7m7 7H5"></path></svg>Why Reth?</span><span class="vocs:flex vocs:items-center vocs:gap-1.5 vocs:text-secondary vocs:text-xs">Previous<span class="vocs:max-sm:hidden vocs:flex vocs:items-center vocs:gap-1"><kbd class="vocs:bg-surface vocs:border vocs:border-primary vocs:rounded vocs:px-1.5 vocs:py-0.5 vocs:text-xs vocs:font-mono vocs:text-secondary">Shift</kbd><kbd class="vocs:bg-surface vocs:border vocs:border-primary vocs:rounded vocs:px-1.5 vocs:py-0.5 vocs:text-xs vocs:font-mono vocs:text-secondary">â</kbd></span></span></a><a class="vocs:flex vocs:max-sm:w-full vocs:max-sm:border vocs:max-sm:border-primary vocs:max-sm:rounded-lg vocs:max-sm:p-3 vocs:flex-col vocs:items-end vocs:gap-1.5 vocs:group" href="/run/system-requirements"><span class="vocs:flex vocs:items-center vocs:gap-2 vocs:text-heading vocs:text-lg vocs:font-medium vocs:group-hover:text-accent8 vocs:transition-colors">System Requirements<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="vocs:size-4"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 12h14m-7-7l7 7l-7 7"></path></svg></span><span class="vocs:flex vocs:items-center vocs:gap-1.5 vocs:text-secondary vocs:text-xs">Next<span class="vocs:max-sm:hidden vocs:flex vocs:items-center vocs:gap-1"><kbd class="vocs:bg-surface vocs:border vocs:border-primary vocs:rounded vocs:px-1.5 vocs:py-0.5 vocs:text-xs vocs:font-mono vocs:text-secondary">Shift</kbd><kbd class="vocs:bg-surface vocs:border vocs:border-primary vocs:rounded vocs:px-1.5 vocs:py-0.5 vocs:text-xs vocs:font-mono vocs:text-secondary">â</kbd></span></span></a></nav></div></div></article></main><div class="vocs:fixed vocs:bottom-6 vocs:max-md:bottom-2 vocs:left-1/2 vocs:-translate-x-1/2 vocs:z-40 vocs:will-change-transform" data-v-ask-ai-container="true"><button type="button" tabindex="0" aria-haspopup="menu" id="base-ui-_R_1okq_" class="vocs:flex vocs:items-center vocs:justify-between vocs:cursor-pointer vocs:pl-3 vocs:pr-2 vocs:text-sm vocs:text-secondary vocs:hover:text-primary vocs:w-full vocs:h-full vocs:bg-surface vocs:hover:bg-surfaceTint vocs:border vocs:border-primary vocs:rounded-xl vocs:transition-colors vocs:duration-100 vocs:w-[290px]! vocs:h-10! vocs:z-50! vocs:bg-surfaceTint/20! vocs:backdrop-blur-md!"><div class="vocs:flex vocs:items-center vocs:gap-2">Ask AI...</div><div class="vocs:flex vocs:items-center vocs:gap-0.5"><div class="vocs:bg-primary vocs:text-xs vocs:flex vocs:items-center vocs:justify-center vocs:h-5 vocs:w-auto vocs:px-0.75 vocs:border vocs:border-primary vocs:rounded-sm">â</div><div class="vocs:bg-primary vocs:text-xs vocs:flex vocs:items-center vocs:justify-center vocs:h-5 vocs:w-auto vocs:px-0.75 vocs:border vocs:border-primary vocs:rounded-sm">I</div></div></button></div></div>
194<script id="_R_"> 195 globalThis.__WAKU_HYDRATE__ = true; 196 globalThis.__WAKU_PREFETCHED__ = { 197 "R/introduction/contributing": (() => {const e = {};e.r = Promise.resolve(new Response(new ReadableStream({start(c) {const d = (window.__FLIGHT_DATA ||= []);const t = new TextEncoder();const f = (s) => c.enqueue(typeof s === 'string' ? t.encode(s) : s);d.forEach(f);d.length = 0;d.push = f;e.x = () => {if (document.readyState === 'loading') {document.addEventListener('DOMContentLoaded', () => c.close());} else {c.close();}};}})));return e;})(), 198 }; 199 import("/assets/index-BnRnl01B.js") 200globalThis.__WAKU_ROUTER_PREFETCH__ = (path, callback) => { 201 const ids = ["/assets/Head-BrM_b7_z.js","/assets/index-BnRnl01B.js","/assets/useConfig-B-y8enu-.js","/assets/MdxPageContext-xS6iNNOd.js","/assets/Root.client-xZKzEEEx.js","/assets/context-C4spomkL-Dxyarzl5.js","/assets/client-BH6-1WZ7.js","/assets/Layout.client-CGfoUF7i.js"]; 202 const path2idxs = {"^/404.d$":[0,1,2,3,4,5,6],"^/404$":[0,1,2,3,4,5,6],"^/_root.d$":[0,1,2,3,4,5,6],"^/jsonrpc/eth$":[0,1,2,3,4,5,6,7],"^/run/faq$":[0,1,2,3,4,5,6,7],"^/installation/overview$":[0,1,2,3,4,5,6,7],"^/run/networks$":[0,1,2,3,4,5,6,7],"^/installation/priorities$":[0,1,2,3,4,5,6,7],"^/run/faq/ports$":[0,1,2,3,4,5,6,7],"^/run/storage/minimal$":[0,1,2,3,4,5,6,7],"^/sdk/examples/modify-node$":[0,1,2,3,4,5,6,7],"^/sdk/node-components/consensus$":[0,1,2,3,4,5,6,7],"^/sdk/typesystem/transaction-types$":[0,1,2,3,4,5,6,7],"^/cli/SUMMARY$":[0,1,2,3,4,5,6,7],"^/exex/how-it-works$":[0,1,2,3,4,5,6,7],"^/guides/history-expiry$":[0,1,2,3,4,5,6,7],"^/introduction/contributing$":[0,1,2,3,4,5,6,7],"^/run/faq/profiling$":[0,1,2,3,4,5,6,7],"^/run/faq/transactions$":[0,1,2,3,4,5,6,7],"^/run/storage/snapshots$":[0,1,2,3,4,5,6,7],"^/sdk/node-components/evm$":[0,1,2,3,4,5,6,7],"^/sdk/node-components/network$":[0,1,2,3,4,5,6,7],"^/sdk/node-components/pool$":[0,1,2,3,4,5,6,7],"^/cli/cli$":[0,1,2,3,4,5,6,7],"^/cli/reth$":[0,1,2,3,4,5,6,7],"^/exex/overview$":[0,1,2,3,4,5,6,7],"^/installation/binaries$":[0,1,2,3,4,5,6,7],"^/installation/build-for-arm-devices$":[0,1,2,3,4,5,6,7],"^/installation/docker$":[0,1,2,3,4,5,6,7],"^/jsonrpc/debug$":[0,1,2,3,4,5,6,7],"^/jsonrpc/net$":[0,1,2,3,4,5,6,7],"^/jsonrpc/ots$":[0,1,2,3,4,5,6,7],"^/jsonrpc/intro$":[0,1,2,3,4,5,6,7],"^/jsonrpc/rpc$":[0,1,2,3,4,5,6,7],"^/jsonrpc/txpool$":[0,1,2,3,4,5,6,7],"^/jsonrpc/web3$":[0,1,2,3,4,5,6,7],"^/run/ethereum$":[0,1,2,3,4,5,6,7],"^/run/overview$":[0,1,2,3,4,5,6,7],"^/run/storage$":[0,1,2,3,4,5,6,7],"^/run/system-requirements$":[0,1,2,3,4,5,6,7],"^/installation/source$":[0,1,2,3,4,5,6,7],"^/overview$":[0,1,2,3,4,5,6,7],"^/introduction/why-reth$":[0,1,2,3,4,5,6,7],"^/sdk/typesystem/block$":[0,1,2,3,4,5,6,7],"^/run/opstack/op-mainnet-caveats$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/checksum/mdbx$":[0,1,2,3,4,5,6,7],"^/run/faq/troubleshooting$":[0,1,2,3,4,5,6,7],"^/sdk/examples/standalone-components$":[0,1,2,3,4,5,6,7],"^/run/private-testnets$":[0,1,2,3,4,5,6,7],"^/sdk/node-components$":[0,1,2,3,4,5,6,7],"^/sdk$":[0,1,2,3,4,5,6,7],"^/run/monitoring$":[0,1,2,3,4,5,6,7],"^/$":[0,1,2,3,4,5,6,7],"^/sdk/node-components/rpc$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/account-storage$":[0,1,2,3,4,5,6,7],"^/cli/reth/p2p/body$":[0,1,2,3,4,5,6,7],"^/cli/reth/stage/drop$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/checksum$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/copy$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/diff$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/drop$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/clear$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/list$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/path$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/get$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/prune-checkpoints$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/repair-trie$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/settings$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/migrate-v2$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/stage-checkpoints$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/static-file-header$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/stats$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/version$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/state$":[0,1,2,3,4,5,6,7],"^/cli/reth/p2p/enode$":[0,1,2,3,4,5,6,7],"^/cli/reth/p2p/rlpx$":[0,1,2,3,4,5,6,7],"^/cli/reth/p2p/bootnode$":[0,1,2,3,4,5,6,7],"^/cli/reth/stage/dump$":[0,1,2,3,4,5,6,7],"^/cli/reth/stage/unwind$":[0,1,2,3,4,5,6,7],"^/cli/reth/p2p/header$":[0,1,2,3,4,5,6,7],"^/cli/reth/config$":[0,1,2,3,4,5,6,7],"^/cli/reth/db$":[0,1,2,3,4,5,6,7],"^/cli/reth/dump-genesis$":[0,1,2,3,4,5,6,7],"^/cli/reth/download$":[0,1,2,3,4,5,6,7],"^/cli/reth/export-era$":[0,1,2,3,4,5,6,7],"^/cli/reth/import-era$":[0,1,2,3,4,5,6,7],"^/cli/reth/import$":[0,1,2,3,4,5,6,7],"^/cli/reth/init$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/checksum/rocksdb$":[0,1,2,3,4,5,6,7],"^/cli/reth/prune$":[0,1,2,3,4,5,6,7],"^/cli/reth/re-execute$":[0,1,2,3,4,5,6,7],"^/cli/reth/init-state$":[
2020,1,2,3,4,5,6,7],"^/cli/reth/p2p$":[0,1,2,3,4,5,6,7],"^/cli/reth/snapshot-manifest$":[0,1,2,3,4,5,6,7],"^/cli/reth/stage$":[0,1,2,3,4,5,6,7],"^/run/storage/pruning$":[0,1,2,3,4,5,6,7],"^/exex/hello-world$":[0,1,2,3,4,5,6,7],"^/jsonrpc/admin$":[0,1,2,3,4,5,6,7],"^/jsonrpc/reth$":[0,1,2,3,4,5,6,7],"^/exex/tracking-state$":[0,1,2,3,4,5,6,7],"^/run/configuration$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/settings/set/v2$":[6,1,0,2,3,4,5,7],"^/cli/reth/db/get/mdbx$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/clear/static-file$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/prune-checkpoints/get$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/static-file-header/block$":[0,1,2,3,4,5,6,7],"^/cli/reth/p2p/rlpx/ping$":[0,1,2,3,4,5,6,7],"^/cli/reth/stage/dump/execution$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/stage-checkpoints/set$":[0,1,2,3,4,5,6,7],"^/cli/reth/stage/unwind/to-block$":[0,1,2,3,4,5,6,7],"^/cli/reth/stage/run$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/checksum/static-file$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/clear/mdbx$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/get/rocksdb$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/prune-checkpoints/set$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/get/static-file$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/settings/get$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/static-file-header/path$":[0,1,2,3,4,5,6,7],"^/cli/reth/stage/dump/account-hashing$":[0,1,2,3,4,5,6,7],"^/cli/reth/stage/dump/storage-hashing$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/stage-checkpoints/get$":[0,1,2,3,4,5,6,7],"^/cli/reth/db/settings/set$":[0,1,2,3,4,5,6,7],"^/cli/reth/stage/dump/merkle$":[0,1,2,3,4,5,6,7],"^/cli/reth/stage/unwind/num-blocks$":[0,1,2,3,4,5,6,7],"^/jsonrpc/trace$":[0,1,2,3,4,5,6,7],"^/cli/reth/node$":[0,1,2,3,4,5,6,7],"^/exex/remote$":[0,1,2,3,4,5,6,7]}; 203 const key = Object.keys(path2idxs).find((key) => new RegExp(key).test(path)); 204 for (const idx of path2idxs[key] || []) { 205 callback(ids[idx]); 206 } 207}; 208</script>
208<script>(self.__FLIGHT_DATA||=[]).push("1:I[\"a649994c24a6\",[],\"Head\",1]\n2:I[\"4cd9b2542026\",[],\"Root_client\",1]\n3:I[\"847a2b1045ef\",[],\"Children\",1]\n4:I[\"9b5d422c5822\",[],\"ScrollRestoration\",1]\n5:I[\"847a2b1045ef\",[],\"Slot\",1]\n6:I[\"3aa2a5f301a9\",[],\"Provider\",1]\n7:I[\"5fed1ff16d81\",[],\"Main\",1]\n8:I[\"4d561a553cc0\",[],\"Link\",1]\n50:I[\"8d047032020c\",[],\"CopyButton\",1]\n51:I[\"41aa566ac2d0\",[],\"CollapseHandler\",1]\n52:I[\"956790180f2d\",[],\"FoldHandler\",1]\n53:I[\"8d047032020c\",[],\"ShellLineCopyButtons\",1]\n:HL[\"/assets/index-CSLjlPs0.css\",\"stylesheet\"]\n:HL[\"/assets/_root-ByERC5th.css\",\"stylesheet\"]\n:HL[\"/assets/vocs-group-icons-906af2cf08a8.css\",\"stylesheet\"]\n0:{\"root\":[\"$\",\"html\",null,{\"data-vocs\":true,\"lang\":\"en\",\"style\":{\"colorScheme\":\"light dark\",\"--vocs-color-accent\":\"light-dark(#1f1f1f, #ffffff)\"},\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"stylesheet\",\"href\":\"/assets/index-CSLjlPs0.css\"}],[\"$\",\"link\",null,{\"rel\":\"stylesheet\",\"href\":\"/assets/_root-ByERC5th.css\"}],[\"$\",\"link\",null,{\"rel\":\"stylesheet\",\"href\":\"/assets/vocs-group-icons-906af2cf08a8.css\"}],[\"$\",\"$L1\",null,{}]]}],[\"$\",\"body\",null,{\"data-version\":\"1.0\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{}]}],[\"$\",\"$L4\",null,{}]]}]]}],\"route:/introduction/contributing\":[\"$\",\"$L5\",null,{\"id\":\"page:/introduction/contributing\"}],\"page:/introduction/contributing\":[\"$\",\"$L6\",null,{\"frontmatter\":{\"title\":\"Contributing to Reth\",\"lastModified\":\"2026-10-02T09:22:52+02:00\",\"filePath\":\"introduction/contributing.mdx\"},\"children\":[[\"$\",\"$L1\",null,{}],[\"$\",\"$L7\",null,{\"children\":[[\"$\",\"h1\",null,{\"data-v\":\"\",\"id\":\"contributing-to-reth\",\"children\":\"Contributing to Reth\"}],\"\\n\",[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"Reth has docs specifically geared for developers and contributors, including documentation on the structure and architecture of reth, the general workflow we employ, and other useful tips.\"}],\"\\n\",[\"$\",\"h2\",null,{\"data-v\":\"\",\"id\":\"getting-help\",\"children\":[\"Getting Help\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#getting-help\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#getting-help\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"Need support or have questions? Open a github issue and/or join the TG chat:\"}],\"\\n\",[\"$\",\"ul\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"GitHub Issues\"}],\": \",[\"$\",\"$L8\",null,{\"href\":\"https://github.com/paradigmxyz/reth/issues/new\",\"data-v\":true,\"children\":\"Open an issue\",\"data-v-link\":true,\"to\":\"https://github.com/paradigmxyz/reth/issues/new\"}],\" for bugs or feature requests\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Telegram Chat\"}],\": \",[\"$\",\"$L8\",null,{\"href\":\"https://t.me/paradigm_reth\",\"data-v\":true,\"children\":\"Join our Telegram\",\"data-v-link\":true,\"to\":\"https://t.me/paradigm_reth\"}],\" for real-time support and discussions\"]}],\"\\n\"]}],\"\\n\",[\"$\",\"h2\",null,{\"data-v\":\"\",\"id\":\"repository-and-project-structure\",\"children\":[\"Repository and Project Structure\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#repository-and-project-structure\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\"
208:\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#repository-and-project-structure\"}]]}],\"\\n\",[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":[\"Reth is organized as a modular codebase with clear separation and a contributor friendly architecture, you can read about it in detail \",[\"$\",\"$L8\",null,{\"href\":\"https://github.com/paradigmxyz/reth/tree/main/docs\",\"data-v\":true,\"children\":\"here\",\"data-v-link\":true,\"to\":\"https://github.com/paradigmxyz/reth/tree/main/docs\"}],\". Here's the TL;DR:\"]}],\"\\n\",[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"design\",\"children\":[\"Design\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#design\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],\"$L9\"]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#design\"}]]}],\"\\n\",\"$La\",\"\\n\",\"$Lb\",\"\\n\",\"$Lc\",\"\\n\",\"$Ld\",\"\\n\",\"$Le\",\"\\n\",\"$Lf\",\"\\n\",\"$L10\",\"\\n\",\"$L11\",\"\\n\",\"$L12\",\"\\n\",\"$L13\",\"\\n\",\"$L14\",\"\\n\",\"$L15\",\"\\n\",\"$L16\",\"\\n\",\"$L17\",\"\\n\",\"$L18\",\"\\n\",\"$L19\",\"\\n\",\"$L1a\",\"\\n\",\"$L1b\",\"\\n\",\"$L1c\",\"\\n\",\"$L1d\",\"\\n\",\"$L1e\",\"\\n\",\"$L1f\",\"\\n\",\"$L20\",\"\\n\",\"$L21\",\"\\n\",\"$L22\",\"\\n\",\"$L23\",\"\\n\",\"$L24\",\"\\n\",\"$L25\",\"\\n\",\"$L26\",\"\\n\",\"$L27\",\"\\n\",\"$L28\",\"\\n\",\"$L29\",\"\\n\",\"$L2a\",\"\\n\",\"$L2b\",\"\\n\",\"$L2c\",\"\\n\",\"$L2d\",\"\\n\",\"$L2e\",\"\\n\",\"$L2f\",\"\\n\",\"$L30\",\"\\n\",\"$L31\",\"\\n\",\"$L32\",\"\\n\",\"$L33\",\"\\n\",\"$L34\",\"\\n\",\"$L35\",\"\\n\",\"$L36\",\"\\n\",\"$L37\",\"\\n\",\"$L38\",\"\\n\",\"$L39\",\"\\n\",\"$L3a\",\"\\n\",\"$L3b\",\"\\n\",\"$L3c\",\"\\n\",\"$L3d\",\"\\n\",\"$L3e\",\"\\n\",\"$L3f\",\"\\n\",\"$L40\",\"\\n\",\"$L41\",\"\\n\",\"$L42\",\"\\n\",\"$L43\",\"\\n\",\"$L44\",\"\\n\",\"$L45\",\"\\n\",\"$L46\",\"\\n\",\"$L47\",\"\\n\",\"$L48\",\"\\n\",\"$L49\",\"\\n\",\"$L4a\",\"\\n\",\"$L4b\",\"\\n\",\"$L4c\",\"\\n\",\"$L4d\",\"\\n\",\"$L4e\",\"\\n\",\"$L4f\"]}]]}],\"ROUTE\":[\"/introduction/contributing\",\"\"],\"IS_STATIC\":true,\"HAS404\":true,\"_buildId\":\"dAp_x7rx\"}\n9:[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]\na:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"Reth follows a modular architecture where each component can be used independently:\"}]\nb:[\"$\",\"ul\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Consensus\"}],\": Block validation and consensus rules\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Storage\"}],\": Hybrid database with MDBX + static files\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Networking\"}],\": P2P networking stack\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"RPC\"}],\": JSON-RPC server implementation\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Engine\"}],\": Consensus layer integration\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"EVM\"}],\": Transaction execution\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Node Builder\"}],\": High-level orchestration\"]}],\"\\n\"]}]\nc:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"crates\",\"children\":[\"Crates\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#crates\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\"
208:\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#crates\"}]]}]\nd:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":[\"The repository is organized into focused crates under \",[\"$\",\"code\",null,{\"data-v\":true,\"children\":\"/crates/\"}],\":\"]}]\ne:[\"$\",\"div\",null,{\"data-v-code-container\":true,\"children\":[\"$undefined\",[\"$\",\"pre\",null,{\"children\":[[\"$\",\"code\",null,{\"data-v\":true,\"children\":\"crates/\\nâââ consensus/ # Consensus and validation logic\\nâââ storage/ # Database and storage implementations\\nâââ net/ # Networking components\\nâââ rpc/ # JSON-RPC server and APIs\\nâââ engine/ # Engine API and consensus integration\\nâââ evm/ # EVM execution\\nâââ node/ # Node building and orchestration\\nâââ ethereum/ # Ethereum-specific implementations\\nâââ ...\\n\"}],false,[\"$\",\"$L50\",null,{}],false,[\"$\",\"$L51\",null,{}],[\"$\",\"$L52\",null,{}]],\"className\":\"vocs:relative vocs:group/code\",\"data-v\":true}]]}]\nf:[\"$\",\"h2\",null,{\"data-v\":\"\",\"id\":\"workflow-the-lifecycle-of-prs\",\"children\":[\"Workflow: The Lifecycle of PRs\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#workflow-the-lifecycle-of-prs\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#workflow-the-lifecycle-of-prs\"}]]}]\n10:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"1-before-you-start\",\"children\":[\"1. Before You Start\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#1-before-you-start\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#1-before-you-start\"}]]}]\n11:[\"$\",\"ul\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Check existing issues to avoid duplicate work\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"For large features, open an issue first to discuss the approach\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Fork the repository and create a feature branch\"}],\"\\n\"]}]\n12:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"2-development-process\",\"children\":[\"2. Development Process\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#2-development-process\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#2-development-process\"}]]}]\n13:[\"$\",\"h4\",null,{\"data-v\":\"\",\"id\":\"setting-up-your-environment\",\"children\":[\"Setting Up Your Environment\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#setting-up-your-environment\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\"
208:\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#setting-up-your-environment\"}]]}]\n14:[\"$\",\"div\",null,{\"data-v-code-container\":true,\"children\":[\"$undefined\",[\"$\",\"pre\",null,{\"className\":\"shiki shiki-themes github-light github-dark-dimmed vocs:relative vocs:group/code\",\"tabIndex\":\"0\",\"data-v-shell\":\"\",\"children\":[[\"$\",\"code\",null,{\"data-language\":\"bash\",\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"data-v-shell-line\":\"\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"data-v-shell-prompt\":\"\",\"children\":\"# \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"Clone your fork\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#6F42C1, #F69D50)\",\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#F69D50\"},\"children\":\"git\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" clone\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" https://github.com/YOUR_USERNAME/reth.git\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#005CC5, #6CB6FF)\",\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#6CB6FF\"},\"children\":\"cd\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" reth\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"data-empty-line\":true,\"children\":\" \"}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"data-v-shell-line\":\"\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"data-v-shell-prompt\":\"\",\"children\":\"# \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"Install dependencies and tools\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"data-v-shell-line\":\"\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"data-v-shell-prompt\":\"\",\"children\":\"# \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"Use nightly Rust for formatting\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#6F42C1, #F69D50)\",\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#F69D50\"},\"children\":\"rustup\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" install\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" nightly\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#6F42C1, #F69D50)\",\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#F69D50\"},\"children\":\"rustup\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" component\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" add\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" rustfmt\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#005CC5, #6CB6FF)\",\"--shiki-light\"
208:\"#005CC5\",\"--shiki-dark\":\"#6CB6FF\"},\"children\":\" --toolchain\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" nightly\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"data-empty-line\":true,\"children\":\" \"}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"data-v-shell-line\":\"\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-function)\"},\"data-v-shell-prompt\":\"\",\"children\":\"# \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"var(--shiki-token-string)\"},\"children\":\"Run the validation suite\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#6F42C1, #F69D50)\",\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#F69D50\"},\"children\":\"make\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" pr\"}]]}]],\"data-v\":true}],false,[\"$\",\"$L50\",null,{}],[\"$\",\"$L53\",null,{}],[\"$\",\"$L51\",null,{}],[\"$\",\"$L52\",null,{}]],\"data-v\":true}]]}]\n15:[\"$\",\"h4\",null,{\"data-v\":\"\",\"id\":\"code-style-and-standards\",\"children\":[\"Code Style and Standards\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#code-style-and-standards\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#code-style-and-standards\"}]]}]\n16:[\"$\",\"ul\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Formatting\"}],\": Use nightly rustfmt (\",[\"$\",\"code\",null,{\"data-v\":true,\"children\":\"cargo +nightly fmt\"}],\")\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Linting\"}],\": All clippy warnings must be addressed\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Documentation\"}],\": Add doc comments for public APIs\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Testing\"}],\": Include appropriate tests for your changes\"]}],\"\\n\"]}]\n17:[\"$\",\"h4\",null,{\"data-v\":\"\",\"id\":\"recommended-vs-code-settings\",\"children\":[\"Recommended VS Code Settings\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#recommended-vs-code-settings\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#recommended-vs-code-settings\"}]]}]\n18:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":[\"Install the \",[\"$\",\"code\",null,{\"data-v\":true,\"children\":\"rust-analyzer\"}],\" extension and use these settings for the best development experience:\"]}]\n19:[\"$\",\"div\",null,{\"data-v-code-container\":true,\"children\":[\"$undefined\",[\"$\",\"pre\",null,{\"className\":\"shiki shiki-themes g
208ithub-light github-dark-dimmed vocs:relative vocs:group/code\",\"tabIndex\":\"0\",\"children\":[[\"$\",\"code\",null,{\"data-language\":\"json\",\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#24292E, #ADBAC7)\",\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#ADBAC7\"},\"children\":\"{\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#005CC5, #8DDB8C)\",\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#8DDB8C\"},\"children\":\" \\\"rust-analyzer.rustfmt.overrideCommand\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#24292E, #ADBAC7)\",\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#ADBAC7\"},\"children\":\": [\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\"\\\"rustfmt\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#24292E, #ADBAC7)\",\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#ADBAC7\"},\"children\":\", \"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\"\\\"+nightly\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#24292E, #ADBAC7)\",\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#ADBAC7\"},\"children\":\"],\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#005CC5, #8DDB8C)\",\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#8DDB8C\"},\"children\":\" \\\"rust-analyzer.check.overrideCommand\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#24292E, #ADBAC7)\",\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#ADBAC7\"},\"children\":\": [\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" \\\"cargo\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#24292E, #ADBAC7)\",\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#ADBAC7\"},\"children\":\",\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" \\\"clippy\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#24292E, #ADBAC7)\",\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#ADBAC7\"},\"children\":\",\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" \\\"--workspace\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#24292E, #ADBAC7)\",\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#ADBAC7\"},\"children\":\",\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" \\\"--message-format=json\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#24292E, #ADBAC7)\",\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#ADBAC7\"},\"children\":\",\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" \\\"--all-targets\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#24292E, #ADBAC7)\",\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#ADBAC7\"},\"children\":\",\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\"
208:\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" \\\"--all-features\\\"\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#24292E, #ADBAC7)\",\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#ADBAC7\"},\"children\":\" ]\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#24292E, #ADBAC7)\",\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#ADBAC7\"},\"children\":\"}\"}]}]],\"data-v\":true}],false,[\"$\",\"$L50\",null,{}],false,[\"$\",\"$L51\",null,{}],[\"$\",\"$L52\",null,{}]],\"data-v\":true}]]}]\n1a:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"3-testing-your-changes\",\"children\":[\"3. Testing Your Changes\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#3-testing-your-changes\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#3-testing-your-changes\"}]]}]\n1b:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"Reth uses comprehensive testing at multiple levels:\"}]\n1c:[\"$\",\"h4\",null,{\"data-v\":\"\",\"id\":\"unit-tests\",\"children\":[\"Unit Tests\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#unit-tests\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#unit-tests\"}]]}]\n1d:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"Test specific functions and components:\"}]\n1e:[\"$\",\"div\",null,{\"data-v-code-container\":true,\"children\":[\"$undefined\",[\"$\",\"pre\",null,{\"className\":\"shiki shiki-themes github-light github-dark-dimmed vocs:relative vocs:group/code\",\"tabIndex\":\"0\",\"data-v-shell\":\"\",\"children\":[[\"$\",\"code\",null,{\"data-language\":\"bash\",\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#6F42C1, #F69D50)\",\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#F69D50\"},\"children\":\"cargo\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" test\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#005CC5, #6CB6FF)\",\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#6CB6FF\"},\"children\":\" --package\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" reth-ethereum-consensus\"}]]}],\"data-v\":true}],false,[\"$\",\"$L50\",null,{}],[\"$\",\"$L53\",null,{}],[\"$\",\"$L51\",null,{}],[\"$\",\"$L52\",null,{}]],\"data-v\":true}]]}]\n1f:[\"$\",\"h4\",null,{\"data-v\":\"\",\"id\":\"integration-tests\",\"children\":[\"Integration Tests\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#integration-tests\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#integration-tests\"}]]}]\n20:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"Test component interactions:\"}]\n21:[\"$\",\"div\",null,{\"data-v-code-container\":true,\"children\":[\"$undefined\",[\"$\",\"pre\",null,{\"className\":\"shiki shiki-themes g
208ithub-light github-dark-dimmed vocs:relative vocs:group/code\",\"tabIndex\":\"0\",\"data-v-shell\":\"\",\"children\":[[\"$\",\"code\",null,{\"data-language\":\"bash\",\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#6F42C1, #F69D50)\",\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#F69D50\"},\"children\":\"cargo\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" test\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#005CC5, #6CB6FF)\",\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#6CB6FF\"},\"children\":\" --test\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" integration_tests\"}]]}],\"data-v\":true}],false,[\"$\",\"$L50\",null,{}],[\"$\",\"$L53\",null,{}],[\"$\",\"$L51\",null,{}],[\"$\",\"$L52\",null,{}]],\"data-v\":true}]]}]\n22:[\"$\",\"h4\",null,{\"data-v\":\"\",\"id\":\"full-test-suite\",\"children\":[\"Full Test Suite\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#full-test-suite\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#full-test-suite\"}]]}]\n23:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"Run all tests including Ethereum Foundation tests:\"}]\n24:[\"$\",\"div\",null,{\"data-v-code-container\":true,\"children\":[\"$undefined\",[\"$\",\"pre\",null,{\"className\":\"shiki shiki-themes github-light github-dark-dimmed vocs:relative vocs:group/code\",\"tabIndex\":\"0\",\"data-v-shell\":\"\",\"children\":[[\"$\",\"code\",null,{\"data-language\":\"bash\",\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#6F42C1, #F69D50)\",\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#F69D50\"},\"children\":\"make\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" test\"}]]}],\"data-v\":true}],false,[\"$\",\"$L50\",null,{}],[\"$\",\"$L53\",null,{}],[\"$\",\"$L51\",null,{}],[\"$\",\"$L52\",null,{}]],\"data-v\":true}]]}]\n25:[\"$\",\"h4\",null,{\"data-v\":\"\",\"id\":\"validation-suite\",\"children\":[\"Validation Suite\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#validation-suite\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#validation-suite\"}]]}]\n26:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"Before submitting, always run:\"}]\n27:[\"$\",\"div\",null,{\"data-v-code-container\":true,\"children\":[\"$undefined\",[\"$\",\"pre\",null,{\"className\":\"shiki shiki-themes github-light github-dark-dimmed vocs:relative vocs:group/code\",\"tabIndex\":\"0\",\"data-v-shell\":\"\",\"children\":[[\"$\",\"code\",null,{\"data-language\":\"bash\",\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#6F42C1, #F69D50)\",\"--shiki-light\"
208:\"#6F42C1\",\"--shiki-dark\":\"#F69D50\"},\"children\":\"make\"}],[\"$\",\"span\",null,{\"style\":{\"color\":\"light-dark(#032F62, #96D0FF)\",\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#96D0FF\"},\"children\":\" pr\"}]]}],\"data-v\":true}],false,[\"$\",\"$L50\",null,{}],[\"$\",\"$L53\",null,{}],[\"$\",\"$L51\",null,{}],[\"$\",\"$L52\",null,{}]],\"data-v\":true}]]}]\n28:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"This runs:\"}]\n29:[\"$\",\"ul\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Code formatting checks\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Clippy linting\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Documentation generation\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Full test suite\"}],\"\\n\"]}]\n2a:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"4-submitting-your-pr\",\"children\":[\"4. Submitting Your PR\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#4-submitting-your-pr\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#4-submitting-your-pr\"}]]}]\n2b:[\"$\",\"h4\",null,{\"data-v\":\"\",\"id\":\"draft-prs-for-large-features\",\"children\":[\"Draft PRs for Large Features\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#draft-prs-for-large-features\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#draft-prs-for-large-features\"}]]}]\n2c:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"For substantial changes, open a draft PR early to get feedback on the approach.\"}]\n2d:[\"$\",\"h4\",null,{\"data-v\":\"\",\"id\":\"pr-requirements\",\"children\":[\"PR Requirements\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#pr-requirements\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#pr-requirements\"}]]}]\n2e:[\"$\",\"ul\",null,{\"className\":\"contains-task-list\",\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"className\":\"task-list-item\",\"data-v\":\"\",\"children\":[[\"$\",\"input\",null,{\"type\":\"checkbox\",\"disabled\":true}],\" \",\"Clear, descriptive title and description\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"task-list-item\",\"data-v\":\"\",\"children\":[[\"$\",\"input\",null,{\"type\":\"checkbox\",\"disabled\":true}],\" \",\"Tests for new functionality\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"task-list-item\",\"data-v\":\"\",\"children\":[[\"$\",\"input\",null,{\"type\":\"checkbox\",\"disabled\":true}],\" \",\"Documentation updates if needed\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"task-list-item\",\"data-v\":\"\",\"children\":[[\"$\",\"input\",null,{\"type\":\"checkbox\",\"disabled\":true}],\" \",\"All CI checks passing\"]}],\"\\n\",[\"$\",\"li\",null,{\"className\":\"task-list-item\",\"data-v\":\"\",\"children\":[[\"$\",\"input\",null,{\"type\":\"checkbox\",\"disabled\":true}],\" \",\"Commit messages follow conventional format\"]}],\"\\n\"]}]\n2f:[\"$\",\"h4\",null,{\"data-v\":\"\",\"id\":\"commit-message-format\",\"children\":[\"Commit Message Format\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#commit-message-format\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\"
208:\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#commit-message-format\"}]]}]\n30:[\"$\",\"div\",null,{\"data-v-code-container\":true,\"children\":[\"$undefined\",[\"$\",\"pre\",null,{\"children\":[[\"$\",\"code\",null,{\"data-v\":true,\"children\":\"type: brief description\\n\\nMore detailed explanation if needed.\\n\\n- feat: new feature\\n- fix: bug fix\\n- docs: documentation changes\\n- refactor: code refactoring\\n- test: adding tests\\n- chore: maintenance tasks\\n\"}],false,[\"$\",\"$L50\",null,{}],false,[\"$\",\"$L51\",null,{}],[\"$\",\"$L52\",null,{}]],\"className\":\"vocs:relative vocs:group/code\",\"data-v\":true}]]}]\n31:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"5-review-process\",\"children\":[\"5. Review Process\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#5-review-process\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#5-review-process\"}]]}]\n32:[\"$\",\"h4\",null,{\"data-v\":\"\",\"id\":\"who-can-review\",\"children\":[\"Who Can Review\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#who-can-review\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#who-can-review\"}]]}]\n33:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"Any community member can review PRs. We encourage participation from all skill levels.\"}]\n34:[\"$\",\"h4\",null,{\"data-v\":\"\",\"id\":\"what-reviewers-look-for\",\"children\":[\"What Reviewers Look For\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#what-reviewers-look-for\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#what-reviewers-look-for\"}]]}]\n35:[\"$\",\"ul\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Does the change improve Reth?\"}]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Are there clear bugs or issues?\"}]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Are commit messages clear and descriptive?\"}]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Is the code well-tested?\"}]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Is documentation updated appropriately?\"}]}],\"\\n\"]}]\n36:[\"$\",\"h4\",null,{\"data-v\":\"\",\"id\":\"review-guidelines\",\"children\":[\"Review Guidelines\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#review-guidelines\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\"
208:\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#review-guidelines\"}]]}]\n37:[\"$\",\"ul\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Be constructive and respectful\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Provide specific, actionable feedback\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Focus on significant issues first\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Acknowledge good work and improvements\"}],\"\\n\"]}]\n38:[\"$\",\"h2\",null,{\"data-v\":\"\",\"id\":\"releases-how-reth-is-released\",\"children\":[\"Releases: How Reth is Released\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#releases-how-reth-is-released\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#releases-how-reth-is-released\"}]]}]\n39:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"release-schedule\",\"children\":[\"Release Schedule\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#release-schedule\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#release-schedule\"}]]}]\n3a:[\"$\",\"ul\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Regular releases\"}],\": Following semantic versioning\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Security releases\"}],\": As needed for critical vulnerabilities\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Pre-releases\"}],\": For testing major changes\"]}],\"\\n\"]}]\n3b:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"release-process\",\"children\":[\"Release Process\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#release-process\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#release-process\"}]]}]\n3c:[\"$\",\"ol\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Version bump\"}],\": Update version numbers across crates\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Changelog\"}],\": Update \",[\"$\",\"code\",null,{\"data-v\":true,\"children\":\"CHANGELOG.md\"}],\" with notable changes\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Testing\"}],\": Final validation on testnet and mainnet\"]}
208],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Tagging\"}],\": Create release tags and GitHub releases\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Distribution\"}],\": Update package registries and Docker images\"]}],\"\\n\"]}]\n3d:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"release-criteria\",\"children\":[\"Release Criteria\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#release-criteria\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#release-criteria\"}]]}]\n3e:[\"$\",\"ul\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"All CI checks passing\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"No known critical bugs\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Documentation up to date\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Backwards compatibility considerations addressed\"}],\"\\n\"]}]\n3f:[\"$\",\"h2\",null,{\"data-v\":\"\",\"id\":\"ways-to-contribute\",\"children\":[\"Ways to Contribute\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#ways-to-contribute\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#ways-to-contribute\"}]]}]\n40:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"-feature-requests\",\"children\":[\"ð¡ Feature Requests\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#-feature-requests\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#-feature-requests\"}]]}]\n41:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"For feature requests, please include:\"}]\n42:[\"$\",\"ul\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Detailed explanation\"}],\": What should the feature do?\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Context and motivation\"}],\": Why is this feature needed?\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Examples\"}],\": How would it be used?\"]}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":[[\"$\",\"strong\",null,{\"data-v\":\"\",\"children\":\"Similar tools\"}],\": References to similar functionality elsewhere\"]}],\"\\n\"]}]\n43:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"-documentation\",\"children\":[\"ð Documentation\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#-documentation\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\"
208:\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#-documentation\"}]]}]\n44:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"Documentation improvements are always welcome:\"}]\n45:[\"$\",\"ul\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Add missing documentation\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Improve code examples\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Create tutorials or guides\"}],\"\\n\"]}]\n46:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"-code-contributions\",\"children\":[\"ð§ Code Contributions\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#-code-contributions\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#-code-contributions\"}]]}]\n47:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":\"Contributing code changes:\"}]\n48:[\"$\",\"ul\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Fix bugs identified in issues\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Implement requested features\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Improve performance\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Refactor for better maintainability\"}],\"\\n\"]}]\n49:[\"$\",\"h2\",null,{\"data-v\":\"\",\"id\":\"code-of-conduct\",\"children\":[\"Code of Conduct\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#code-of-conduct\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#code-of-conduct\"}]]}]\n4a:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":[\"Reth follows the \",[\"$\",\"$L8\",null,{\"href\":\"https://www.rust-lang.org/conduct.html\",\"data-v\":true,\"children\":\"Rust Code of Conduct\",\"data-v-link\":true,\"to\":\"https://www.rust-lang.org/conduct.html\"}],\". We are committed to providing a welcoming and inclusive environment for all contributors.\"]}]\n4b:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"our-standards\",\"children\":[\"Our Standards\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#our-standards\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\":\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#our-standards\"}]]}]\n4c:[\"$\",\"ul\",null,{\"data-v\":\"\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Be respectful and constructive\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Focus on what's best for the community\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Show empathy towards other contributors\"}],\"\\n\",[\"$\",\"li\",null,{\"data-v\":\"\",\"children\":\"Accept constructive criticism gracefully\"}],\"\\n\"]}]\n4d:[\"$\",\"h3\",null,{\"data-v\":\"\",\"id\":\"reporting-issues\",\"children\":[\"Reporting Issues\",[\"$\",\"$L8\",null,{\"aria-label\":\"Link to this section\",\"className\":\"heading-anchor\",\"href\":\"#reporting-issues\",\"children\":[\"$\",\"svg\",null,{\"className\":\"heading-anchor-icon\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"0.75em\",\"height\"
208:\"0.75em\",\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",null,{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}]]}],\"data-v-link\":true,\"data-v\":true,\"to\":\"#reporting-issues\"}]]}]\n4e:[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":[\"If you experience or witness behavior that violates our code of conduct, please report it to \",[\"$\",\"$L8\",null,{\"href\":\"mailto:[email protected]\",\"data-v\":true,\"children\":\"[email protected]\",\"data-v-link\":true,\"to\":\"mailto:[email protected]\"}],\".\"]}]\n4f:[\"$\",\"aside\",null,{\"data-v-callout\":true,\"data-v-context\":\"note\",\"data-v\":true,\"data-v-content\":true,\"children\":[[\"$\",\"div\",null,{\"data-v-callout-icon\":true,\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"1em\",\"height\":\"1em\",\"viewBox\":\"0 0 24 24\",\"children\":[null,[\"$\",\"g\",null,{\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":2,\"children\":[[\"$\",\"circle\",null,{\"cx\":12,\"cy\":12,\"r\":10}],[\"$\",\"path\",null,{\"d\":\"M12 16v-4m0-4h.01\"}]]}]]}],null,null,null,null,null]}],[\"$\",\"p\",null,{\"data-v\":\"\",\"children\":[\"Also read \",[\"$\",\"$L8\",null,{\"href\":\"https://github.com/paradigmxyz/reth/blob/main/CONTRIBUTING.md\",\"data-v\":true,\"children\":\"CONTRIBUTING.md\",\"data-v-link\":true,\"to\":\"https://github.com/paradigmxyz/reth/blob/main/CONTRIBUTING.md\"}],\" for in-depth guidelines.\"]}]]}]\n")</script>
208</body></html>
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.