go-ethereum/Understanding Geth's dashboard _ go-ethereum.html
2025-05-23 20:18:34 -04:00

312 lines
No EOL
236 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- saved from url=(0066)https://geth.ethereum.org/docs/monitoring/understanding-dashboards -->
<html lang="en" data-bybit-channel-name="0kyAGo4a6_A_ysW1uQBE6" data-theme="dark" style="color-scheme: dark;" class="js-focus-visible" data-js-focus-visible="" data-bybit-is-default-wallet="true"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Understanding Geth's dashboard | go-ethereum</title><meta name="application-name" content="go-ethereum"><meta name="image" content="https://geth.ethereum.org/images/metadata-gopher.png"><meta property="og:type" content="website"><meta property="og:site_name" content="go-ethereum"><meta property="og:image" content="https://geth.ethereum.org/images/metadata-gopher.png"><meta property="og:image:url" content="https://geth.ethereum.org/images/metadata-gopher.png"><meta property="og:image:secure_url" content="https://geth.ethereum.org/images/metadata-gopher.png"><meta property="og:image:alt" content="go-ethereum"><meta property="og:image:type" content="image/png"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:creator" content="@go_ethereum"><meta name="twitter:site" content="@go_ethereum"><meta name="twitter:image" content="https://geth.ethereum.org/images/metadata-gopher.png/#"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="icon" type="image/x-icon" href="https://geth.ethereum.org/favicon.ico"><meta name="title" content="Understanding Geth&#39;s dashboard | go-ethereum"><meta name="description" content="How to use a dashboard to understand a Geth node&#39;s performance"><meta property="og:title" content="Understanding Geth&#39;s dashboard | go-ethereum"><meta property="og:description" content="How to use a dashboard to understand a Geth node&#39;s performance"><meta property="og:url" content="https://geth.ethereum.org/docs/monitoring/understanding-dashboards"><meta property="twitter:url" content="https://geth.ethereum.org/docs/monitoring/understanding-dashboards"><meta name="twitter:title" content="Understanding Geth&#39;s dashboard | go-ethereum"><meta name="twitter:description" content="How to use a dashboard to understand a Geth node&#39;s performance"><meta name="next-head-count" content="25"><link rel="preconnect" href="https://fonts.googleapis.com/"><link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin="true"><link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin=""><link rel="preload" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/06540f71db0c83d7.css" as="style"><link rel="stylesheet" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/06540f71db0c83d7.css" data-n-g=""><noscript data-n-css=""></noscript><script type="text/javascript" async="" defer="" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/matomo.js.download"></script><script defer="" nomodule="" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/polyfills-78c92fac7aa8fdd8.js.download"></script><script src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/webpack-62c02dad1a6a4cb4.js.download" defer=""></script><script src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/framework-ecc4130bc7a58a64.js.download" defer=""></script><script src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/main-22c448dfb58825f6.js.download" defer=""></script><script src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/_app-0677b8eaec92c4a1.js.download" defer=""></script><script src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/42-5f9991663a11cd7a.js.download" defer=""></script><script src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/886-c5efa5c2ecd00b8c.js.download" defer=""></script><script src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/[...slug]-8181c6f606195428.js.download" defer=""></script><script src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/_buildManifest.js.download" defer=""></script><script src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/_ssgManifest.js.download" defer=""></script><style data-href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&amp;display=swap">@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKxjPg.woff) format('woff')}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8-qxjPg.woff) format('woff')}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbY2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8L6tjPg.woff) format('woff')}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwgknk-6nFg.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwgknk-6nFg.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwgknk-6nFg.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwgknk-6nFg.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwgknk-6nFg.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwgknk-4.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwgknk-6nFg.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwgknk-6nFg.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwgknk-6nFg.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwgknk-6nFg.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwgknk-6nFg.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwgknk-4.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwgknk-6nFg.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwgknk-6nFg.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwgknk-6nFg.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwgknk-6nFg.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwgknk-6nFg.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v20/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwgknk-4.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style><style data-href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&amp;display=swap">@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZs.woff) format('woff')}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuFuYMZs.woff) format('woff')}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style><style data-emotion="css-global" data-s="">:host,:root,[data-theme]{--chakra-ring-inset:var(--chakra-empty,/*!*/ /*!*/);--chakra-ring-offset-width:0px;--chakra-ring-offset-color:#fff;--chakra-ring-color:rgba(66, 153, 225, 0.6);--chakra-ring-offset-shadow:0 0 #0000;--chakra-ring-shadow:0 0 #0000;--chakra-space-x-reverse:0;--chakra-space-y-reverse:0;--chakra-colors-transparent:transparent;--chakra-colors-current:currentColor;--chakra-colors-black:#000000;--chakra-colors-white:#FFFFFF;--chakra-colors-whiteAlpha-50:rgba(255, 255, 255, 0.04);--chakra-colors-whiteAlpha-100:rgba(255, 255, 255, 0.06);--chakra-colors-whiteAlpha-200:rgba(255, 255, 255, 0.08);--chakra-colors-whiteAlpha-300:rgba(255, 255, 255, 0.16);--chakra-colors-whiteAlpha-400:rgba(255, 255, 255, 0.24);--chakra-colors-whiteAlpha-500:rgba(255, 255, 255, 0.36);--chakra-colors-whiteAlpha-600:rgba(255, 255, 255, 0.48);--chakra-colors-whiteAlpha-700:rgba(255, 255, 255, 0.64);--chakra-colors-whiteAlpha-800:rgba(255, 255, 255, 0.80);--chakra-colors-whiteAlpha-900:rgba(255, 255, 255, 0.92);--chakra-colors-blackAlpha-50:rgba(0, 0, 0, 0.04);--chakra-colors-blackAlpha-100:rgba(0, 0, 0, 0.06);--chakra-colors-blackAlpha-200:rgba(0, 0, 0, 0.08);--chakra-colors-blackAlpha-300:rgba(0, 0, 0, 0.16);--chakra-colors-blackAlpha-400:rgba(0, 0, 0, 0.24);--chakra-colors-blackAlpha-500:rgba(0, 0, 0, 0.36);--chakra-colors-blackAlpha-600:rgba(0, 0, 0, 0.48);--chakra-colors-blackAlpha-700:rgba(0, 0, 0, 0.64);--chakra-colors-blackAlpha-800:rgba(0, 0, 0, 0.80);--chakra-colors-blackAlpha-900:rgba(0, 0, 0, 0.92);--chakra-colors-gray-50:#F7FAFC;--chakra-colors-gray-100:#EDF2F7;--chakra-colors-gray-200:#E2E8F0;--chakra-colors-gray-300:#CBD5E0;--chakra-colors-gray-400:#A0AEC0;--chakra-colors-gray-500:#718096;--chakra-colors-gray-600:#4A5568;--chakra-colors-gray-700:#2D3748;--chakra-colors-gray-800:#1d242c;--chakra-colors-gray-900:#171923;--chakra-colors-red-50:#FFF5F5;--chakra-colors-red-100:#FED7D7;--chakra-colors-red-200:#FEB2B2;--chakra-colors-red-300:#FC8181;--chakra-colors-red-400:#F56565;--chakra-colors-red-500:#E53E3E;--chakra-colors-red-600:#C53030;--chakra-colors-red-700:#9B2C2C;--chakra-colors-red-800:#822727;--chakra-colors-red-900:#63171B;--chakra-colors-orange-50:#FFFAF0;--chakra-colors-orange-100:#FEEBC8;--chakra-colors-orange-200:#FBD38D;--chakra-colors-orange-300:#F6AD55;--chakra-colors-orange-400:#ED8936;--chakra-colors-orange-500:#DD6B20;--chakra-colors-orange-600:#C05621;--chakra-colors-orange-700:#9C4221;--chakra-colors-orange-800:#7B341E;--chakra-colors-orange-900:#652B19;--chakra-colors-yellow-50:#FBFDEF;--chakra-colors-yellow-100:#FEFCBF;--chakra-colors-yellow-200:#FAF089;--chakra-colors-yellow-300:#F6E05E;--chakra-colors-yellow-400:#ECC94B;--chakra-colors-yellow-500:#D69E2E;--chakra-colors-yellow-600:#B7791F;--chakra-colors-yellow-700:#975A16;--chakra-colors-yellow-800:#744210;--chakra-colors-yellow-900:#5F370E;--chakra-colors-green-50:#d7f5ef;--chakra-colors-green-100:#98FFEB;--chakra-colors-green-200:#06fece;--chakra-colors-green-300:#23EDC5;--chakra-colors-green-400:#1FD3B0;--chakra-colors-green-500:#2EBDA1;--chakra-colors-green-600:#11866f;--chakra-colors-green-700:#25534A;--chakra-colors-green-800:#173C35;--chakra-colors-green-900:#01100D;--chakra-colors-teal-50:#E6FFFA;--chakra-colors-teal-100:#B2F5EA;--chakra-colors-teal-200:#81E6D9;--chakra-colors-teal-300:#4FD1C5;--chakra-colors-teal-400:#38B2AC;--chakra-colors-teal-500:#319795;--chakra-colors-teal-600:#2C7A7B;--chakra-colors-teal-700:#285E61;--chakra-colors-teal-800:#234E52;--chakra-colors-teal-900:#1D4044;--chakra-colors-blue-50:#ebf8ff;--chakra-colors-blue-100:#bee3f8;--chakra-colors-blue-200:#90cdf4;--chakra-colors-blue-300:#63b3ed;--chakra-colors-blue-400:#4299e1;--chakra-colors-blue-500:#3182ce;--chakra-colors-blue-600:#2b6cb0;--chakra-colors-blue-700:#2c5282;--chakra-colors-blue-800:#2a4365;--chakra-colors-blue-900:#1A365D;--chakra-colors-cyan-50:#EDFDFD;--chakra-colors-cyan-100:#C4F1F9;--chakra-colors-cyan-200:#9DECF9;--chakra-colors-cyan-300:#76E4F7;--chakra-colors-cyan-400:#0BC5EA;--chakra-colors-cyan-500:#00B5D8;--chakra-colors-cyan-600:#00A3C4;--chakra-colors-cyan-700:#0987A0;--chakra-colors-cyan-800:#086F83;--chakra-colors-cyan-900:#065666;--chakra-colors-purple-50:#FAF5FF;--chakra-colors-purple-100:#E9D8FD;--chakra-colors-purple-200:#D6BCFA;--chakra-colors-purple-300:#B794F4;--chakra-colors-purple-400:#9F7AEA;--chakra-colors-purple-500:#805AD5;--chakra-colors-purple-600:#6B46C1;--chakra-colors-purple-700:#553C9A;--chakra-colors-purple-800:#44337A;--chakra-colors-purple-900:#322659;--chakra-colors-pink-50:#FFF5F7;--chakra-colors-pink-100:#FED7E2;--chakra-colors-pink-200:#FBB6CE;--chakra-colors-pink-300:#F687B3;--chakra-colors-pink-400:#ED64A6;--chakra-colors-pink-500:#D53F8C;--chakra-colors-pink-600:#B83280;--chakra-colors-pink-700:#97266D;--chakra-colors-pink-800:#702459;--chakra-colors-pink-900:#521B41;--chakra-colors-linkedin-50:#E8F4F9;--chakra-colors-linkedin-100:#CFEDFB;--chakra-colors-linkedin-200:#9BDAF3;--chakra-colors-linkedin-300:#68C7EC;--chakra-colors-linkedin-400:#34B3E4;--chakra-colors-linkedin-500:#00A0DC;--chakra-colors-linkedin-600:#008CC9;--chakra-colors-linkedin-700:#0077B5;--chakra-colors-linkedin-800:#005E93;--chakra-colors-linkedin-900:#004471;--chakra-colors-facebook-50:#E8F4F9;--chakra-colors-facebook-100:#D9DEE9;--chakra-colors-facebook-200:#B7C2DA;--chakra-colors-facebook-300:#6482C0;--chakra-colors-facebook-400:#4267B2;--chakra-colors-facebook-500:#385898;--chakra-colors-facebook-600:#314E89;--chakra-colors-facebook-700:#29487D;--chakra-colors-facebook-800:#223B67;--chakra-colors-facebook-900:#1E355B;--chakra-colors-messenger-50:#D0E6FF;--chakra-colors-messenger-100:#B9DAFF;--chakra-colors-messenger-200:#A2CDFF;--chakra-colors-messenger-300:#7AB8FF;--chakra-colors-messenger-400:#2E90FF;--chakra-colors-messenger-500:#0078FF;--chakra-colors-messenger-600:#0063D1;--chakra-colors-messenger-700:#0052AC;--chakra-colors-messenger-800:#003C7E;--chakra-colors-messenger-900:#002C5C;--chakra-colors-whatsapp-50:#dffeec;--chakra-colors-whatsapp-100:#b9f5d0;--chakra-colors-whatsapp-200:#90edb3;--chakra-colors-whatsapp-300:#65e495;--chakra-colors-whatsapp-400:#3cdd78;--chakra-colors-whatsapp-500:#22c35e;--chakra-colors-whatsapp-600:#179848;--chakra-colors-whatsapp-700:#0c6c33;--chakra-colors-whatsapp-800:#01421c;--chakra-colors-whatsapp-900:#001803;--chakra-colors-twitter-50:#E5F4FD;--chakra-colors-twitter-100:#C8E9FB;--chakra-colors-twitter-200:#A8DCFA;--chakra-colors-twitter-300:#83CDF7;--chakra-colors-twitter-400:#57BBF5;--chakra-colors-twitter-500:#1DA1F2;--chakra-colors-twitter-600:#1A94DA;--chakra-colors-twitter-700:#1681BF;--chakra-colors-twitter-800:#136B9E;--chakra-colors-twitter-900:#0D4D71;--chakra-colors-telegram-50:#E3F2F9;--chakra-colors-telegram-100:#C5E4F3;--chakra-colors-telegram-200:#A2D4EC;--chakra-colors-telegram-300:#7AC1E4;--chakra-colors-telegram-400:#47A9DA;--chakra-colors-telegram-500:#0088CC;--chakra-colors-telegram-600:#007AB8;--chakra-colors-telegram-700:#006BA1;--chakra-colors-telegram-800:#005885;--chakra-colors-telegram-900:#003F5E;--chakra-borders-none:0;--chakra-borders-1px:1px solid;--chakra-borders-2px:2px solid;--chakra-borders-4px:4px solid;--chakra-borders-8px:8px solid;--chakra-fonts-heading:"JetBrains Mono",monospace;--chakra-fonts-body:"Inter",sans-serif;--chakra-fonts-mono:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--chakra-fonts-button:"JetBrains Mono",monospace;--chakra-fonts-code:"JetBrains Mono",monospace;--chakra-fontSizes-3xs:0.45rem;--chakra-fontSizes-2xs:0.625rem;--chakra-fontSizes-xs:0.75rem;--chakra-fontSizes-sm:0.875rem;--chakra-fontSizes-md:1rem;--chakra-fontSizes-lg:1.125rem;--chakra-fontSizes-xl:1.25rem;--chakra-fontSizes-2xl:1.5rem;--chakra-fontSizes-3xl:1.875rem;--chakra-fontSizes-4xl:2.25rem;--chakra-fontSizes-5xl:3rem;--chakra-fontSizes-6xl:3.75rem;--chakra-fontSizes-7xl:4.5rem;--chakra-fontSizes-8xl:6rem;--chakra-fontSizes-9xl:8rem;--chakra-fontWeights-hairline:100;--chakra-fontWeights-thin:200;--chakra-fontWeights-light:300;--chakra-fontWeights-normal:400;--chakra-fontWeights-medium:500;--chakra-fontWeights-semibold:600;--chakra-fontWeights-bold:700;--chakra-fontWeights-extrabold:800;--chakra-fontWeights-black:900;--chakra-letterSpacings-tighter:-0.05em;--chakra-letterSpacings-tight:-0.025em;--chakra-letterSpacings-normal:0;--chakra-letterSpacings-wide:0.025em;--chakra-letterSpacings-wider:0.05em;--chakra-letterSpacings-widest:0.1em;--chakra-lineHeights-3:.75rem;--chakra-lineHeights-4:1rem;--chakra-lineHeights-5:1.25rem;--chakra-lineHeights-6:1.5rem;--chakra-lineHeights-7:1.75rem;--chakra-lineHeights-8:2rem;--chakra-lineHeights-9:2.25rem;--chakra-lineHeights-10:2.5rem;--chakra-lineHeights-normal:normal;--chakra-lineHeights-none:1;--chakra-lineHeights-shorter:1.25;--chakra-lineHeights-short:1.375;--chakra-lineHeights-base:1.5;--chakra-lineHeights-tall:1.625;--chakra-lineHeights-taller:2;--chakra-radii-none:0;--chakra-radii-sm:0.125rem;--chakra-radii-base:0.25rem;--chakra-radii-md:0.375rem;--chakra-radii-lg:0.5rem;--chakra-radii-xl:0.75rem;--chakra-radii-2xl:1rem;--chakra-radii-3xl:1.5rem;--chakra-radii-full:9999px;--chakra-space-1:0.25rem;--chakra-space-2:0.5rem;--chakra-space-3:0.75rem;--chakra-space-4:1rem;--chakra-space-5:1.25rem;--chakra-space-6:1.5rem;--chakra-space-7:1.75rem;--chakra-space-8:2rem;--chakra-space-9:2.25rem;--chakra-space-10:2.5rem;--chakra-space-12:3rem;--chakra-space-14:3.5rem;--chakra-space-16:4rem;--chakra-space-20:5rem;--chakra-space-24:6rem;--chakra-space-28:7rem;--chakra-space-32:8rem;--chakra-space-36:9rem;--chakra-space-40:10rem;--chakra-space-44:11rem;--chakra-space-48:12rem;--chakra-space-52:13rem;--chakra-space-56:14rem;--chakra-space-60:15rem;--chakra-space-64:16rem;--chakra-space-72:18rem;--chakra-space-80:20rem;--chakra-space-96:24rem;--chakra-space-px:1px;--chakra-space-0-5:0.125rem;--chakra-space-1-5:0.375rem;--chakra-space-2-5:0.625rem;--chakra-space-3-5:0.875rem;--chakra-shadows-xs:0 0 0 1px rgba(0, 0, 0, 0.05);--chakra-shadows-sm:0 1px 2px 0 rgba(0, 0, 0, 0.05);--chakra-shadows-base:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);--chakra-shadows-md:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);--chakra-shadows-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1),0 4px 6px -2px rgba(0, 0, 0, 0.05);--chakra-shadows-xl:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);--chakra-shadows-2xl:0 25px 50px -12px rgba(0, 0, 0, 0.25);--chakra-shadows-outline:0 0 0 3px rgba(66, 153, 225, 0.6);--chakra-shadows-inner:inset 0 2px 4px 0 rgba(0,0,0,0.06);--chakra-shadows-none:none;--chakra-shadows-dark-lg:rgba(0, 0, 0, 0.1) 0px 0px 0px 1px,rgba(0, 0, 0, 0.2) 0px 5px 10px,rgba(0, 0, 0, 0.4) 0px 15px 40px;--chakra-shadows-linkBoxShadow:0 0 0 1px #11866f!important;--chakra-sizes-1:0.25rem;--chakra-sizes-2:0.5rem;--chakra-sizes-3:0.75rem;--chakra-sizes-4:1rem;--chakra-sizes-5:1.25rem;--chakra-sizes-6:1.5rem;--chakra-sizes-7:1.75rem;--chakra-sizes-8:2rem;--chakra-sizes-9:2.25rem;--chakra-sizes-10:2.5rem;--chakra-sizes-12:3rem;--chakra-sizes-14:3.5rem;--chakra-sizes-16:4rem;--chakra-sizes-20:5rem;--chakra-sizes-24:6rem;--chakra-sizes-28:7rem;--chakra-sizes-32:8rem;--chakra-sizes-36:9rem;--chakra-sizes-40:10rem;--chakra-sizes-44:11rem;--chakra-sizes-48:12rem;--chakra-sizes-52:13rem;--chakra-sizes-56:14rem;--chakra-sizes-60:15rem;--chakra-sizes-64:16rem;--chakra-sizes-72:18rem;--chakra-sizes-80:20rem;--chakra-sizes-96:24rem;--chakra-sizes-px:1px;--chakra-sizes-0-5:0.125rem;--chakra-sizes-1-5:0.375rem;--chakra-sizes-2-5:0.625rem;--chakra-sizes-3-5:0.875rem;--chakra-sizes-max:max-content;--chakra-sizes-min:min-content;--chakra-sizes-full:100%;--chakra-sizes-3xs:14rem;--chakra-sizes-2xs:16rem;--chakra-sizes-xs:20rem;--chakra-sizes-sm:24rem;--chakra-sizes-md:28rem;--chakra-sizes-lg:32rem;--chakra-sizes-xl:36rem;--chakra-sizes-2xl:42rem;--chakra-sizes-3xl:48rem;--chakra-sizes-4xl:56rem;--chakra-sizes-5xl:64rem;--chakra-sizes-6xl:72rem;--chakra-sizes-7xl:80rem;--chakra-sizes-8xl:90rem;--chakra-sizes-prose:60ch;--chakra-sizes-container-sm:480px;--chakra-sizes-container-md:768px;--chakra-sizes-container-lg:1096px;--chakra-sizes-container-xl:1200px;--chakra-sizes-container-2xl:1536px;--chakra-zIndices-hide:-1;--chakra-zIndices-auto:auto;--chakra-zIndices-base:0;--chakra-zIndices-docked:10;--chakra-zIndices-dropdown:1000;--chakra-zIndices-sticky:1100;--chakra-zIndices-banner:1200;--chakra-zIndices-overlay:1300;--chakra-zIndices-modal:1400;--chakra-zIndices-popover:1500;--chakra-zIndices-skipLink:1600;--chakra-zIndices-toast:1700;--chakra-zIndices-tooltip:1800;--chakra-transition-property-common:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;--chakra-transition-property-colors:background-color,border-color,color,fill,stroke;--chakra-transition-property-dimensions:width,height;--chakra-transition-property-position:left,right,top,bottom;--chakra-transition-property-background:background-color,background-image,background-position;--chakra-transition-easing-ease-in:cubic-bezier(0.4, 0, 1, 1);--chakra-transition-easing-ease-out:cubic-bezier(0, 0, 0.2, 1);--chakra-transition-easing-ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);--chakra-transition-duration-ultra-fast:50ms;--chakra-transition-duration-faster:100ms;--chakra-transition-duration-fast:150ms;--chakra-transition-duration-normal:200ms;--chakra-transition-duration-slow:300ms;--chakra-transition-duration-slower:400ms;--chakra-transition-duration-ultra-slow:500ms;--chakra-blur-none:0;--chakra-blur-sm:4px;--chakra-blur-base:8px;--chakra-blur-md:12px;--chakra-blur-lg:16px;--chakra-blur-xl:24px;--chakra-blur-2xl:40px;--chakra-blur-3xl:64px;}.chakra-ui-light :host:not([data-theme]),.chakra-ui-light :root:not([data-theme]),.chakra-ui-light [data-theme]:not([data-theme]),[data-theme=light] :host:not([data-theme]),[data-theme=light] :root:not([data-theme]),[data-theme=light] [data-theme]:not([data-theme]),:host[data-theme=light],:root[data-theme=light],[data-theme][data-theme=light]{--chakra-colors-chakra-body-text:var(--chakra-colors-gray-800);--chakra-colors-chakra-body-bg:var(--chakra-colors-white);--chakra-colors-chakra-border-color:var(--chakra-colors-gray-200);--chakra-colors-chakra-placeholder-color:var(--chakra-colors-gray-500);--chakra-colors-primary:var(--chakra-colors-green-700);--chakra-colors-secondary:var(--chakra-colors-green-800);--chakra-colors-button-bg:var(--chakra-colors-green-50);--chakra-colors-body:var(--chakra-colors-gray-800);--chakra-colors-code-bg:var(--chakra-colors-gray-200);--chakra-colors-terminal-bg:var(--chakra-colors-gray-800);--chakra-colors-terminal-text:var(--chakra-colors-green-50);--chakra-colors-bg:var(--chakra-colors-yellow-50);}.chakra-ui-dark :host:not([data-theme]),.chakra-ui-dark :root:not([data-theme]),.chakra-ui-dark [data-theme]:not([data-theme]),[data-theme=dark] :host:not([data-theme]),[data-theme=dark] :root:not([data-theme]),[data-theme=dark] [data-theme]:not([data-theme]),:host[data-theme=dark],:root[data-theme=dark],[data-theme][data-theme=dark]{--chakra-colors-chakra-body-text:var(--chakra-colors-whiteAlpha-900);--chakra-colors-chakra-body-bg:var(--chakra-colors-gray-800);--chakra-colors-chakra-border-color:var(--chakra-colors-whiteAlpha-300);--chakra-colors-chakra-placeholder-color:var(--chakra-colors-whiteAlpha-400);--chakra-colors-primary:var(--chakra-colors-green-200);--chakra-colors-secondary:var(--chakra-colors-green-600);--chakra-colors-button-bg:var(--chakra-colors-green-900);--chakra-colors-body:var(--chakra-colors-yellow-50);--chakra-colors-code-bg:var(--chakra-colors-gray-900);--chakra-colors-terminal-bg:var(--chakra-colors-gray-900);--chakra-colors-terminal-text:var(--chakra-colors-green-200);--chakra-colors-bg:var(--chakra-colors-gray-800);}</style><style data-emotion="css-global" data-s="">html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;}body{position:relative;min-height:100%;font-feature-settings:'kern';}*,*::before,*::after{border-width:0;border-style:solid;box-sizing:border-box;}main{display:block;}hr{border-top-width:1px;box-sizing:content-box;height:0;overflow:visible;}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1em;}a{background-color:transparent;color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;}abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bold;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}fieldset{padding:0.35em 0.75em 0.625em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none!important;}input[type="number"]{-moz-appearance:textfield;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none!important;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:-webkit-box;display:-webkit-list-item;display:-ms-list-itembox;display:list-item;}template{display:none;}[hidden]{display:none!important;}body,blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0;}button{background:transparent;padding:0;}fieldset{margin:0;padding:0;}ol,ul{margin:0;padding:0;}textarea{resize:vertical;}button,[role="button"]{cursor:pointer;}button::-moz-focus-inner{border:0!important;}table{border-collapse:collapse;}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit;}img,svg,video,canvas,audio,iframe,embed,object{display:block;}img,video{max-width:100%;height:auto;}[data-js-focus-visible] :focus:not([data-focus-visible-added]):not([data-focus-visible-disabled]){outline:none;box-shadow:none;}select::-ms-expand{display:none;}:root{--chakra-vh:100vh;}@supports (height: -webkit-fill-available){:root{--chakra-vh:-webkit-fill-available;}}@supports (height: -moz-fill-available){:root{--chakra-vh:-moz-fill-available;}}@supports (height: 100lvh){:root{--chakra-vh:100lvh;}}</style><style data-emotion="css-global" data-s="">body{font-family:var(--chakra-fonts-body);color:var(--chakra-colors-chakra-body-text);background:var(--chakra-colors-bg);transition-property:background-color;transition-duration:var(--chakra-transition-duration-normal);line-height:var(--chakra-lineHeights-base);-webkit-transition:all 200ms linear!important;transition:all 200ms linear!important;}*::-webkit-input-placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*::-moz-placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*:-ms-input-placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*::placeholder{color:var(--chakra-colors-chakra-placeholder-color);}*,*::before,::after{border-color:var(--chakra-colors-chakra-border-color);word-wrap:break-word;}code{font-family:var(--chakra-fonts-code)!important;}</style><style data-emotion="css 1yblbv" data-s="">.css-1yblbv{width:100%;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;max-width:var(--chakra-sizes-full);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);margin-top:var(--chakra-space-4);margin-bottom:var(--chakra-space-4);}@media screen and (min-width: 48em){.css-1yblbv{max-width:var(--chakra-sizes-container-2xl);margin-top:var(--chakra-space-7);margin-bottom:var(--chakra-space-7);}}</style><style data-emotion="css am1ly6" data-s="">.css-am1ly6{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:calc(100vh - 3.5rem);}</style><style data-emotion="css ho6z57" data-s="">.css-ho6z57{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:var(--chakra-space-4);border:var(--chakra-borders-2px);border-color:var(--chakra-colors-primary);position:relative;}@media screen and (min-width: 62em){.css-ho6z57{margin-bottom:var(--chakra-space-8);}}</style><style data-emotion="css 3nmjhd" data-s="">.css-3nmjhd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;padding:var(--chakra-space-4);border-right:var(--chakra-borders-2px);border-color:var(--chakra-colors-primary);-webkit-flex:1;-ms-flex:1;flex:1;gap:var(--chakra-space-6);}</style><style data-emotion="css 13jvj27" data-s="">.css-13jvj27{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;}.css-13jvj27:hover,.css-13jvj27[data-hover]{-webkit-text-decoration:none;text-decoration:none;}.css-13jvj27:focus-visible,.css-13jvj27[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}</style><style data-emotion="css 1mzyz4r" data-s="">.css-1mzyz4r{font-family:var(--chakra-fonts-heading);font-weight:700;letter-spacing:0.04rem;font-size:0.86rem;color:var(--chakra-colors-body);white-space:nowrap;}@media screen and (min-width: 30em){.css-1mzyz4r{font-size:1rem;}}</style><style data-emotion="css 1cbmkwm" data-s="">.css-1cbmkwm{pointer-events:none;width:0px;opacity:0;-webkit-transition:opacity 200ms ease-in-out;transition:opacity 200ms ease-in-out;}.css-1cbmkwm:focus,.css-1cbmkwm[data-focus]{opacity:1;width:auto;-webkit-transition:opacity 200ms ease-in-out;transition:opacity 200ms ease-in-out;}</style><style data-emotion="css e31zx4" data-s="">.css-e31zx4{font-family:var(--chakra-fonts-heading);font-weight:700;letter-spacing:0.04rem;color:var(--chakra-colors-body);white-space:nowrap;font-size:var(--chakra-fontSizes-xs);}</style><style data-emotion="css k008qs" data-s="">.css-k008qs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}</style><style data-emotion="css 1lj7dtf" data-s="">.css-1lj7dtf{display:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.css-1lj7dtf>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}@media screen and (min-width: 48em){.css-1lj7dtf{display:block;}}</style><style data-emotion="css 1g7zkn" data-s="">.css-1g7zkn{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}@media screen and (min-width: 48em){.css-1g7zkn{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}}</style><style data-emotion="css 2h6j0j" data-s="">.css-2h6j0j{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:var(--chakra-space-8);border-bottom:var(--chakra-borders-2px);border-right:var(--chakra-borders-none);border-color:var(--chakra-colors-bg);color:var(--chakra-colors-bg);}.css-2h6j0j>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}.css-2h6j0j:hover,.css-2h6j0j[data-hover]{-webkit-text-decoration:none;text-decoration:none;background:var(--chakra-colors-primary);color:var(--chakra-colors-bg)!important;}@media screen and (min-width: 48em){.css-2h6j0j{padding:var(--chakra-space-4);border-bottom:var(--chakra-borders-none);border-right:var(--chakra-borders-2px);border-color:var(--chakra-colors-primary);color:var(--chakra-colors-primary);}}</style><style data-emotion="css 5bp4bq" data-s="">.css-5bp4bq{font-family:var(--chakra-fonts-heading);text-transform:uppercase;font-size:var(--chakra-fontSizes-2xl);}@media screen and (min-width: 48em){.css-5bp4bq{font-family:var(--chakra-fonts-heading);font-weight:700;font-size:0.86rem;}@media screen and (min-width: 30em){.css-5bp4bq{font-size:1rem;}}}</style><style data-emotion="css xnjnw4" data-s="">.css-xnjnw4{display:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border-right:var(--chakra-borders-2px);border-color:var(--chakra-colors-primary);}.css-xnjnw4>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}@media screen and (min-width: 48em){.css-xnjnw4{display:block;}}</style><style data-emotion="css 14dbxni" data-s="">.css-14dbxni{padding:var(--chakra-space-4);border-right:var(--chakra-borders-2px);border-color:var(--chakra-colors-primary);}.css-14dbxni:hover,.css-14dbxni[data-hover]{background:var(--chakra-colors-primary);}.css-14dbxni:hover svg,.css-14dbxni[data-hover] svg{color:var(--chakra-colors-bg);}@media screen and (min-width: 48em){.css-14dbxni{border-right:var(--chakra-borders-none);}}</style><style data-emotion="css 1hm38nr" data-s="">.css-1hm38nr{width:1em;height:1em;display:inline-block;line-height:1em;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;color:var(--chakra-colors-primary);vertical-align:middle;}</style><style data-emotion="css go7c78" data-s="">.css-go7c78{padding:var(--chakra-space-4);display:block;color:var(--chakra-colors-primary);}.css-go7c78:hover,.css-go7c78[data-hover]{background:var(--chakra-colors-primary);color:var(--chakra-colors-bg);}@media screen and (min-width: 48em){.css-go7c78{display:none;}}</style><style data-emotion="css onkibi" data-s="">.css-onkibi{width:1em;height:1em;display:inline-block;line-height:1em;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;color:currentColor;vertical-align:middle;}</style><style data-emotion="css pyiqap" data-s="">.css-pyiqap{display:grid;grid-gap:var(--chakra-space-4);grid-template-columns:repeat(1, 1fr);}@media screen and (min-width: 62em){.css-pyiqap{grid-gap:var(--chakra-space-8);grid-template-columns:288px 1fr;}}</style><style data-emotion="css n21gh5" data-s="">.css-n21gh5{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.css-n21gh5>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}</style><style data-emotion="css xjbhn7" data-s="">.css-xjbhn7{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;}.css-xjbhn7>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}@media screen and (min-width: 62em){.css-xjbhn7{width:var(--chakra-sizes-72);}}</style><style data-emotion="css c230cv" data-s="">.css-c230cv{display:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.css-c230cv>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}@media screen and (min-width: 62em){.css-c230cv{display:block;}}</style><style data-emotion="css 1kxf1mu" data-s="">.css-1kxf1mu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border:var(--chakra-borders-2px);border-color:var(--chakra-colors-primary);}.css-1kxf1mu>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}</style><style data-emotion="css t9xfd" data-s="">.css-t9xfd{margin-top:0!important;}</style><style data-emotion="css 1t7rcca" data-s="">.css-1t7rcca{border-top-width:1px;border-color:inherit;overflow-anchor:none;border:var(--chakra-borders-none);}.css-1t7rcca:last-of-type{border-bottom-width:1px;}</style><style data-emotion="css 5jn0s9" data-s="">.css-5jn0s9{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;outline:2px solid transparent;outline-offset:2px;transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);padding-top:var(--chakra-space-2);padding-bottom:var(--chakra-space-2);border-bottom:var(--chakra-borders-2px);padding:0px;border-color:var(--chakra-colors-primary);-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;place-content:flex-end;background:var(--chakra-colors-button-bg);}.css-5jn0s9:focus-visible,.css-5jn0s9[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-5jn0s9:hover,.css-5jn0s9[data-hover]{background:var(--chakra-colors-blackAlpha-50);}.css-5jn0s9[disabled],.css-5jn0s9[aria-disabled=true],.css-5jn0s9[data-disabled]{opacity:0.4;cursor:not-allowed;}</style><style data-emotion="css 1bpr9l5" data-s="">.css-1bpr9l5{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:var(--chakra-space-4);border-right:var(--chakra-borders-2px);border-color:var(--chakra-colors-primary);width:100%;background:var(--chakra-colors-bg);color:var(--chakra-colors-primary);}.css-1bpr9l5>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}[role=group]:hover .css-1bpr9l5,[role=group][data-hover] .css-1bpr9l5,[data-group]:hover .css-1bpr9l5,[data-group][data-hover] .css-1bpr9l5,.group:hover .css-1bpr9l5,.group[data-hover] .css-1bpr9l5{background:var(--chakra-colors-primary);color:var(--chakra-colors-bg);-webkit-text-decoration:none;text-decoration:none;}</style><style data-emotion="css vqdvr5" data-s="">.css-vqdvr5{font-family:var(--chakra-fonts-heading);font-weight:700;font-size:0.875rem;line-height:18.48px;letter-spacing:4%;text-align:left;}</style><style data-emotion="css 1dcaofd" data-s="">.css-1dcaofd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-width:61px;}.css-1dcaofd>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}</style><style data-emotion="css gmuwbf" data-s="">.css-gmuwbf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}</style><style data-emotion="css ge2v0f" data-s="">.css-ge2v0f{width:24px;height:24px;display:inline-block;line-height:1em;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;color:var(--chakra-colors-primary);vertical-align:middle;}</style><style data-emotion="css llreyz" data-s="">.css-llreyz{padding-top:var(--chakra-space-4);-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-bottom:var(--chakra-space-4);border-bottom:2px solid;border-color:var(--chakra-colors-primary);}</style><style data-emotion="css 1gkslkv" data-s="">.css-1gkslkv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);}.css-1gkslkv>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}</style><style data-emotion="css 1ymdxof" data-s="">.css-1ymdxof{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-bottom:0px;}.css-1ymdxof>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}.css-1ymdxof:hover,.css-1ymdxof[data-hover]{background:var(--chakra-colors-primary);color:var(--chakra-colors-bg);}</style><style data-emotion="css k943rb" data-s="">.css-k943rb{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none!important;text-decoration:none!important;outline:2px solid transparent;outline-offset:2px;color:inherit;}.css-k943rb:hover,.css-k943rb[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-k943rb:focus-visible,.css-k943rb[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}</style><style data-emotion="css 1f8x31h" data-s="">.css-1f8x31h{font-family:var(--chakra-fonts-heading);weight:400px;font-size:0.875rem;line-height:var(--chakra-lineHeights-6);letter-spacing:0.01em;color:var(--chakra-colors-body);}.css-1f8x31h::before{content:"■";vertical-align:-1.25px;-webkit-margin-end:var(--chakra-space-2);margin-inline-end:var(--chakra-space-2);font-size:var(--chakra-fontSizes-lg);display:none;}[role=group]:hover .css-1f8x31h,[role=group][data-hover] .css-1f8x31h,[data-group]:hover .css-1f8x31h,[data-group][data-hover] .css-1f8x31h,.group:hover .css-1f8x31h,.group[data-hover] .css-1f8x31h{color:var(--chakra-colors-bg);box-shadow:0 0 0 var(--chakra-space-2) var(--chakra-colors-primary);}</style><style data-emotion="css 6x9ys0" data-s="">.css-6x9ys0{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-bottom:var(--chakra-space-6);}.css-6x9ys0>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}</style><style data-emotion="css u22t7j" data-s="">.css-u22t7j{font-family:var(--chakra-fonts-heading);weight:400px;font-size:0.875rem;line-height:var(--chakra-lineHeights-6);letter-spacing:0.01em;color:var(--chakra-colors-primary);}</style><style data-emotion="css f9zxfy" data-s="">.css-f9zxfy{font-family:var(--chakra-fonts-heading);weight:400px;font-size:0.875rem;line-height:var(--chakra-lineHeights-6);letter-spacing:0.01em;color:var(--chakra-colors-primary);}.css-f9zxfy::before{content:"■";vertical-align:-1.25px;-webkit-margin-end:var(--chakra-space-2);margin-inline-end:var(--chakra-space-2);font-size:var(--chakra-fontSizes-lg);display:-webkit-box;display:-webkit-unset;display:-ms-unsetbox;display:unset;}[role=group]:hover .css-f9zxfy,[role=group][data-hover] .css-f9zxfy,[data-group]:hover .css-f9zxfy,[data-group][data-hover] .css-f9zxfy,.group:hover .css-f9zxfy,.group[data-hover] .css-f9zxfy{color:var(--chakra-colors-bg);box-shadow:0 0 0 var(--chakra-space-2) var(--chakra-colors-primary);}</style><style data-emotion="css 10829se" data-s="">.css-10829se{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:var(--chakra-space-4);border-right:var(--chakra-borders-none);border-color:var(--chakra-colors-primary);width:100%;background:var(--chakra-colors-bg);color:var(--chakra-colors-primary);}.css-10829se>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}[role=group]:hover .css-10829se,[role=group][data-hover] .css-10829se,[data-group]:hover .css-10829se,[data-group][data-hover] .css-10829se,.group:hover .css-10829se,.group[data-hover] .css-10829se{background:var(--chakra-colors-primary);color:var(--chakra-colors-bg);-webkit-text-decoration:none;text-decoration:none;}</style><style data-emotion="css k1a737" data-s="">.css-k1a737{font-family:var(--chakra-fonts-heading);font-weight:700;font-size:0.875rem;line-height:18.48px;letter-spacing:4%;text-align:left;color:unset;}.css-k1a737::before{content:"■";vertical-align:-1.25px;-webkit-margin-end:var(--chakra-space-2);margin-inline-end:var(--chakra-space-2);font-size:var(--chakra-fontSizes-lg);display:none;}[role=group]:hover .css-k1a737,[role=group][data-hover] .css-k1a737,[data-group]:hover .css-k1a737,[data-group][data-hover] .css-k1a737,.group:hover .css-k1a737,.group[data-hover] .css-k1a737{color:var(--chakra-colors-bg);}</style><style data-emotion="css 5fthjt" data-s="">.css-5fthjt{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;outline:2px solid transparent;outline-offset:2px;transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);padding-top:var(--chakra-space-2);padding-bottom:var(--chakra-space-2);border-bottom:var(--chakra-borders-none);padding:0px;border-color:var(--chakra-colors-primary);-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;place-content:flex-end;background:var(--chakra-colors-button-bg);}.css-5fthjt:focus-visible,.css-5fthjt[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-5fthjt:hover,.css-5fthjt[data-hover]{background:var(--chakra-colors-blackAlpha-50);}.css-5fthjt[disabled],.css-5fthjt[aria-disabled=true],.css-5fthjt[data-disabled]{opacity:0.4;cursor:not-allowed;}</style><style data-emotion="css 12wi7kw" data-s="">.css-12wi7kw{display:block;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.css-12wi7kw>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}@media screen and (min-width: 62em){.css-12wi7kw{display:none;}}</style><style data-emotion="css 18nbkvo" data-s="">.css-18nbkvo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;outline:2px solid transparent;outline-offset:2px;transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-normal);font-size:var(--chakra-fontSizes-md);-webkit-padding-start:var(--chakra-space-8);padding-inline-start:var(--chakra-space-8);-webkit-padding-end:var(--chakra-space-8);padding-inline-end:var(--chakra-space-8);padding-top:var(--chakra-space-4);padding-bottom:var(--chakra-space-4);border:var(--chakra-borders-2px);border-color:var(--chakra-colors-primary);place-content:space-between;background:var(--chakra-colors-button-bg);}.css-18nbkvo:focus-visible,.css-18nbkvo[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-18nbkvo:hover,.css-18nbkvo[data-hover]{background:var(--chakra-colors-primary);color:var(--chakra-colors-bg);}.css-18nbkvo[disabled],.css-18nbkvo[aria-disabled=true],.css-18nbkvo[data-disabled]{opacity:0.4;cursor:not-allowed;}.css-18nbkvo[aria-expanded=true],.css-18nbkvo[data-expanded]{background:var(--chakra-colors-primary);color:var(--chakra-colors-bg);}</style><style data-emotion="css 186l2rg" data-s="">.css-186l2rg{width:1em;height:1em;display:inline-block;line-height:1em;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;color:currentColor;opacity:1;-webkit-transition:-webkit-transform 0.2s;transition:transform 0.2s;transform-origin:center;font-size:1.25em;vertical-align:middle;}</style><style data-emotion="css 1inji5u" data-s="">.css-1inji5u{padding-top:var(--chakra-space-2);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);padding-bottom:var(--chakra-space-5);padding:0px;}</style><style data-emotion="css o9nb3l" data-s="">.css-o9nb3l{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-bottom:var(--chakra-space-4);width:100%;}.css-o9nb3l>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}</style><style data-emotion="css exc07u" data-s="">.css-exc07u{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-bottom:var(--chakra-space-16);}.css-exc07u>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}</style><style data-emotion="css 18biwo" data-s="">.css-18biwo{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}</style><style data-emotion="css c1mx6c" data-s="">.css-c1mx6c{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:var(--chakra-colors-primary);}.css-c1mx6c:hover,.css-c1mx6c[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-c1mx6c:focus-visible,.css-c1mx6c[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}</style><style data-emotion="css t4q1nq" data-s="">.css-t4q1nq{-webkit-margin-start:0.5rem;margin-inline-start:0.5rem;-webkit-margin-end:0.5rem;margin-inline-end:0.5rem;}</style><style data-emotion="css 1k55cy8" data-s="">.css-1k55cy8{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:var(--chakra-colors-body);}.css-1k55cy8:hover,.css-1k55cy8[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-1k55cy8:focus-visible,.css-1k55cy8[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}</style><style data-emotion="css 1iyc2qo" data-s="">.css-1iyc2qo{font-family:var(--chakra-fonts-heading);font-weight:700;font-size:2.175rem;line-height:3.375rem;margin-top:var(--chakra-space-4)!important;margin-bottom:0px;letter-spacing:0.03rem;color:var(--chakra-colors-body);}@media screen and (min-width: 48em){.css-1iyc2qo{font-size:2.875rem;letter-spacing:0.04rem;}}</style><style data-emotion="css d93cna" data-s="">.css-d93cna{display:grid;grid-gap:var(--chakra-space-4);grid-template-columns:repeat(1, 1fr);}@media screen and (min-width: 62em){.css-d93cna{grid-gap:var(--chakra-space-8);}}@media screen and (min-width: 80em){.css-d93cna{grid-template-columns:1fr 192px;}}</style><style data-emotion="css 11igjs4" data-s="">.css-11igjs4{width:min(100%, 768px);overflow:auto;}.css-11igjs4 *:first-of-type{margin-top:0!important;}</style><style data-emotion="css 145zvrm" data-s="">.css-145zvrm{margin-bottom:var(--chakra-space-7)!important;line-height:1.6;}</style><style data-emotion="css 1j2vlym" data-s="">.css-1j2vlym{-webkit-padding-start:var(--chakra-space-1);padding-inline-start:var(--chakra-space-1);-webkit-padding-end:var(--chakra-space-1);padding-inline-end:var(--chakra-space-1);color:var(--chakra-colors-primary);background:var(--chakra-colors-code-bg);border-radius:0.25em;font-family:var(--chakra-fonts-heading);font-weight:400;font-size:var(--chakra-fontSizes-md);line-height:var(--chakra-lineHeights-4);letter-spacing:0.01rem;}</style><style data-emotion="css bfhy37" data-s="">.css-bfhy37{list-style-type:initial;-webkit-margin-start:1em;margin-inline-start:1em;margin-bottom:var(--chakra-space-7);-webkit-padding-start:var(--chakra-space-4);padding-inline-start:var(--chakra-space-4);-webkit-padding-end:var(--chakra-space-4);padding-inline-end:var(--chakra-space-4);}.css-bfhy37 ul,.css-bfhy37 ol{margin-bottom:0px;}</style><style data-emotion="css 1r2ydld" data-s="">.css-1r2ydld{font-family:var(--chakra-fonts-heading);font-weight:700;font-size:1.5rem;line-height:var(--chakra-lineHeights-normal);text-align:start;margin-top:var(--chakra-space-12)!important;margin-bottom:var(--chakra-space-4)!important;letter-spacing:0.03rem;color:var(--chakra-colors-body);}@media screen and (min-width: 48em){.css-1r2ydld{font-size:1.75rem;margin-top:var(--chakra-space-16)!important;letter-spacing:0.04rem;}}</style><style data-emotion="css z5s8m1" data-s="">.css-z5s8m1{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:underline;text-decoration:underline;outline:2px solid transparent;outline-offset:2px;color:var(--chakra-colors-primary);}.css-z5s8m1:hover,.css-z5s8m1[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;color:var(--chakra-colors-body);text-decoration-color:var(--chakra-colors-secondary);}.css-z5s8m1:focus-visible,.css-z5s8m1[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}.css-z5s8m1:focus,.css-z5s8m1[data-focus]{color:var(--chakra-colors-primary);box-shadow:0 0 0 1px var(--chakra-colors-primary)!important;-webkit-text-decoration:none;text-decoration:none;}.css-z5s8m1:active,.css-z5s8m1[data-active]{color:var(--chakra-colors-secondary);text-decoration-color:var(--chakra-colors-secondary);}</style><style data-emotion="css 1dec9ee" data-s="">.css-1dec9ee{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-bottom:var(--chakra-space-5);white-space:pre;}.css-1dec9ee>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}</style><style data-emotion="css lccu91" data-s="">.css-lccu91{display:inline-block;font-family:var(--chakra-fonts-mono);font-size:var(--chakra-fontSizes-sm);-webkit-padding-start:0.2em;padding-inline-start:0.2em;-webkit-padding-end:0.2em;padding-inline-end:0.2em;border-radius:var(--chakra-radii-sm);background:var(--chakra-colors-terminal-bg);color:var(--chakra-colors-terminal-text);overflow:auto;padding:var(--chakra-space-6);}</style><style data-emotion="css spn4bz" data-s="">.css-spn4bz{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;}.css-spn4bz:hover,.css-spn4bz[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-spn4bz:focus-visible,.css-spn4bz[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}</style><style data-emotion="css 8jkrjq" data-s="">.css-8jkrjq{margin-bottom:var(--chakra-space-7);}</style><style data-emotion="css s3mn9m" data-s="">.css-s3mn9m{display:none;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.css-s3mn9m>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}@media screen and (min-width: 80em){.css-s3mn9m{display:block;}}</style><style data-emotion="css 14zsnda" data-s="">.css-14zsnda{position:-webkit-sticky;position:sticky;height:calc(100vh - 3rem);overflow-y:auto;top:var(--chakra-space-4);}</style><style data-emotion="css ttz5vl" data-s="">.css-ttz5vl{font-family:var(--chakra-fonts-heading);font-weight:400;font-size:var(--chakra-fontSizes-md);line-height:21.12px;letter-spacing:2%;}</style><style data-emotion="css 1dyio1o" data-s="">.css-1dyio1o{opacity:0.6;border:0;border-color:var(--chakra-colors-primary);border-style:solid;border-bottom-width:1px;width:100%;margin-top:var(--chakra-space-4)!important;margin-bottom:var(--chakra-space-4)!important;}</style><style data-emotion="css 17yxwq0" data-s="">.css-17yxwq0{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none!important;text-decoration:none!important;outline:2px solid transparent;outline-offset:2px;color:inherit;margin:0px;}.css-17yxwq0:hover,.css-17yxwq0[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-17yxwq0:focus-visible,.css-17yxwq0[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}</style><style data-emotion="css 1ayucz7" data-s="">.css-1ayucz7{color:var(--chakra-colors-primary);font-family:var(--chakra-fonts-body);font-weight:400;font-size:13px;line-height:var(--chakra-lineHeights-5);letter-spacing:1%;margin-bottom:var(--chakra-space-3-5);}.css-1ayucz7:hover,.css-1ayucz7[data-hover]{background:var(--chakra-colors-primary);box-shadow:0 0 0 6px var(--chakra-colors-primary);color:var(--chakra-colors-bg);}.css-1ayucz7:focus,.css-1ayucz7[data-focus]{background:var(--chakra-colors-primary);box-shadow:0 0 0 6px var(--chakra-colors-primary)!important;color:var(--chakra-colors-bg);outline:2px solid var(--chakra-colors-secondary)!important;outline-offset:4px;}.css-1ayucz7:active,.css-1ayucz7[data-active]{background:var(--chakra-colors-secondary);box-shadow:0 0 0 6px var(--chakra-colors-secondary);color:var(--chakra-colors-bg);}</style><style data-emotion="css 1t07u9w" data-s="">.css-1t07u9w{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:auto;}.css-1t07u9w>*:not(style)~*:not(style){margin-top:0.5rem;-webkit-margin-end:0px;margin-inline-end:0px;margin-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;}</style><style data-emotion="css 1orfpdo" data-s="">.css-1orfpdo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:var(--chakra-space-4);}@media screen and (min-width: 62em){.css-1orfpdo{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;margin-top:var(--chakra-space-8);}}</style><style data-emotion="css 8jxpye" data-s="">.css-8jxpye{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border:2px solid;border-color:var(--chakra-colors-primary);}@media screen and (min-width: 48em){.css-8jxpye{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;}}</style><style data-emotion="css ak2pxb" data-s="">.css-ak2pxb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-bottom:2px solid;border-color:var(--chakra-colors-primary);margin-top:-2px!important;}@media screen and (min-width: 48em){.css-ak2pxb{border-bottom:var(--chakra-borders-none);}}</style><style data-emotion="css 1cxkbxx" data-s="">.css-1cxkbxx{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex:1;-ms-flex:1;flex:1;color:var(--chakra-colors-primary);border-right:2px solid;border-color:var(--chakra-colors-primary);}.css-1cxkbxx:hover,.css-1cxkbxx[data-hover]{-webkit-text-decoration:none;text-decoration:none;background:var(--chakra-colors-primary);color:var(--chakra-colors-bg)!important;}</style><style data-emotion="css xl4mt7" data-s="">.css-xl4mt7{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;padding:var(--chakra-space-4);}.css-xl4mt7:hover,.css-xl4mt7[data-hover]{-webkit-text-decoration:none;text-decoration:none;}.css-xl4mt7:focus-visible,.css-xl4mt7[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}</style><style data-emotion="css 4ii8xl" data-s="">.css-4ii8xl{font-family:var(--chakra-fonts-heading);font-weight:700;text-transform:uppercase;line-height:21.12px;letter-spacing:0.02rem;}</style><style data-emotion="css 1jqxip7" data-s="">.css-1jqxip7{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex:1;-ms-flex:1;flex:1;color:var(--chakra-colors-primary);border-right:var(--chakra-borders-none);border-color:var(--chakra-colors-primary);}.css-1jqxip7:hover,.css-1jqxip7[data-hover]{-webkit-text-decoration:none;text-decoration:none;background:var(--chakra-colors-primary);color:var(--chakra-colors-bg)!important;}@media screen and (min-width: 48em){.css-1jqxip7{border-right:2px solid;}}</style><style data-emotion="css kh7np0" data-s="">.css-kh7np0{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-top:0!important;}</style><style data-emotion="css 16mojw" data-s="">.css-16mojw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex:1;-ms-flex:1;flex:1;border-left:var(--chakra-borders-none);border-color:var(--chakra-colors-primary)!important;}.css-16mojw:hover,.css-16mojw[data-hover]{-webkit-text-decoration:none;text-decoration:none;background:var(--chakra-colors-primary);color:var(--chakra-colors-bg)!important;}@media screen and (min-width: 48em){.css-16mojw{border-left:2px solid;}}@media screen and (min-width: 62em){.css-16mojw{border-left:var(--chakra-borders-none);}}</style><style data-emotion="css 1eicro" data-s="">.css-1eicro{transition-property:var(--chakra-transition-property-common);transition-duration:var(--chakra-transition-duration-fast);transition-timing-function:var(--chakra-transition-easing-ease-out);cursor:pointer;-webkit-text-decoration:none;text-decoration:none;outline:2px solid transparent;outline-offset:2px;color:inherit;padding:var(--chakra-space-4);}.css-1eicro:hover,.css-1eicro[data-hover]{-webkit-text-decoration:underline;text-decoration:underline;}.css-1eicro:focus-visible,.css-1eicro[data-focus-visible]{box-shadow:var(--chakra-shadows-outline);}</style><style data-emotion="css 1wn9b4n" data-s="">.css-1wn9b4n{width:var(--chakra-sizes-8);height:22px;display:inline-block;line-height:1em;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;color:var(--chakra-colors-primary);vertical-align:middle;}[role=group]:hover .css-1wn9b4n,[role=group][data-hover] .css-1wn9b4n,[data-group]:hover .css-1wn9b4n,[data-group][data-hover] .css-1wn9b4n,.group:hover .css-1wn9b4n,.group[data-hover] .css-1wn9b4n{color:var(--chakra-colors-bg);}</style><style data-emotion="css ci7dzc" data-s="">.css-ci7dzc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex:1;-ms-flex:1;flex:1;border-width:2px;border-style:none solid;border-color:var(--chakra-colors-primary);}.css-ci7dzc:hover,.css-ci7dzc[data-hover]{-webkit-text-decoration:none;text-decoration:none;background:var(--chakra-colors-primary);color:var(--chakra-colors-bg)!important;}</style><style data-emotion="css 1ukw5o8" data-s="">.css-1ukw5o8{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-flex:1;-ms-flex:1;flex:1;}.css-1ukw5o8:hover,.css-1ukw5o8[data-hover]{-webkit-text-decoration:none;text-decoration:none;background:var(--chakra-colors-primary);color:var(--chakra-colors-bg)!important;}</style><style data-emotion="css 100o4eg" data-s="">.css-100o4eg{width:var(--chakra-sizes-7);height:22px;display:inline-block;line-height:1em;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;color:var(--chakra-colors-primary);vertical-align:middle;}[role=group]:hover .css-100o4eg,[role=group][data-hover] .css-100o4eg,[data-group]:hover .css-100o4eg,[data-group][data-hover] .css-100o4eg,.group:hover .css-100o4eg,.group[data-hover] .css-100o4eg{color:var(--chakra-colors-bg);}</style><style data-emotion="css s1d1j7" data-s="">.css-s1d1j7{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:var(--chakra-space-4);border-width:2px;border-style:none solid solid solid;border-color:var(--chakra-colors-primary);-webkit-flex:1;-ms-flex:1;flex:1;}@media screen and (min-width: 62em){.css-s1d1j7{border-style:solid solid solid none;}}</style><style data-emotion="css 1sfg7rt" data-s="">.css-1sfg7rt{font-family:var(--chakra-fonts-body);line-height:22px;font-weight:400;font-size:12px;color:var(--chakra-colors-body);}</style><style data-emotion="css" data-s=""></style><link as="script" rel="prefetch" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/index-3f8cc70fa936f559.js.download"><link as="script" rel="prefetch" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/106-3cc2c634385c6636.js.download"><link as="script" rel="prefetch" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/downloads-cbdcb5f2a012f7c1.js.download"></head><body class="chakra-ui-dark"><script id="chakra-script">!(function(){try{var a=function(c){var v="(prefers-color-scheme: dark)",h=window.matchMedia(v).matches?"dark":"light",r=c==="system"?h:c,o=document.documentElement,s=document.body,l="chakra-ui-light",d="chakra-ui-dark",i=r==="dark";return s.classList.add(i?d:l),s.classList.remove(i?l:d),o.style.colorScheme=r,o.dataset.theme=r,r},n=a,m="system",e="chakra-ui-color-mode",t=localStorage.getItem(e);t?a(t):localStorage.setItem(e,a(m))}catch(a){}})();</script><div id="__next"><div class="chakra-container css-1yblbv"><div class="css-am1ly6"><div class="css-ho6z57"><div class="css-3nmjhd"><a class="chakra-link css-13jvj27" href="https://geth.ethereum.org/"><p class="chakra-text css-1mzyz4r">go-ethereum</p></a><a href="https://geth.ethereum.org/docs/monitoring/understanding-dashboards#main-content" class="css-1cbmkwm"><p class="chakra-text css-e31zx4">skip to content</p></a></div><div class="css-k008qs"><div class="chakra-stack css-1lj7dtf"><div class="css-1g7zkn"><a class="chakra-link css-13jvj27" href="https://geth.ethereum.org/downloads"><div class="chakra-stack css-2h6j0j"><p class="chakra-text css-5bp4bq">downloads</p></div></a><a class="chakra-link css-13jvj27" href="https://geth.ethereum.org/docs"><div class="chakra-stack css-2h6j0j"><p class="chakra-text css-5bp4bq">documentation</p></div></a></div></div><div class="chakra-stack css-xnjnw4"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"><svg width="15" height="15" class="DocSearch-Control-Key-Icon"><path d="M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953" stroke-width="1.2" stroke="currentColor" fill="none" stroke-linecap="square"></path></svg></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><button aria-label="Toggle light mode" class="css-14dbxni"><svg viewBox="0 0 44 44" focusable="false" class="chakra-icon css-1hm38nr"><path fill="currentColor" d="M21 0h2v12h-2V0zM0 23v-2h12v2H0zM44 21H32v2h12v-2zM21 32h2v12h-2V32zM7.15 5.736 5.738 7.151l8.485 8.485 1.414-1.414-8.485-8.486zM36.85 5.736l1.413 1.414-8.485 8.486-1.414-1.414 8.485-8.486zM29.778 28.364l-1.414 1.415 8.485 8.485 1.415-1.415-8.486-8.485zM14.222 28.364l1.414 1.414-8.485 8.486-1.414-1.415 8.485-8.485zM30 22a8 8 0 1 1-16 0 8 8 0 0 1 16 0z"></path></svg></button></div><button aria-label="Open mobile menu" class="css-go7c78"><svg viewBox="0 0 22 14" focusable="false" class="chakra-icon css-onkibi"><path fill="currentColor" d="M0 .5h22v.97H0V.5zm0 6.017h22v.97H0v-.97zm22 6.013H0v.97h22v-.97z"></path></svg></button></div><main><div class="css-pyiqap"><div class="chakra-stack css-n21gh5"><aside class="chakra-stack css-xjbhn7"><div class="chakra-stack css-c230cv"><div class="chakra-stack css-1kxf1mu"><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:R23cr6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:R23cr6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-1bpr9l5"><p class="chakra-text css-vqdvr5">Getting started</p></div><div class="chakra-stack css-1dcaofd"><div class="css-gmuwbf"><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon css-ge2v0f"><g fill="currentColor"><path d="M2 11h20v2H2z"></path><path d="M11 2h2v20h-2z"></path></g></svg></div></div></button><div class="chakra-collapse" style="overflow: hidden; display: none; opacity: 0; height: 0px;"><div role="region" id="accordion-panel-:R23cr6l9f6:" aria-labelledby="accordion-button-:R23cr6l9f6:" class="chakra-accordion__panel css-llreyz"><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/getting-started"><p class="chakra-text css-1f8x31h">Introduction</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/getting-started/hardware-requirements"><p class="chakra-text css-1f8x31h">Hardware requirements</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/getting-started/installing-geth"><p class="chakra-text css-1f8x31h">Installing Geth</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/getting-started/consensus-clients"><p class="chakra-text css-1f8x31h">Consensus clients</p></a></div></div></div></div></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:R25cr6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:R25cr6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-1bpr9l5"><p class="chakra-text css-vqdvr5">Fundamentals</p></div><div class="chakra-stack css-1dcaofd"><div class="css-gmuwbf"><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon css-ge2v0f"><g fill="currentColor"><path d="M2 11h20v2H2z"></path><path d="M11 2h2v20h-2z"></path></g></svg></div></div></button><div class="chakra-collapse" style="overflow: hidden; display: none; opacity: 0; height: 0px;"><div role="region" id="accordion-panel-:R25cr6l9f6:" aria-labelledby="accordion-button-:R25cr6l9f6:" class="chakra-accordion__panel css-llreyz"><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals"><p class="chakra-text css-1f8x31h">Introduction</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/node-architecture"><p class="chakra-text css-1f8x31h">Node architecture</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/command-line-options"><p class="chakra-text css-1f8x31h">Command-line options</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/security"><p class="chakra-text css-1f8x31h">Security</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/sync-modes"><p class="chakra-text css-1f8x31h">Sync-modes</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/blsync"><p class="chakra-text css-1f8x31h">Beacon light sync</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/account-management"><p class="chakra-text css-1f8x31h">Account management</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/databases"><p class="chakra-text css-1f8x31h">Databases</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/backup-restore"><p class="chakra-text css-1f8x31h">Backup &amp; restore</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/logs"><p class="chakra-text css-1f8x31h">Logs</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/peer-to-peer"><p class="chakra-text css-1f8x31h">Connecting to peers</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/pruning"><p class="chakra-text css-1f8x31h">Pruning</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/kurtosis"><p class="chakra-text css-1f8x31h">Private networks via Kurtosis</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/private-network"><p class="chakra-text css-1f8x31h">Private networks</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/config-files"><p class="chakra-text css-1f8x31h">Config files</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/mining"><p class="chakra-text css-1f8x31h">Mining</p></a></div></div></div></div></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:R27cr6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:R27cr6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-1bpr9l5"><p class="chakra-text css-vqdvr5">Interacting with Geth</p></div><div class="chakra-stack css-1dcaofd"><div class="css-gmuwbf"><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon css-ge2v0f"><g fill="currentColor"><path d="M2 11h20v2H2z"></path><path d="M11 2h2v20h-2z"></path></g></svg></div></div></button><div class="chakra-collapse" style="overflow:hidden;display:none;opacity:0;height:0px"><div role="region" id="accordion-panel-:R27cr6l9f6:" aria-labelledby="accordion-button-:R27cr6l9f6:" class="chakra-accordion__panel css-llreyz"><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-6x9ys0"><p class="chakra-text css-u22t7j">JSON-RPC Server</p><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc"><p class="chakra-text css-1f8x31h">Introduction</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/batch"><p class="chakra-text css-1f8x31h">Batch requests</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/pubsub"><p class="chakra-text css-1f8x31h">Real-time Events</p></a></div></div></div><div class="chakra-stack css-6x9ys0"><p class="chakra-text css-u22t7j">JSON-RPC Namespaces</p><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-admin"><p class="chakra-text css-1f8x31h">admin</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-clique"><p class="chakra-text css-1f8x31h">clique</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug"><p class="chakra-text css-1f8x31h">debug</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-eth"><p class="chakra-text css-1f8x31h">eth</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-les"><p class="chakra-text css-1f8x31h">les</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-miner"><p class="chakra-text css-1f8x31h">miner (deprecated)</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-net"><p class="chakra-text css-1f8x31h">net</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-personal"><p class="chakra-text css-1f8x31h">personal (deprecated)</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-txpool"><p class="chakra-text css-1f8x31h">txpool</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/objects"><p class="chakra-text css-1f8x31h">objects</p></a></div></div></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/javascript-console"><p class="chakra-text css-1f8x31h">JS Console</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/javascript-console-contracts"><p class="chakra-text css-1f8x31h">JS Console 2: Contracts</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/graphql"><p class="chakra-text css-1f8x31h">GraphQL server</p></a></div></div></div></div></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:R29cr6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:R29cr6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-1bpr9l5"><p class="chakra-text css-vqdvr5">Developers</p></div><div class="chakra-stack css-1dcaofd"><div class="css-gmuwbf"><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon css-ge2v0f"><g fill="currentColor"><path d="M2 11h20v2H2z"></path><path d="M11 2h2v20h-2z"></path></g></svg></div></div></button><div class="chakra-collapse" style="overflow: hidden; display: none; opacity: 0; height: 0px;"><div role="region" id="accordion-panel-:R29cr6l9f6:" aria-labelledby="accordion-button-:R29cr6l9f6:" class="chakra-accordion__panel css-llreyz"><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers"><p class="chakra-text css-1f8x31h">Introduction</p></a></div><div class="chakra-stack css-6x9ys0"><p class="chakra-text css-u22t7j">Dapp developers</p><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/dapp-developer/dev-mode"><p class="chakra-text css-1f8x31h">Dev mode</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/dapp-developer/native"><p class="chakra-text css-1f8x31h">Go API</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/dapp-developer/native-accounts"><p class="chakra-text css-1f8x31h">Go Account Management</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/dapp-developer/native-bindings"><p class="chakra-text css-1f8x31h">Go Contract Bindings</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/dapp-developer/native-bindings-v2"><p class="chakra-text css-1f8x31h">Go Contract Bindings (v2)</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/dapp-developer/mobile"><p class="chakra-text css-1f8x31h">Geth for Mobile</p></a></div></div></div><div class="chakra-stack css-6x9ys0"><p class="chakra-text css-u22t7j">EVM tracing</p><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/evm-tracing"><p class="chakra-text css-1f8x31h">Introduction</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/evm-tracing/basic-traces"><p class="chakra-text css-1f8x31h">Basic traces</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/evm-tracing/built-in-tracers"><p class="chakra-text css-1f8x31h">Built-in tracers</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/evm-tracing/custom-tracer"><p class="chakra-text css-1f8x31h">Custom EVM tracer</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/evm-tracing/live-tracing"><p class="chakra-text css-1f8x31h">Live tracing</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/evm-tracing/javascript-tutorial"><p class="chakra-text css-1f8x31h">Tutorial for Javascript tracing</p></a></div></div></div><div class="chakra-stack css-6x9ys0"><p class="chakra-text css-u22t7j">Geth developer</p><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/geth-developer/dev-guide"><p class="chakra-text css-1f8x31h">Developer guide</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/geth-developer/disclosures"><p class="chakra-text css-1f8x31h">Disclosures</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/geth-developer/dns-discovery-setup"><p class="chakra-text css-1f8x31h">DNS discovery setup guide</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/geth-developer/code-review-guidelines"><p class="chakra-text css-1f8x31h">Code review guidelines</p></a></div></div></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/geth-developer/contributing"><p class="chakra-text css-1f8x31h">Contributing</p></a></div></div></div></div></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:R2bcr6l9f6:" aria-expanded="true" aria-controls="accordion-panel-:R2bcr6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-1bgq4yr"><p class="chakra-text css-vqdvr5">Monitoring</p></div><div class="chakra-stack css-1dcaofd"><div class="css-gmuwbf"><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon css-ge2v0f"><path fill="currentColor" d="M2 11h20v2H2z"></path></svg></div></div></button><div class="chakra-collapse" style="overflow: hidden; display: block; opacity: 1; height: auto;"><div role="region" id="accordion-panel-:R2bcr6l9f6:" aria-labelledby="accordion-button-:R2bcr6l9f6:" class="chakra-accordion__panel css-llreyz"><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/monitoring/dashboards"><p class="chakra-text css-1f8x31h">Creating Dashboards</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/monitoring/understanding-dashboards"><p class="chakra-text css-f9zxfy">Understanding Dashboards</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/monitoring/ethstats"><p class="chakra-text css-1f8x31h">Ethstats</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/monitoring/metrics"><p class="chakra-text css-1f8x31h">Metrics</p></a></div></div></div></div></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:R2dcr6l9f6:" aria-expanded="true" aria-controls="accordion-panel-:R2dcr6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-1bgq4yr"><p class="chakra-text css-vqdvr5">Tools</p></div><div class="chakra-stack css-1dcaofd"><div class="css-gmuwbf"><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon css-ge2v0f"><path fill="currentColor" d="M2 11h20v2H2z"></path></svg></div></div></button><div class="chakra-collapse" style="overflow: hidden; display: block; opacity: 1; height: auto;"><div role="region" id="accordion-panel-:R2dcr6l9f6:" aria-labelledby="accordion-button-:R2dcr6l9f6:" class="chakra-accordion__panel css-llreyz"><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-6x9ys0"><p class="chakra-text css-u22t7j">Clef</p><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/introduction"><p class="chakra-text css-1f8x31h">Introduction</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/apis"><p class="chakra-text css-1f8x31h">APIs</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/rules"><p class="chakra-text css-1f8x31h">Rules</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/setup"><p class="chakra-text css-1f8x31h">Setup</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/datatypes"><p class="chakra-text css-1f8x31h">Datatypes</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/tutorial"><p class="chakra-text css-1f8x31h">Tutorial</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/clique-signing"><p class="chakra-text css-1f8x31h">Clique-signing</p></a></div></div></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/abigen"><p class="chakra-text css-1f8x31h">abigen</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/devp2p"><p class="chakra-text css-1f8x31h">devp2p</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/puppeth"><p class="chakra-text css-1f8x31h">puppeth</p></a></div></div></div></div></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:R2fcr6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:R2fcr6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-10829se"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/faq"><p class="chakra-text css-k1a737">FAQs</p></a></div></button></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:R2hcr6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:R2hcr6l9f6:" class="chakra-accordion__button css-5fthjt" data-index="0"><div class="chakra-stack css-10829se"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/resources"><p class="chakra-text css-k1a737">Resources</p></a></div></button></div></div></div></div><div class="chakra-stack css-12wi7kw"><div class="chakra-accordion css-0"><div class="chakra-accordion__item css-1t7rcca"><button type="button" id="accordion-button-:R1db6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:R1db6l9f6:" class="chakra-accordion__button css-18nbkvo" data-index="0"><p class="chakra-text css-vqdvr5">Documentation</p><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon chakra-accordion__icon css-186l2rg" aria-hidden="true"><path fill="currentColor" d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"></path></svg></button><div class="chakra-collapse" style="overflow: hidden; display: none; opacity: 0; height: 0px;"><div role="region" id="accordion-panel-:R1db6l9f6:" aria-labelledby="accordion-button-:R1db6l9f6:" class="chakra-accordion__panel css-1inji5u"><div class="chakra-stack css-1kxf1mu"><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:Rgqnbdb6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:Rgqnbdb6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-1bpr9l5"><p class="chakra-text css-vqdvr5">Getting started</p></div><div class="chakra-stack css-1dcaofd"><div class="css-gmuwbf"><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon css-ge2v0f"><g fill="currentColor"><path d="M2 11h20v2H2z"></path><path d="M11 2h2v20h-2z"></path></g></svg></div></div></button><div class="chakra-collapse" style="overflow:hidden;display:none;opacity:0;height:0px"><div role="region" id="accordion-panel-:Rgqnbdb6l9f6:" aria-labelledby="accordion-button-:Rgqnbdb6l9f6:" class="chakra-accordion__panel css-llreyz"><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/getting-started"><p class="chakra-text css-1f8x31h">Introduction</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/getting-started/hardware-requirements"><p class="chakra-text css-1f8x31h">Hardware requirements</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/getting-started/installing-geth"><p class="chakra-text css-1f8x31h">Installing Geth</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/getting-started/consensus-clients"><p class="chakra-text css-1f8x31h">Consensus clients</p></a></div></div></div></div></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:Rhanbdb6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:Rhanbdb6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-1bpr9l5"><p class="chakra-text css-vqdvr5">Fundamentals</p></div><div class="chakra-stack css-1dcaofd"><div class="css-gmuwbf"><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon css-ge2v0f"><g fill="currentColor"><path d="M2 11h20v2H2z"></path><path d="M11 2h2v20h-2z"></path></g></svg></div></div></button><div class="chakra-collapse" style="overflow: hidden; display: none; opacity: 0; height: 0px;"><div role="region" id="accordion-panel-:Rhanbdb6l9f6:" aria-labelledby="accordion-button-:Rhanbdb6l9f6:" class="chakra-accordion__panel css-llreyz"><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals"><p class="chakra-text css-1f8x31h">Introduction</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/node-architecture"><p class="chakra-text css-1f8x31h">Node architecture</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/command-line-options"><p class="chakra-text css-1f8x31h">Command-line options</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/security"><p class="chakra-text css-1f8x31h">Security</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/sync-modes"><p class="chakra-text css-1f8x31h">Sync-modes</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/blsync"><p class="chakra-text css-1f8x31h">Beacon light sync</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/account-management"><p class="chakra-text css-1f8x31h">Account management</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/databases"><p class="chakra-text css-1f8x31h">Databases</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/backup-restore"><p class="chakra-text css-1f8x31h">Backup &amp; restore</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/logs"><p class="chakra-text css-1f8x31h">Logs</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/peer-to-peer"><p class="chakra-text css-1f8x31h">Connecting to peers</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/pruning"><p class="chakra-text css-1f8x31h">Pruning</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/kurtosis"><p class="chakra-text css-1f8x31h">Private networks via Kurtosis</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/private-network"><p class="chakra-text css-1f8x31h">Private networks</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/config-files"><p class="chakra-text css-1f8x31h">Config files</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/fundamentals/mining"><p class="chakra-text css-1f8x31h">Mining</p></a></div></div></div></div></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:Rhqnbdb6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:Rhqnbdb6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-1bpr9l5"><p class="chakra-text css-vqdvr5">Interacting with Geth</p></div><div class="chakra-stack css-1dcaofd"><div class="css-gmuwbf"><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon css-ge2v0f"><g fill="currentColor"><path d="M2 11h20v2H2z"></path><path d="M11 2h2v20h-2z"></path></g></svg></div></div></button><div class="chakra-collapse" style="overflow:hidden;display:none;opacity:0;height:0px"><div role="region" id="accordion-panel-:Rhqnbdb6l9f6:" aria-labelledby="accordion-button-:Rhqnbdb6l9f6:" class="chakra-accordion__panel css-llreyz"><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-6x9ys0"><p class="chakra-text css-u22t7j">JSON-RPC Server</p><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc"><p class="chakra-text css-1f8x31h">Introduction</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/batch"><p class="chakra-text css-1f8x31h">Batch requests</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/pubsub"><p class="chakra-text css-1f8x31h">Real-time Events</p></a></div></div></div><div class="chakra-stack css-6x9ys0"><p class="chakra-text css-u22t7j">JSON-RPC Namespaces</p><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-admin"><p class="chakra-text css-1f8x31h">admin</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-clique"><p class="chakra-text css-1f8x31h">clique</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug"><p class="chakra-text css-1f8x31h">debug</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-eth"><p class="chakra-text css-1f8x31h">eth</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-les"><p class="chakra-text css-1f8x31h">les</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-miner"><p class="chakra-text css-1f8x31h">miner (deprecated)</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-net"><p class="chakra-text css-1f8x31h">net</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-personal"><p class="chakra-text css-1f8x31h">personal (deprecated)</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-txpool"><p class="chakra-text css-1f8x31h">txpool</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/objects"><p class="chakra-text css-1f8x31h">objects</p></a></div></div></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/javascript-console"><p class="chakra-text css-1f8x31h">JS Console</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/javascript-console-contracts"><p class="chakra-text css-1f8x31h">JS Console 2: Contracts</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/interacting-with-geth/rpc/graphql"><p class="chakra-text css-1f8x31h">GraphQL server</p></a></div></div></div></div></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:Rianbdb6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:Rianbdb6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-1bpr9l5"><p class="chakra-text css-vqdvr5">Developers</p></div><div class="chakra-stack css-1dcaofd"><div class="css-gmuwbf"><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon css-ge2v0f"><g fill="currentColor"><path d="M2 11h20v2H2z"></path><path d="M11 2h2v20h-2z"></path></g></svg></div></div></button><div class="chakra-collapse" style="overflow: hidden; display: none; opacity: 0; height: 0px;"><div role="region" id="accordion-panel-:Rianbdb6l9f6:" aria-labelledby="accordion-button-:Rianbdb6l9f6:" class="chakra-accordion__panel css-llreyz"><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers"><p class="chakra-text css-1f8x31h">Introduction</p></a></div><div class="chakra-stack css-6x9ys0"><p class="chakra-text css-u22t7j">Dapp developers</p><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/dapp-developer/dev-mode"><p class="chakra-text css-1f8x31h">Dev mode</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/dapp-developer/native"><p class="chakra-text css-1f8x31h">Go API</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/dapp-developer/native-accounts"><p class="chakra-text css-1f8x31h">Go Account Management</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/dapp-developer/native-bindings"><p class="chakra-text css-1f8x31h">Go Contract Bindings</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/dapp-developer/native-bindings-v2"><p class="chakra-text css-1f8x31h">Go Contract Bindings (v2)</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/dapp-developer/mobile"><p class="chakra-text css-1f8x31h">Geth for Mobile</p></a></div></div></div><div class="chakra-stack css-6x9ys0"><p class="chakra-text css-u22t7j">EVM tracing</p><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/evm-tracing"><p class="chakra-text css-1f8x31h">Introduction</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/evm-tracing/basic-traces"><p class="chakra-text css-1f8x31h">Basic traces</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/evm-tracing/built-in-tracers"><p class="chakra-text css-1f8x31h">Built-in tracers</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/evm-tracing/custom-tracer"><p class="chakra-text css-1f8x31h">Custom EVM tracer</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/evm-tracing/live-tracing"><p class="chakra-text css-1f8x31h">Live tracing</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/evm-tracing/javascript-tutorial"><p class="chakra-text css-1f8x31h">Tutorial for Javascript tracing</p></a></div></div></div><div class="chakra-stack css-6x9ys0"><p class="chakra-text css-u22t7j">Geth developer</p><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/geth-developer/dev-guide"><p class="chakra-text css-1f8x31h">Developer guide</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/geth-developer/disclosures"><p class="chakra-text css-1f8x31h">Disclosures</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/geth-developer/dns-discovery-setup"><p class="chakra-text css-1f8x31h">DNS discovery setup guide</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/geth-developer/code-review-guidelines"><p class="chakra-text css-1f8x31h">Code review guidelines</p></a></div></div></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/developers/geth-developer/contributing"><p class="chakra-text css-1f8x31h">Contributing</p></a></div></div></div></div></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:Riqnbdb6l9f6:" aria-expanded="true" aria-controls="accordion-panel-:Riqnbdb6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-1bgq4yr"><p class="chakra-text css-vqdvr5">Monitoring</p></div><div class="chakra-stack css-1dcaofd"><div class="css-gmuwbf"><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon css-ge2v0f"><path fill="currentColor" d="M2 11h20v2H2z"></path></svg></div></div></button><div class="chakra-collapse" style="overflow: hidden; display: block; opacity: 1; height: auto;"><div role="region" id="accordion-panel-:Riqnbdb6l9f6:" aria-labelledby="accordion-button-:Riqnbdb6l9f6:" class="chakra-accordion__panel css-llreyz"><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/monitoring/dashboards"><p class="chakra-text css-1f8x31h">Creating Dashboards</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/monitoring/understanding-dashboards"><p class="chakra-text css-f9zxfy">Understanding Dashboards</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/monitoring/ethstats"><p class="chakra-text css-1f8x31h">Ethstats</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/monitoring/metrics"><p class="chakra-text css-1f8x31h">Metrics</p></a></div></div></div></div></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:Rjanbdb6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:Rjanbdb6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-1bpr9l5"><p class="chakra-text css-vqdvr5">Tools</p></div><div class="chakra-stack css-1dcaofd"><div class="css-gmuwbf"><svg viewBox="0 0 24 24" focusable="false" class="chakra-icon css-ge2v0f"><g fill="currentColor"><path d="M2 11h20v2H2z"></path><path d="M11 2h2v20h-2z"></path></g></svg></div></div></button><div class="chakra-collapse" style="overflow:hidden;display:none;opacity:0;height:0px"><div role="region" id="accordion-panel-:Rjanbdb6l9f6:" aria-labelledby="accordion-button-:Rjanbdb6l9f6:" class="chakra-accordion__panel css-llreyz"><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-6x9ys0"><p class="chakra-text css-u22t7j">Clef</p><div class="chakra-stack css-1gkslkv"><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/introduction"><p class="chakra-text css-1f8x31h">Introduction</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/apis"><p class="chakra-text css-1f8x31h">APIs</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/rules"><p class="chakra-text css-1f8x31h">Rules</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/setup"><p class="chakra-text css-1f8x31h">Setup</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/datatypes"><p class="chakra-text css-1f8x31h">Datatypes</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/tutorial"><p class="chakra-text css-1f8x31h">Tutorial</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/clef/clique-signing"><p class="chakra-text css-1f8x31h">Clique-signing</p></a></div></div></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/abigen"><p class="chakra-text css-1f8x31h">abigen</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/devp2p"><p class="chakra-text css-1f8x31h">devp2p</p></a></div><div class="chakra-stack css-1ymdxof" data-group="true"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/tools/puppeth"><p class="chakra-text css-1f8x31h">puppeth</p></a></div></div></div></div></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:Rjqnbdb6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:Rjqnbdb6l9f6:" class="chakra-accordion__button css-5jn0s9" data-index="0"><div class="chakra-stack css-10829se"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/faq"><p class="chakra-text css-k1a737">FAQs</p></a></div></button></div></div><div class="chakra-accordion css-t9xfd"><div class="chakra-accordion__item css-1t7rcca"><button data-group="true" type="button" id="accordion-button-:Rkanbdb6l9f6:" aria-expanded="false" aria-controls="accordion-panel-:Rkanbdb6l9f6:" class="chakra-accordion__button css-5fthjt" data-index="0"><div class="chakra-stack css-10829se"><a class="chakra-link css-k943rb" href="https://geth.ethereum.org/docs/resources"><p class="chakra-text css-k1a737">Resources</p></a></div></button></div></div></div></div></div></div></div></div></aside></div><div class="chakra-stack css-o9nb3l" id="main-content"><div class="chakra-stack css-exc07u"><nav aria-label="breadcrumb" class="chakra-breadcrumb css-0"><ol class="chakra-breadcrumb__list css-0"><li class="chakra-breadcrumb__list-item css-18biwo"><a href="https://geth.ethereum.org/docs" class="chakra-breadcrumb__link css-c1mx6c">docs</a><span role="presentation" class="css-t4q1nq">/</span></li><li class="chakra-breadcrumb__list-item css-18biwo"><a href="https://geth.ethereum.org/docs/monitoring" class="chakra-breadcrumb__link css-c1mx6c">monitoring</a><span role="presentation" class="css-t4q1nq">/</span></li><li class="chakra-breadcrumb__list-item css-18biwo"><a href="https://geth.ethereum.org/docs/monitoring/understanding-dashboards" class="chakra-breadcrumb__link css-1k55cy8">understanding-dashboards</a></li></ol></nav><h1 class="chakra-heading css-1iyc2qo">Understanding Geth's dashboard</h1><span class="chakra-text css-t9xfd">Last edited on <!-- -->July 11, 2024</span></div><div class="css-d93cna"><div class="css-11igjs4"><p class="chakra-text css-145zvrm">Our <a class="chakra-link css-z5s8m1" href="https://geth.ethereum.org/docs/monitoring/dashboards">dashboards page</a> explains how to set up a Grafana dashboard for monitoring your Geth node. This page explores the dashboard itself, explaining what the various metrics are and what they mean for the health of a node. Note that the raw data informing the dashboard can be viewed in JSON format in the browser by navigating to the ip address and port passed to <span class="chakra-text css-1j2vlym">--metrics.addr</span> and <span class="chakra-text css-1j2vlym">--metrics.port</span> (<span class="chakra-text css-1j2vlym">127.0.0.1:6060</span> by default).</p>
<h2 class="chakra-heading css-1r2ydld" id="what-does-the-dashboard-look-like">What does the dashboard look like?</h2>
<p class="chakra-text css-145zvrm">The default Grafana dashboard looks as follows (note that there are many more panels on the actual page than in the snapshot below):</p>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/dashboard.png"><div class="css-8jkrjq"><img alt="The Grafana dashboard" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/dashboard.png" class="chakra-image css-0"></div></a>
<p class="chakra-text css-145zvrm">Each panel in the dashboard tracks a different metric that can be used to understand some aspect of how a Geth node is behaving. There are three main categories of panel in the default dashboard: System, Network and Blockchain. The individual panels are explained in the following sections.</p>
<h2 class="chakra-heading css-1r2ydld" id="what-do-the-panels-show">What do the panels show?</h2>
<h3 class="chakra-heading css-hgv8zu" id="system">System</h3>
<p class="chakra-text css-145zvrm">Panels in the System category track the impact of Geth on the local machine, including memory and CPU usage.</p>
<h4 class="chakra-heading css-k61gls">CPU</h4>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/cpu.png"><div class="css-8jkrjq"><img alt="The CPU panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/cpu.png" class="chakra-image css-0"></div></a>
<p class="chakra-text css-145zvrm">The CPU panel shows how much CPU is being used as a percentage of one processing core (i.e. 100% means complete usage of one processing core, 200% means complete usage of two processing cores). There are three processes plotted on the figure. The total CPU usage by the entire system is plotted as <span class="chakra-text css-1j2vlym">system</span>; the percentage of time that the CPUs are idle waiting for disk i/o operations is plotted as <span class="chakra-text css-1j2vlym">iowait</span>; the CPU usage by the Geth process is plotted as <span class="chakra-text css-1j2vlym">geth</span>.</p>
<h4 class="chakra-heading css-k61gls">Memory</h4>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/memory.png"><div class="css-8jkrjq"><img alt="The Memory panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/memory.png" class="chakra-image css-0"></div></a>
<p class="chakra-text css-145zvrm">Memory tracks the amount of RAM being used by Geth. Three metrics are plotted: the cache size, i.e. the total RAM reserved for Geth (default 1024 MB) is plotted as <span class="chakra-text css-1j2vlym">held</span>; the amount of the cache actually being used by Geth is plotted as <span class="chakra-text css-1j2vlym">used</span>; the number of bytes being allocated by the system per second is plotted as <span class="chakra-text css-1j2vlym">alloc</span>.</p>
<h4 class="chakra-heading css-k61gls">Disk</h4>
<p class="chakra-text css-145zvrm">Disk tracks the rate that data is written to (plotted as <span class="chakra-text css-1j2vlym">write</span>) or read from (plotted as <span class="chakra-text css-1j2vlym">read</span>) the hard disk in units of MB/s.</p>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/disk.png"><div class="css-8jkrjq"><img alt="The Disk panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/disk.png" class="chakra-image css-0"></div></a>
<h4 class="chakra-heading css-k61gls">Goroutines</h4>
<p class="chakra-text css-145zvrm">Tracks the total number of active goroutines being used by Geth. Goroutines are lightweight threads managed by the Go runtime, they allow processes to
execute concurrently.</p>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/goroutines.png"><div class="css-8jkrjq"><img alt="The goroutine panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/goroutines.png" class="chakra-image css-0"></div></a>
<h3 class="chakra-heading css-hgv8zu" id="network">Network</h3>
<p class="chakra-text css-145zvrm">Panels in the Network category track the data flow in and out of the local node.</p>
<h4 class="chakra-heading css-k61gls">Traffic</h4>
<p class="chakra-text css-145zvrm">The Traffic panel shows the rate of data ingress and egress for all subprotocols, measured in units of kB/s.</p>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/traffic.png"><div class="css-8jkrjq"><img alt="The Traffic panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/traffic.png" class="chakra-image css-0"></div></a>
<h4 class="chakra-heading css-k61gls">Peers</h4>
<p class="chakra-text css-145zvrm">The Peers panel shows the number of individual peers the local node is connected to. The number of dials issued by Geth per second and the number of external connections received per second are also tracked in this panel.</p>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/peers.png"><div class="css-8jkrjq"><img alt="The Peers panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/peers.png" class="chakra-image css-0"></div></a>
<h4 class="chakra-heading css-k61gls">ETH ingress data rate</h4>
<p class="chakra-text css-145zvrm">Ingress is the process of data arriving at the local node from its peers. This panel shows the rate that data specifically using the eth subprotocol is arriving at the local node in units of kB/s (kilobytes per second). The data is subdivided into specific versions of the ETH subprotocol. Make sure your dashboard includes the latest version of the eth subprotocol!</p>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/eth-ingress-rate.png"><div class="css-8jkrjq"><img alt="The ETH ingress rate panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/eth-ingress-rate.png" class="chakra-image css-0"></div></a>
<h4 class="chakra-heading css-k61gls">ETH egress data rate</h4>
<p class="chakra-text css-145zvrm">Egress is the process of data leaving the local node and being transferred to its peers. This panel shows the rate that data specifically using the eth subprotocol is leaving the local node in units of kB/s (kilobytes per second). Make sure your dashboard includes the latest version of the eth subprotocol!</p>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/eth-egress-rate.png"><div class="css-8jkrjq"><img alt="The ETH egress rate panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/eth-egress-rate.png" class="chakra-image css-0"></div></a>
<h4 class="chakra-heading css-k61gls">ETH ingress traffic</h4>
<p class="chakra-text css-145zvrm">Ingress is the process of data arriving at the local node from its peers. This panel shows a moment-by-moment snapshot of the amount of data that is arriving at the local node, specifically using the eth subprotocol, in units of GB (gigabytes). Make sure your dashboard includes the latest version of the eth subprotocol!</p>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/eth-ingress-traffic.png"><div class="css-8jkrjq"><img alt="The ETH ingress traffic panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/eth-ingress-traffic.png" class="chakra-image css-0"></div></a>
<h4 class="chakra-heading css-k61gls">ETH egress traffic</h4>
<p class="chakra-text css-145zvrm">Egress is the process of data leaving the local node and being transferred to its peers. This panel shows a moment-by-moment snapshot of the amount of data that has left the local node, specifically using the eth subprotocol, in units of GB (gigabytes). Make sure your dashboard includes the latest version of the eth subprotocol!</p>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/eth-egress-traffic.png"><div class="css-8jkrjq"><img alt="The ETH egress traffic panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/eth-egress-traffic.png" class="chakra-image css-0"></div></a>
<h3 class="chakra-heading css-hgv8zu" id="blockchain">Blockchain</h3>
<p class="chakra-text css-145zvrm">Panels in the Blockchain category track the local node's view of the blockchain.</p>
<h4 class="chakra-heading css-k61gls">Chain head</h4>
<p class="chakra-text css-145zvrm">The chain head simply tracks the latest block number that the local node is aware of.</p>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/chain-head.png"><div class="css-8jkrjq"><img alt="The Chain head panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/chain-head.png" class="chakra-image css-0"></div></a>
<h4 class="chakra-heading css-k61gls">Transaction pool</h4>
<p class="chakra-text css-145zvrm">Geth has a capacity for pending transactions defined by <span class="chakra-text css-1j2vlym">--txpool.globalslots</span> (default is 5160). The number of slots filled with transactions is tracked as <span class="chakra-text css-1j2vlym">slots</span>. The transactions in the pool are divided into pending transactions and queued transactions. Pending transactions are ready to be processed and included in a block, whereas queued transactions are those whose transaction nonces are out of sequence. Queued transactions can become pending transactions if transactions with the missing nonces become available. In the dashboard pending transactions are labelled as <span class="chakra-text css-1j2vlym">executable</span> and queued transactions are labelled <span class="chakra-text css-1j2vlym">gapped</span>. The subset of those global transactions that originated from the local node are tracked as <span class="chakra-text css-1j2vlym">local</span>.</p>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/tx-pool.png"><div class="css-8jkrjq"><img alt="The tx pool panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/tx-pool.png" class="chakra-image css-0"></div></a>
<h4 class="chakra-heading css-k61gls">Block processing</h4>
<p class="chakra-text css-145zvrm">The block processing panel tracks the time taken to complete the various tasks involved in processing each block, measured in microseconds or nanoseconds. Specifically, this includes:</p>
<div class="chakra-stack css-n21gh5"><ul role="list" class="css-bfhy37"><li class="css-0"><strong>execution</strong>: time taken to execute the transactions in the block</li><li class="css-0"><strong>validation</strong>: time taken to validate that the information in a received block body matches what is described in the block header.</li><li class="css-0"><strong>commit</strong>: time taken to write the new block to the chain data</li><li class="css-0"><strong>account read</strong>: time taken to access account information from the state trie</li><li class="css-0"><strong>account update</strong>: time taken to incorporate dirty account objects into the state trie (account trie)</li><li class="css-0"><strong>account hash</strong>: time taken to re-compute the new root hash of the state trie (account trie)</li><li class="css-0"><strong>account commit</strong>: time taken to commit the changes of state trie (account trie) into database</li><li class="css-0"><strong>storage read</strong>: time taken to access smart contract storage data from the storage trie</li><li class="css-0"><strong>storage update</strong>: time taken to incorporate dirty storage slots into the storage tries</li><li class="css-0"><strong>storage hash</strong>: time take to re-compute the new root hash of storage tries</li><li class="css-0"><strong>storage commit</strong>: time take to commit the changes of storage tries into database</li><li class="css-0"><strong>snapshot account read</strong>: time taken to read account data from a snapshot</li><li class="css-0"><strong>snapshot storage read</strong>: time taken to read storage data from a snapshot</li><li class="css-0"><strong>snapshot commit</strong>: time take to flush the dirty state data as a new snapshot</li></ul></div>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/block-processing.png"><div class="css-8jkrjq"><img alt="The block processing panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/block-processing.png" class="chakra-image css-0"></div></a>
<h4 class="chakra-heading css-k61gls">Transaction processing</h4>
<p class="chakra-text css-145zvrm">The transaction processing panel tracks the time taken to complete the various tasks involved in validating the transactions received from the network, measured as a mean rate of events per second:</p>
<div class="chakra-stack css-n21gh5"><ul role="list" class="css-bfhy37"><li class="css-0"><strong>known</strong>: rate of new transactions arriving at the node that are ignored because the local node already knows about them.</li><li class="css-0"><strong>valid</strong>: rate that node marks received transactions as valid</li><li class="css-0"><strong>invalid</strong>: rate that node marks received transactions as invalid</li><li class="css-0"><strong>underpriced</strong>: rate that node marks transactions paying too low gas price as rejected</li><li class="css-0"><strong>executable discard</strong>: rate that valid transactions are dropped from the transaction pool, e.g. because it is already known.</li><li class="css-0"><strong>executable replace</strong>: rate that valid transactions are replaced with a new one from same sender with same nonce but higher gas</li><li class="css-0"><strong>executable ratelimit</strong>: rate that valid transactions are dropped due to rate-limiting</li><li class="css-0"><strong>executable nofunds</strong>: rate that valid transactions are dropped due to running out of ETH to pay gas</li><li class="css-0"><strong>gapped discard</strong>: rate that queued transactions are discarded from the transaction pool</li><li class="css-0"><strong>gapped replace</strong>: rate that queued transactions are replaced with a new one from same sender with same nonce but higher gas</li><li class="css-0"><strong>gapped ratelimit</strong>: rate that queued transactions are dropped due to rate limiting</li><li class="css-0"><strong>gapped nofunds</strong>: rate that queued transactions are dropped due to running out of ETH to pay gas</li></ul></div>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/tx-processing.png"><div class="css-8jkrjq"><img alt="The tx processing panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/tx-processing.png" class="chakra-image css-0"></div></a>
<h4 class="chakra-heading css-k61gls">Block propagation</h4>
<div class="chakra-stack css-y7enwn"><h4 class="chakra-text css-dbaocw">Note</h4><p class="chakra-text css-172q6ym">
Block propagation was disabled in Geth at The Merge. Block propagation is now the responsibility of the consensus client. Included here for archival interest.
</p></div>
<p class="chakra-text css-145zvrm">Block propagation metrics track the rate that the local node hears about, receives and broadcasts blocks. This includes:</p>
<div class="chakra-stack css-n21gh5"><ul role="list" class="css-bfhy37"><li class="css-0"><strong>ingress announcements</strong>: the number of inbound announcements per second. Announcements are messages from peers that signal that they have a block to share</li><li class="css-0"><strong>known announcements</strong>: the number of announcements per second the local node is already aware of them</li><li class="css-0"><strong>malicious announcements</strong>: the number of announcements per second that are determined to be malicious, e.g. because they are trying to mount a denial-of-service attack on the local node</li><li class="css-0"><strong>ingress broadcasts</strong>: the number of blocks directly propagated to local node per second</li><li class="css-0"><strong>known broadcasts</strong>: counts all blocks that have been broadcast by peers including those that are too far behind the head to be downloaded</li><li class="css-0"><strong>malicious broadcasts</strong>: the number of blocks which are determined to be malicious per second</li></ul></div>
<h4 class="chakra-heading css-k61gls">Transaction propagation</h4>
<p class="chakra-text css-145zvrm">Transaction propagation tracks the sending and receiving of transactions on the peer-to-peer network. This includes:</p>
<div class="chakra-stack css-n21gh5"><ul role="list" class="css-bfhy37"><li class="css-0"><strong>ingress announcements</strong>: inbound announcements (notifications of a transaction's availability) per second</li><li class="css-0"><strong>known announcements</strong>: announcements that are ignored because the local node is already aware of them, per second</li><li class="css-0"><strong>underpriced announcements</strong>: announcements per second that do not get fetched because they pay too little gas</li><li class="css-0"><strong>malicious announcements</strong>: announcements per second that are dropped because they appear malicious</li><li class="css-0"><strong>ingress broadcasts</strong>: number of transactions propagated from peers per second</li><li class="css-0"><strong>known broadcasts</strong>: transactions per second that are ignored because they duplicate transactions that the local node already knows about</li><li class="css-0"><strong>underpriced broadcasts</strong>: all fetched transactions that are dropped due to paying insufficient gas, per second</li><li class="css-0"><strong>otherreject broadcasts</strong>: transactions that are rejected for reasons other than paying too little gas, per second</li><li class="css-0"><strong>finished requests</strong>: successful deliveries of transactions per second, meaning they have been added to the local transaction pool</li><li class="css-0"><strong>failed requests</strong>: number of failed transaction deliveries per second, e.g. failed because a peer disconnected unexpectedly</li><li class="css-0"><strong>timed out requests</strong>: counts the number of transaction requests that time out per second</li><li class="css-0"><strong>ingress replies</strong>: total number of inbound replies to requests for transactions per second</li><li class="css-0"><strong>known replies</strong>: number of replies that are dropped because they are already known to the local node, per second</li><li class="css-0"><strong>underpriced replies</strong>: number of replies per second that get dropped due to paying too little gas</li><li class="css-0"><strong>otherreject replies</strong>: number of replies to transaction requests that get dropped for reasons other than paying too little gas, per second</li></ul></div>
<a target="_blank" rel="noopener" class="chakra-link css-spn4bz" href="./Understanding Geth&#39;s dashboard _ go-ethereum_files/tx-propagation.png"><div class="css-8jkrjq"><img alt="The tx propagation panel" src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/tx-propagation.png" class="chakra-image css-0"></div></a>
<h4 class="chakra-heading css-k61gls">Block forwarding</h4>
<p class="chakra-text css-145zvrm">The block forwarding panel counts the announcements and the blocks that the local node receives that it should pass on to its peers.</p>
<h4 class="chakra-heading css-k61gls">Transaction fetcher peers</h4>
<p class="chakra-text css-145zvrm">The transaction fetcher peers panel shows how many peers the local node is connected to that can serve requests for transactions. The adjacent transaction fetcher hashes panel shows how many transaction hashes are available for fetching. Three statuses are reported in each panel: Waiting, queuing and fetching.</p>
<h4 class="chakra-heading css-k61gls">Reorg</h4>
<p class="chakra-text css-145zvrm">The <span class="chakra-text css-1j2vlym">reorg meter</span> panel simply counts the blocks added and the blocks removed during chain reorgs. The adjacent <span class="chakra-text css-1j2vlym">Reorg total</span> panel shows the total number of reorg executions including both additions and removals.</p>
<h4 class="chakra-heading css-k61gls">Eth fetcher filter bodies/headers</h4>
<p class="chakra-text css-145zvrm">Tracks the rate that headers/block bodies arrive from remote peers.</p>
<h3 class="chakra-heading css-hgv8zu" id="database">Database</h3>
<p class="chakra-text css-145zvrm">The database section tracks various metrics related to data storage and i/o in the LevelDB and ancients databases.</p>
<h4 class="chakra-heading css-k61gls">Data rate</h4>
<p class="chakra-text css-145zvrm">Measures the rate that data is written to, or read from, the LevelDB and ancients databases. Includes:</p>
<div class="chakra-stack css-n21gh5"><ul role="list" class="css-bfhy37"><li class="css-0"><strong>leveldb read</strong>: Rate that data is read from the fast-access LevelDB database that stores recent data.</li><li class="css-0"><strong>leveldb write</strong>: Rate that data is written to the fast-access LevelDB database that stores recent data.</li><li class="css-0"><strong>ancient read</strong>: Rate that data is read from the freezer (the database storing older data).</li><li class="css-0"><strong>ancient write</strong>: Rate that data is written to the freezer (the database storing older data)</li><li class="css-0"><strong>compaction read</strong>: Rate that data is read from the LevelDB database while it is being compacted (i.e. free space is reclaimed by deleting unnecessary data)</li><li class="css-0"><strong>compaction write</strong>: Rate that data is written to the LevelDB database while it is being compacted (i.e. free space is reclaimed by deleting unnecessary data)</li></ul></div>
<h4 class="chakra-heading css-k61gls">Session totals</h4>
<p class="chakra-text css-145zvrm">Instead of the <em class="chakra-text css-0">rate</em> that data is read from, and written to, the LevelDB and ancients databases (as per <span class="chakra-text css-1j2vlym">Data rate</span>), this panel tracks the total amount of data read and written across the entire time Geth is running.</p>
<h4 class="chakra-heading css-k61gls">Persistent size</h4>
<p class="chakra-text css-145zvrm">This panel shows the amount of data, in GB, in the LevelDB and ancients databases.</p>
<h4 class="chakra-heading css-k61gls">Compaction time, delay and count</h4>
<p class="chakra-text css-145zvrm">These panels show the amount of time spent compacting the LevelDB database, duration write operations to the database are delayed due to compaction and the count of various types of compaction executions.</p>
<div class="chakra-stack css-y7enwn"><h4 class="chakra-text css-dbaocw">Note</h4><p class="chakra-text css-172q6ym">
The current default Geth Grafana dashboard includes panels for light nodes. Light nodes are not currently functional since Ethereum moved to proof-of-stake.
</p></div>
<h2 class="chakra-heading css-1r2ydld" id="creating-new-dashboards">Creating new dashboards</h2>
<p class="chakra-text css-145zvrm">If the default dashboard isn't right for you, you can update it in the browser. Remove panels by clicking on their titles and selecting <span class="chakra-text css-1j2vlym">remove</span>. Add a new panel by clicking the "plus" icon in the upper right of the browser window. There, you will have to define an InfluxDB query for the metric you want to display. The endpoints for the various metrics that Geth reports are listed by Geth at the address/port combination passed to <span class="chakra-text css-1j2vlym">--metrics.addr</span> and <span class="chakra-text css-1j2vlym">metrics.port</span> on startup - by default <span class="chakra-text css-1j2vlym">127.0.0.1:6060/debug/metrics</span>. It is also possible to configure a panel by providing a JSON configuration model. Individual components are defined using the following syntax (the example below is for the CPU panel):</p>
<div class="chakra-stack css-1dec9ee"><pre style="color: white; font-family: Consolas, Monaco, &quot;Andale Mono&quot;, &quot;Ubuntu Mono&quot;, monospace; text-align: left; white-space: pre; word-spacing: normal; word-break: normal; overflow-wrap: normal; line-height: 1.5; font-size: 1em; tab-size: 4; hyphens: none; padding: 1rem; margin: 0.5em 0px; overflow: auto; background: rgb(1, 22, 39); border-radius: 0.5rem;"><code class="language-json" style="color: rgb(214, 222, 235); font-family: Consolas, Monaco, &quot;Andale Mono&quot;, &quot;Ubuntu Mono&quot;, monospace; text-align: left; white-space: pre; word-spacing: normal; word-break: normal; overflow-wrap: normal; line-height: 1.5; font-size: 1em; tab-size: 4; hyphens: none;"><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"id"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">106</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"gridPos"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"h"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">6</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"w"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">8</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"x"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">0</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"y"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">1</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"graph"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"title"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"CPU"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"datasource"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"uid"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"s1zWCjvVk"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"influxdb"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"thresholds"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"pluginVersion"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"9.3.6"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"links"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"legend"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"alignAsTable"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"avg"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"current"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"max"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"min"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"rightSide"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"show"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">true</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"total"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"values"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"aliasColors"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"bars"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"dashLength"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">10</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"dashes"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"fieldConfig"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"defaults"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"links"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"overrides"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"fill"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">1</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"fillGradient"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">0</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"hiddenSeries"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"lines"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">true</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"linewidth"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">1</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"nullPointMode"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"connected"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"options"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"alertThreshold"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">true</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"percentage"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"pointradius"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">5</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"points"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"renderer"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"flot"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"seriesOverrides"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"spaceLength"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">10</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"stack"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"steppedLine"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"targets"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"alias"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"system"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"expr"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"system_cpu_sysload"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"format"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"time_series"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"groupBy"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"params"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(173, 219, 103);">"$interval"</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"time"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"intervalFactor"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">1</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"legendFormat"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"system"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"measurement"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"geth.system/cpu/sysload.gauge"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"orderByTime"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"ASC"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"policy"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"default"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"refId"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"A"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"resultFormat"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"time_series"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"select"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"params"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(173, 219, 103);">"value"</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"field"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"params"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"mean"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"tags"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"key"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"host"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"operator"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"=~"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"value"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"/^$host$/"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"datasource"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"uid"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"s1zWCjvVk"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"influxdb"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"alias"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"iowait"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"expr"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"system_cpu_syswait"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"format"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"time_series"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"groupBy"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"params"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(173, 219, 103);">"$interval"</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"time"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"intervalFactor"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">1</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"legendFormat"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"iowait"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"measurement"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"geth.system/cpu/syswait.gauge"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"orderByTime"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"ASC"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"policy"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"default"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"refId"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"B"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"resultFormat"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"time_series"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"select"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"params"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(173, 219, 103);">"value"</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"field"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"params"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"mean"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"tags"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"key"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"host"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"operator"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"=~"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"value"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"/^$host$/"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"datasource"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"uid"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"s1zWCjvVk"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"influxdb"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"alias"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"geth"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"expr"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"system_cpu_procload"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"format"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"time_series"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"groupBy"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"params"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(173, 219, 103);">"$interval"</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"time"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"intervalFactor"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">1</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"legendFormat"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"geth"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"measurement"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"geth.system/cpu/procload.gauge"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"orderByTime"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"ASC"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"policy"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"default"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"refId"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"C"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"resultFormat"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"time_series"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"select"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"params"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(173, 219, 103);">"value"</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"field"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"params"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"mean"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"tags"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"key"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"host"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"operator"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"=~"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"value"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"/^$host$/"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"datasource"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"uid"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"s1zWCjvVk"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"influxdb"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"timeFrom"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token null" style="color: rgb(127, 219, 202);">null</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"timeRegions"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"timeShift"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token null" style="color: rgb(127, 219, 202);">null</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"tooltip"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"shared"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">true</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"sort"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">0</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"value_type"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"individual"</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"xaxis"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"buckets"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token null" style="color: rgb(127, 219, 202);">null</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"mode"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"time"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"name"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token null" style="color: rgb(127, 219, 202);">null</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"show"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">true</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"values"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span class="token" style="color: rgb(199, 146, 234);">]</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"yaxes"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">[</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"format"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"percent"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"label"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token null" style="color: rgb(127, 219, 202);">null</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"logBase"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">1</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"max"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token null" style="color: rgb(127, 219, 202);">null</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"min"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token null" style="color: rgb(127, 219, 202);">null</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"show"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">true</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"format"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(173, 219, 103);">"short"</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"label"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token null" style="color: rgb(127, 219, 202);">null</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"logBase"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(247, 140, 108);">1</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"max"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token null" style="color: rgb(127, 219, 202);">null</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"min"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token null" style="color: rgb(127, 219, 202);">null</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"show"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">true</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">]</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"yaxis"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">{</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"align"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token" style="color: rgb(255, 88, 116);">false</span><span class="token" style="color: rgb(199, 146, 234);">,</span><span>
</span><span> </span><span class="token" style="color: rgb(128, 203, 196);">"alignLevel"</span><span class="token" style="color: rgb(127, 219, 202);">:</span><span> </span><span class="token null" style="color: rgb(127, 219, 202);">null</span><span>
</span><span> </span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span><span></span><span class="token" style="color: rgb(199, 146, 234);">}</span><span>
</span></code></pre></div></div><div class="chakra-stack css-s3mn9m"><aside class="css-14zsnda"><p class="chakra-text css-ttz5vl">on this page</p><hr aria-orientation="horizontal" class="chakra-divider css-1dyio1o"><a class="chakra-link css-17yxwq0"><p class="chakra-text css-1ayucz7"> What does the dashboard look like?</p></a><a class="chakra-link css-17yxwq0"><p class="chakra-text css-1ayucz7"> What do the panels show?</p></a><a class="chakra-link css-17yxwq0"><p class="chakra-text css-1ayucz7"> System</p></a><a class="chakra-link css-17yxwq0"><p class="chakra-text css-1ayucz7"> Network</p></a><a class="chakra-link css-17yxwq0"><p class="chakra-text css-1ayucz7"> Blockchain</p></a><a class="chakra-link css-17yxwq0"><p class="chakra-text css-1ayucz7"> Database</p></a><a class="chakra-link css-17yxwq0"><p class="chakra-text css-1ayucz7"> Creating new dashboards</p></a></aside></div></div></div></div></main><div class="chakra-stack css-1t07u9w"><div class="css-1orfpdo"><div class="css-8jxpye"><div class="css-ak2pxb"><div class="css-1cxkbxx"><a class="chakra-link css-xl4mt7" href="https://geth.ethereum.org/downloads"><p class="chakra-text css-4ii8xl">DOWNLOADS</p></a></div><div class="css-1jqxip7"><a class="chakra-link css-xl4mt7" href="https://geth.ethereum.org/docs"><p class="chakra-text css-4ii8xl">DOCUMENTATION</p></a></div></div><div class="css-kh7np0"><div data-group="true" class="css-16mojw"><a target="_blank" rel="noopener" class="chakra-link css-1eicro" href="https://twitter.com/go_ethereum"><svg viewBox="0 0 28 22" focusable="false" class="chakra-icon css-1wn9b4n" aria-label="Twitter"><path fill="currentColor" d="M24.725 5.483c.017.24.017.481.017.722C24.742 13.544 19.174 22 8.997 22A15.6 15.6 0 0 1 .5 19.508c.445.051.874.069 1.336.069a11.06 11.06 0 0 0 6.87-2.372 5.546 5.546 0 0 1-5.174-3.85 6.96 6.96 0 0 0 1.045.086c.497 0 .994-.07 1.457-.19a5.548 5.548 0 0 1-4.438-5.448v-.069a5.56 5.56 0 0 0 2.502.705A5.552 5.552 0 0 1 1.63 3.816c0-1.032.274-1.977.753-2.802a15.712 15.712 0 0 0 11.41 5.81 6.282 6.282 0 0 1-.137-1.272c0-3.06 2.467-5.552 5.534-5.552 1.593 0 3.032.67 4.043 1.753 1.25-.24 2.45-.705 3.512-1.34a5.533 5.533 0 0 1-2.432 3.059c1.113-.12 2.192-.43 3.186-.86a11.917 11.917 0 0 1-2.775 2.87z"></path></svg></a></div><div data-group="true" class="css-ci7dzc"><a target="_blank" rel="noopener" class="chakra-link css-1eicro" href="https://discord.com/invite/nthXNEv"><svg viewBox="0 0 32 24" focusable="false" class="chakra-icon css-1wn9b4n" aria-label="Discord"><path fill="currentColor" d="M26.985 2.027a.08.08 0 0 0-.041-.038A26.099 26.099 0 0 0 20.515.002a.098.098 0 0 0-.104.048c-.294.533-.56 1.08-.8 1.64a24.112 24.112 0 0 0-7.22 0c-.24-.561-.511-1.109-.812-1.64a.101.101 0 0 0-.104-.048c-2.22.381-4.38 1.05-6.427 1.988a.092.092 0 0 0-.043.036C.912 8.124-.209 14.073.341 19.948a.108.108 0 0 0 .041.073 26.216 26.216 0 0 0 7.885 3.975.102.102 0 0 0 .111-.037 18.644 18.644 0 0 0 1.613-2.616.1.1 0 0 0-.054-.139 17.266 17.266 0 0 1-2.464-1.17.101.101 0 0 1-.04-.13.101.101 0 0 1 .03-.038c.166-.124.332-.252.49-.382a.099.099 0 0 1 .102-.014c5.168 2.353 10.763 2.353 15.87 0a.098.098 0 0 1 .103.013c.158.13.324.26.49.383a.102.102 0 0 1 .04.086.1.1 0 0 1-.048.082c-.787.458-1.612.85-2.465 1.17a.1.1 0 0 0-.054.139 20.94 20.94 0 0 0 1.612 2.615.1.1 0 0 0 .111.038 26.126 26.126 0 0 0 7.898-3.975.1.1 0 0 0 .041-.072c.66-6.792-1.102-12.692-4.668-17.922zM10.763 16.37c-1.556 0-2.838-1.424-2.838-3.173 0-1.75 1.257-3.174 2.838-3.174 1.593 0 2.863 1.437 2.838 3.174 0 1.75-1.257 3.173-2.838 3.173zm10.493 0c-1.556 0-2.838-1.424-2.838-3.173 0-1.75 1.258-3.174 2.838-3.174 1.594 0 2.863 1.437 2.838 3.174 0 1.75-1.244 3.173-2.838 3.173z"></path></svg></a></div><div data-group="true" class="css-1ukw5o8"><a target="_blank" rel="noopener" class="chakra-link css-1eicro" href="https://github.com/ethereum/go-ethereum"><svg viewBox="0 0 26 24" focusable="false" class="chakra-icon css-100o4eg" aria-label="GitHub"><path fill="currentColor" d="M8.829 19.325c0 .099-.117.178-.264.178-.168.015-.285-.064-.285-.178 0-.1.117-.179.264-.179.153-.015.285.065.285.179zm-1.58-.224c-.036.1.066.214.218.244.132.05.285 0 .315-.1.03-.099-.066-.213-.218-.258-.132-.034-.28.015-.315.114zm2.245-.084c-.147.035-.249.13-.233.243.015.1.147.164.3.13.147-.035.248-.13.233-.229-.015-.094-.152-.159-.3-.144zM12.837 0C5.791 0 .4 5.226.4 12.109c0 5.504 3.546 10.213 8.612 11.87.65.115.879-.277.879-.6 0-.307-.016-2.005-.016-3.047 0 0-3.556.745-4.303-1.479 0 0-.58-1.444-1.412-1.816 0 0-1.164-.78.081-.764 0 0 1.265.099 1.961 1.28 1.113 1.916 2.977 1.365 3.704 1.037.117-.794.447-1.345.813-1.672-2.84-.308-5.706-.71-5.706-5.484 0-1.365.386-2.05 1.2-2.923-.133-.323-.565-1.653.131-3.37 1.062-.322 3.506 1.34 3.506 1.34a12.203 12.203 0 0 1 3.19-.422c1.083 0 2.175.144 3.191.422 0 0 2.444-1.667 3.506-1.34.696 1.722.264 3.047.132 3.37.813.878 1.31 1.563 1.31 2.923 0 4.79-2.992 5.171-5.832 5.484.468.392.864 1.136.864 2.303 0 1.672-.015 3.741-.015 4.148 0 .323.233.715.879.6 5.08-1.647 8.525-6.356 8.525-11.86C25.6 5.226 19.884 0 12.837 0zM5.338 17.116c-.066.05-.05.164.036.258.081.08.198.115.264.05.066-.05.051-.164-.035-.258-.082-.08-.199-.114-.265-.05zm-.548-.402c-.036.065.015.144.117.194.08.05.182.035.218-.035.036-.064-.015-.144-.117-.193-.101-.03-.183-.015-.218.034zm1.646 1.767c-.081.065-.051.213.066.308.117.114.264.129.33.05.066-.065.036-.214-.066-.308-.112-.114-.264-.13-.33-.05zm-.58-.73c-.08.05-.08.18 0 .293.082.114.22.164.285.114.081-.064.081-.193 0-.307-.071-.114-.203-.164-.284-.1z"></path></svg></a></div></div></div><div class="css-s1d1j7"><p class="chakra-text css-1sfg7rt">© 20132025. The go-ethereum Authors<!-- --> |<!-- --> <a target="_blank" rel="noopener" class="chakra-link css-z5s8m1" href="https://matomo.ethereum.org/index.php?module=CoreAdminHome&amp;action=optOut">Do-not-Track</a></p></div></div></div></div></div><span id="__chakra_env" hidden=""></span></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"frontmatter":{"title":"Developer mode","description":"Instructions for setting up Geth in developer mode"},"content":"\nIt is often convenient for developers to work in an environment where changes to client or application software can be deployed and tested rapidly and without putting real-world users or assets at risk. For this purpose, Geth has a `--dev` flag that spins up Geth in \"developer mode\". This creates a single-node Ethereum test network with no connections to any external peers. It exists solely on the local machine. Starting Geth in developer mode does the following:\n\n- Initializes the data directory with a testing genesis block\n- Sets max peers to 0 (meaning Geth does not search for peers)\n- Turns off discovery by other nodes (meaning the node is invisible to other nodes)\n- Sets the gas price to 0 (no cost to send transactions)\n- Simulates a consensus client which allows blocks to be mined as-needed without excessive CPU and memory consumption\n- Uses on-demand block generation, producing blocks when transactions are waiting to be mined\n\nThis configuration enables developers to experiment with Geth's source code or develop new applications without having to sync to a pre-existing public network. Blocks are only mined when there are pending transactions. Developers can break things on this network without affecting other users. This page will demonstrate how to spin up a local Geth testnet and a simple smart contract will be deployed to it using the Remix online integrated development environment (IDE).\n\n## Prerequisites {#prerequisites}\n\nIt is assumed that the user has a working Geth installation (see [installation guide](/docs/getting-started/installing-geth)).\nIt would also be helpful to have basic knowledge of Geth and the Geth console. See [Getting Started](/docs/getting-started).\nSome basic knowledge of [Solidity](https://docs.soliditylang.org/) and [smart contract deployment](https://ethereum.org/en/developers/tutorials/deploying-your-first-smart-contract/) would be useful.\n\n## Start Geth in Dev Mode {#start-geth-in-dev-mode}\n\nStarting Geth in developer mode is as simple as providing the `--dev` flag. It is also possible to create a realistic block creation frequency by setting `--dev.period 12` instead of creating blocks only when transactions are pending. Additional configuration options required to follow this tutorial.\n\nRemix will be used to deploy a smart contract to the node which requires information to be exchanged externally with Geth's own domain. To permit this, enable `http` and the `net` namespace must be enabled and the Remix URL must be provided to `--http.corsdomain`. Some other namespaces will also be enabled for this tutorial. The full command is as follows:\n\n```sh\ngeth --dev --http --http.api eth,web3,net --http.corsdomain \"https://remix.ethereum.org\"\n```\n\nThe terminal will display the following logs, confirming Geth has started successfully in developer mode:\n\n```terminal\nINFO [05-09|10:49:02.951] Starting Geth in ephemeral dev mode...\nINFO [05-09|10:49:02.952] Maximum peer count ETH=50 LES=0 total=50\nINFO [05-09|10:49:02.952] Smartcard socket not found, disabling err=\"stat /run/pcscd/pcscd.comm: no such file or directory\"\nINFO [05-09|10:49:02.953] Set global gas cap cap=50,000,000\nINFO [05-09|10:49:03.133] Using developer account address=0x7Aa16266Ba3d309e3cb278B452b1A6307E52Fb62\nINFO [05-09|10:49:03.196] Allocated trie memory caches clean=154.00MiB dirty=256.00MiB\nINFO [05-09|10:49:03.285] Writing custom genesis block\nINFO [05-09|10:49:03.286] Persisted trie from memory database nodes=13 size=1.90KiB time=\"180.524µs\" gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B\nINFO [05-09|10:49:03.287] Initialised chain configuration config=\"{ ChainID: 1337 Homestead: 0 DAO: nil DAOSupport: false EIP150: 0 EIP155: 0 EIP158: 0 Byzantium: 0 Constantinople: 0 Petersburg: 0 Istanbul: 0, Muir Glacier: 0, Berlin: 0, London: 0, Arrow Glacier: nil, MergeFork: nil, Terminal TD: nil, Engine: clique}\"\nINFO [05-09|10:49:03.288] Initialising Ethereum protocol network=1337 dbversion= nil\nINFO [05-09|10:49:03.289] Loaded most recent local header number=0 hash=c9c3de..579bb8 td=1 age=53y1mo1w\nINFO [05-09|10:49:03.289] Loaded most recent local full block number=0 hash=c9c3de..579bb8 td=1 age=53y1mo1w\nINFO [05-09|10:49:03.289] Loaded most recent local fast block number=0 hash=c9c3de..579bb8 td=1 age=53y1mo1w\nWARN [05-09|10:49:03.289] Failed to load snapshot, regenerating err=\"missing or corrupted snapshot\"\nINFO [05-09|10:49:03.289] Rebuilding state snapshot\nINFO [05-09|10:49:03.290] Resuming state snapshot generation root=ceb850..0662cb accounts=0 slots=0 storage=0.00B elapsed=\"778.089µs\"\nINFO [05-09|10:49:03.290] Regenerated local transaction journal transactions=0 accounts=0\nINFO [05-09|10:49:03.292] Gasprice oracle is ignoring threshold set threshold=2\nINFO [05-09|10:49:03.292] Generated state snapshot accounts=10 slots=0 storage=412.00B elapsed=2.418ms\nWARN [05-09|10:49:03.292] Error reading unclean shutdown markers error=\"leveldb: not found\"\nINFO [05-09|10:49:03.292] Starting peer-to-peer node instance=Geth/v1.10.18-unstable-8d84a701-20220503/linux-amd64/go1.18.1\nWARN [05-09|10:49:03.292] P2P server will be useless, neither dialing nor listening\nINFO [05-09|10:49:03.292] Stored checkpoint snapshot to disk number=0 hash=c9c3de..579bb8\nINFO [05-09|10:49:03.312] New local node record seq=1,652,089,743,311 id=bfedca74bea20733 ip=127.0.0.1 udp=0 tcp=0\nINFO [05-09|10:49:03.313] Started P2P networking self=enode://0544de6446dd5831daa5a391de8d0375d93ac602a95d6a182d499de31f22f75b6645c3f562932cac8328d51321b676c683471e2cf7b3c338bb6930faf6ead389@127.0.0.1:0\nINFO [05-09|10:49:03.314] IPC endpoint opened url=/tmp/geth.ipc\nINFO [05-09|10:49:03.315] HTTP server started endpoint=127.0.0.1:8545 auth=false prefix= cors=http:remix.ethereum.org vhosts=localhost\nINFO [05-09|10:49:03.315] Transaction pool price threshold updated price=0\nINFO [05-09|10:49:03.315] Updated mining threads threads=0\nINFO [05-09|10:49:03.315] Transaction pool price threshold updated price=1\nINFO [05-09|10:49:03.315] Etherbase automatically configured address=0x7Aa16266Ba3d309e3cb278B452b1A6307E52Fb62\nINFO [05-09|10:49:03.316] Commit new sealing work number=1 sealhash=2372a2..7fb8e7 uncles=0 txs=0 gas=0 fees=0 elapsed=\"202.366µs\"\nWARN [05-09|10:49:03.316] Block sealing failed err=\"sealing paused while waiting for transactions\"\nINFO [05-09|10:49:03.316] Commit new sealing work number=1 sealhash=2372a2..7fb8e7 uncles=0 txs=0 gas=0 fees=0 elapsed=\"540.054µs\"\n```\n\nThis terminal must be left running throughout the entire tutorial. In a second terminal, attach a Javascript console. By default, the `ipc` file is saved in the `datadir`:\n\n```sh\ngeth attach \u003cdatadir\u003e/geth.ipc\n```\n\nThe Javascript terminal will open with the following welcome message:\n\n```terminal\nWelcome to the Geth JavaScript console!\n\ninstance: Geth/v1.14.3-stable-ab48ba42/linux-arm64/go1.22.3\nat block: 0 (Thu Jan 01 1970 00:00:00 GMT+0000 (UTC))\n datadir: \n modules: admin:1.0 debug:1.0 dev:1.0 eth:1.0 miner:1.0 net:1.0 rpc:1.0 txpool:1.0 web3:1.0\n\nTo exit, press ctrl-d or type exit\n\u003e \n```\n\nFor simplicity this tutorial uses Geth's built-in account management. First, the existing accounts can be displayed using `eth.accounts`:\n\n```sh\neth.accounts\n```\n\nAn array containing a single address will be displayed in the terminal, despite no accounts having yet been explicitly created. This is the \"developer\" account. The developer address is the recipient of the total amount of ether created at the local network genesis. Querying the ether balance of the developer account will return a very large number. The developer account can be invoked as `eth.accounts[0]`.\n\nThe following command can be used to query the balance. The return value is in units of Wei, which is divided by 1\u003csup\u003e18\u003c/sup\u003e to give units of ether. This can be done explicitly or by calling the `web3.FromWei()` function:\n\n```sh\neth.getBalance(eth.accounts[0])/1e18\n\n// or\n\nweb3.fromWei(eth.getBalance(eth.accounts[0]))\n```\n\nUsing `web3.fromWei()` is less error-prone because the correct multiplier is built in. These commands both return the following:\n\n```terminal\n1.157920892373162e+59\n```\n\nA new account can be created using Clef. Some of the ether from the developer account can then be transferred across to it. A new account is generated using the `newaccount` function on the command line:\n\n```sh\nclef newaccount --keystore \u003cpath-to-keystore\u003e\n```\n\nThe terminal will display a request for a password, twice. Once provided, a new account will be created, and its address will be printed to the terminal. The account creation is also logged in the Geth terminal, including the location of the keyfile in the keystore. It is a good idea to back up the password somewhere at this point. If this were an account on a live network, intended to own assets of real-world value, it would be critical to back up the account password and the keystore in a secure manner.\n\nTo reconfirm the account creation, running `eth.accounts` in the Javascript console should display an array containing two account addresses, one being the developer account and the other being the newly generated address. The following command transfers 50 ETH from the developer account to the new account:\n\n```sh\neth.sendTransaction({from: eth.accounts[0], to: eth.accounts[1], value: web3.toWei(50, \"ether\")})\n```\n\nA transaction hash will be returned to the console. This transaction hash will also be displayed in the logs in the Geth console, followed by logs confirming that a new block was mined (remember, in the local development network, blocks are mined when transactions are pending). The transaction details can be displayed in the Javascript console by passing the transaction hash to `eth.getTransaction()`:\n\n```sh\neth.getTransaction(\"0x62044d2cab405388891ee6d53747817f34c0f00341cde548c0ce9834e9718f27\")\n```\n\nThe transaction details are displayed as follows:\n\n```terminal\n{\n accessList: [],\n blockHash: \"0xdef68762539ebfb247e31d749acc26ab5df3163aabf9d450b6001c200d17da8a\",\n blockNumber: 1,\n chainId: \"0x539\",\n from: \"0x540dbaeb2390f2eb005f7a6dbf3436a0959197a9\",\n gas: 21000,\n gasPrice: 875000001,\n hash: \"0x2326887390dc04483d435a6303dc05bd2648086eab15f24d7dcdf8c26e8af4b8\",\n input: \"0x\",\n maxFeePerGas: 2000000001,\n maxPriorityFeePerGas: 1,\n nonce: 0,\n r: \"0x3f7b54f095b837ec13480eab5ac7de082465fc79f43b813cca051394dd028d5d\",\n s: \"0x167ef271ae8175239dccdd970db85e06a044d5039252d6232d0954d803bb4e3e\",\n to: \"0x43e3a14fb8c68caa7eea95a02693759de4513950\",\n transactionIndex: 0,\n type: \"0x2\",\n v: \"0x0\",\n value: 50000000000000000000,\n yParity: \"0x0\"\n}\n```\n\nNow that the user account is funded with ether, a contract can be created and deployed to the Geth node.\n\n## A simple smart contract {#simple-smart-contract}\n\nThis tutorial will make use of a classic example smart contract, `Storage.sol`. This contract exposes two public functions, one to add a value to the contract storage and one to view the stored value. The contract, written in Solidity, is provided below:\n\n```solidity\npragma solidity \u003e=0.8.2 \u003c0.9.0;\n\ncontract Storage {\n uint256 number;\n\n function store(uint256 num) public {\n number = num;\n }\n\n function retrieve() public view returns (uint256) {\n return number;\n }\n}\n```\n\nSolidity is a high-level language that makes code executable by the Ethereum virtual machine (EVM) readable to humans. This means that there is an intermediate step between writing code in Solidity and deploying it to Ethereum. This step is called \"compilation\", and it converts human-readable code into EVM-executable bytecode. This byte-code is then included in a transaction sent from the Geth node during contract deployment. This can all be done directly from the Geth Javascript console; however, this tutorial uses an online IDE called Remix to handle the compilation and deployment of the contract to the local Geth node.\n\n## Compile and deploy using Remix {#compile-and-deploy}\n\nIn a web browser, open \u003chttps://remix.ethereum.org\u003e. This opens an online smart contract development environment. On the left-hand side of the screen there is a side-bar menu that toggles between several toolboxes that are displayed in a vertical panel. On the right-hand side of the screen, there is an editor and a terminal. This layout is similar to the default layout of many other IDEs such as [VSCode](https://code.visualstudio.com/). The contract defined in the previous section, `Storage.sol` is already available in the `Contracts` directory in Remix. It can be opened and reviewed in the editor.\n\n![Remix](/images/docs/remix.png)\n\nThe Solidity logo is present as an icon in the Remix sidebar. Clicking this icon opens the Solidity compiler wizard, which can be used to compile `Storage.sol` ready. With `Solidity.sol` open in the editor window, simply click the `Compile 1_Storage.sol` button. A green tick will appear next to the Solidity icon to confirm that the contract has been compiled successfully. This means the contract bytecode is available.\n\n![Remix-compiler](/images/docs/remix-compiler.png)\n\nBelow the Solidity icon is a fourth icon that includes the Ethereum logo. Clicking this opens the Deploy menu. In this menu, Remix can be configured to connect to the local Geth node. In the drop-down menu labelled `ENVIRONMENT`, select `Custom - External Http Provider`. This will open an information pop-up with instructions for configuring Geth - these can be ignored as they were completed earlier in this tutorial. However, at the bottom of this pop-up is a box labelled `External HTTP Provider Endpoint`. This should be set to Geth's 8545 port on `localhost` (`http://127.0.0.1:8545`). Click OK. The `ACCOUNT` field should automatically populate with the address of the account created earlier using the Geth Javascript console.\n\n![Remix-deploy](/images/docs/remix-deploy.png)\n\nTo deploy `Storage.sol`, click `DEPLOY`.\n\nThe following logs in the Geth terminal confirm that the contract was successfully deployed.\n\n```terminal\nINFO [05-09|12:27:09.680] Setting new local account address=0x7Aa16266Ba3d309e3cb278B452b1A6307E52Fb62\nINFO [05-09|12:27:09.680] Submitted contract creation hash=0xbf2d2d1c393a882ffb6c90e6d1713906fd799651ae683237223b897d4781c4f2 from=0x7Aa16266Ba3d309e3cb278B452b1A6307E52Fb62 nonce=1 contract=0x4aA11DdfD817dD70e9FF2A2bf9c0306e8EC450d3 value=0\nINFO [05-09|12:27:09.681] Commit new sealing work number=2 sealhash=845a53..f22818 uncles=0 txs=1 gas=125,677 fees=0.0003141925 elapsed=\"335.991µs\"\nINFO [05-09|12:27:09.681] Successfully sealed new block number=2 sealhash=845a53..f22818 hash=e927bc..f2c8ed elapsed=\"703.415µs\"\nINFO [05-09|12:27:09.681] 🔨 mined potential block number=2 hash=e927bc..f2c8ed\n```\n\n## Interact with contract using Remix {#interact-with-contract}\n\nThe contract is now deployed on a local testnet version of the Ethereum blockchain. This means there is a contract address that contains an executable bytecode that can be invoked by sending transactions with instructions, also in bytecode, to that address. Again, this can all be achieved by constructing transactions directly in the Geth console or even by making external http requests using tools such as Curl. Here, Remix is used to retrieve the value; then the same action is taken using the Javascript console.\n\nAfter deploying the contract in Remix, the `Deployed Contracts` tab in the sidebar automatically populates with the public functions exposed by `Storage.sol`. To send a value to the contract storage, type a number in the field adjacent to the `store` button, then click the button.\n\n![Remix-func](/images/docs/remix-func.png)\n\nIn the Geth terminal, the following logs confirm that the transaction was successful (the actual values will vary from the example below):\n\n```terminal\nINFO [05-09|13:41:58.644] Submitted transaction hash=0xfa3cd8df6841c5d3706d3bacfb881d2b985d0b55bdba440f1fdafa4ed5b5cc31 from=0x7Aa16266Ba3d309e3cb278B452b1A6307E52Fb62 nonce=2 recipient=0x4aA11DdfD817dD70e9FF2A2bf9c0306e8EC450d3 value=0\nINFO [05-09|13:41:58.644] Commit new sealing work number=3 sealhash=5442e3..f49739 uncles=0 txs=1 gas=43724 fees=0.00010931 elapsed=\"334.446µs\"\nINFO [05-09|13:41:58.645] Successfully sealed new block number=3 sealhash=5442e3..f49739 hash=c076c8..eeee77 elapsed=\"581.374µs\"\nINFO [05-09|13:41:58.645] 🔨 mined potential block number=3 hash=c076c8..eeee77\n```\n\nThe transaction hash can be used to retrieve the transaction details using the Geth Javascript console, which will return the following information:\n\n```terminal\n{\n accessList: [],\n blockHash: \"0xc076c88200618f4cbbfb4fe7c3eb8d93566724755acc6c4e9a355cc090eeee77\",\n blockNumber: 3,\n chainId: \"0x539\",\n from: \"0x7aa16266ba3d309e3cb278b452b1a6307e52fb62\",\n gas: 43724,\n gasPrice: 3172359839,\n hash: \"0xfa3cd8df6841c5d3706d3bacfb881d2b985d0b55bdba440f1fdafa4ed5b5cc31\",\n input: \"0x6057361d0000000000000000000000000000000000000000000000000000000000000038\",\n maxFeePerGas: 4032048134,\n maxPriorityFeePerGas: 2500000000,\n nonce: 2,\n r: \"0x859b88062715c5d66b9a188886ad51b68a1e4938d5932ce2dac874c104d2b26\",\n s: \"0x61ef6bc454d5e6a76c414f133aeb6321197a61e263a3e270a16bd4a65d94da55\",\n to: \"0x4aa11ddfd817dd70e9ff2a2bf9c0306e8ec450d3\",\n transactionIndex: 0,\n type: \"0x2\",\n v: \"0x1\",\n value: 0,\n yParity: \"0x1\"\n}\n```\n\nThe `from` address is the account that sent the transaction, and the `to` address is the deployment address of the contract. The value entered into Remix is now in storage at that contract address. This can be retrieved using Remix by calling the `retrieve` function - to do this simply click the `retrieve` button. Alternatively, it can be retrieved using `web3.getStorageAt` using the Geth Javascript console. The following command returns the value in the contract storage (replace the given address with the correct one displayed in the Geth logs).\n\n```sh\nweb3.eth.getStorageAt(\"0x407d73d8a49eeb85d32cf465507dd71d507100c1\", 0)\n```\n\nThis returns a value that looks like the following:\n\n```terminal\n\"0x000000000000000000000000000000000000000000000000000000000000000038\"\n```\n\nThe returned value is a left-padded hexadecimal value. For example, the return value `0x000000000000000000000000000000000000000000000000000000000000000038` corresponds to a value of `56` entered as a uint256 to Remix. After converting from hexadecimal string to decimal number the returned value should be equal to that provided to Remix in the previous step.\n\n## Reusing --datadir {#reusing-datadir}\n\nThis tutorial used an ephemeral blockchain that is completely destroyed and started afresh during each dev-mode session. However, it is also possible to create persistent blockchain and account data that can be reused across multiple sessions. This is done by providing the `--datadir` flag and a directory name when starting Geth in dev-mode.\n\n```sh\ngeth --datadir dev-chain --dev --http --http.api web3,eth,net --http.corsdomain \"https://remix.ethereum.org\"\n```\n\n## Re-using accounts {#reusing-accounts}\n\nGeth will fail to start in dev-mode if keys have been manually created or imported into the keystore in the `--datadir` directory. This is because the account cannot be automatically unlocked. To resolve this issue, the password defined when the account was created can be saved to a text file and its path passed to the `--password` flag on starting Geth, for example, if `password.txt` is saved in the top-level `go-ethereum` directory:\n\n```sh\ngeth --datadir dev-chain --dev --http --http.api web3,eth,net --http.corsdomain \"https://remix.ethereum.org\" --password password.txt\n```\n\n## Using a Custom Genesis Configuration\n\nIt is possible to use a custom genesis block configuration in development mode. To obtain a compatible configuration, run `geth --dev dumpgenesis`. The resulting genesis has proof-of-stake and all pre-merge hard forks activated at block 0. Precompile addresses are funded to prevent them being removed from the state per EIP158.\n\nUsers are free to modify the generated template provided they keep the pre-merge hard-forks and proof-of-stake transition activated at block 0.\n\n## Summary {#summary}\n\nThis tutorial has demonstrated how to spin up a local developer network using Geth. Having started this development network, a simple contract was deployed to the developer network. Then, Remix was connected to the local Geth node and used to deploy and interact with a contract. Remix was used to add a value to the contract storage, and then the value was retrieved using Remix and also using the lower-level commands in the Javascript console.\n","navLinks":[{"id":"Getting started","items":[{"id":"Introduction","to":"/docs/getting-started"},{"id":"Hardware requirements","to":"/docs/getting-started/hardware-requirements"},{"id":"Installing Geth","to":"/docs/getting-started/installing-geth"},{"id":"Consensus clients","to":"/docs/getting-started/consensus-clients"}]},{"id":"Fundamentals","items":[{"id":"Introduction","to":"/docs/fundamentals"},{"id":"Node architecture","to":"/docs/fundamentals/node-architecture"},{"id":"Command-line options","to":"/docs/fundamentals/command-line-options"},{"id":"Security","to":"/docs/fundamentals/security"},{"id":"Sync-modes","to":"/docs/fundamentals/sync-modes"},{"id":"Beacon light sync","to":"/docs/fundamentals/blsync"},{"id":"Account management","to":"/docs/fundamentals/account-management"},{"id":"Databases","to":"/docs/fundamentals/databases"},{"id":"Backup \u0026 restore","to":"/docs/fundamentals/backup-restore"},{"id":"Logs","to":"/docs/fundamentals/logs"},{"id":"Connecting to peers","to":"/docs/fundamentals/peer-to-peer"},{"id":"Pruning","to":"/docs/fundamentals/pruning"},{"id":"Private networks via Kurtosis","to":"/docs/fundamentals/kurtosis"},{"id":"Private networks","to":"/docs/fundamentals/private-network"},{"id":"Config files","to":"/docs/fundamentals/config-files"},{"id":"Mining","to":"/docs/fundamentals/mining"}]},{"id":"Interacting with Geth","items":[{"id":"JSON-RPC Server","items":[{"id":"Introduction","to":"/docs/interacting-with-geth/rpc"},{"id":"Batch requests","to":"/docs/interacting-with-geth/rpc/batch"},{"id":"Real-time Events","to":"/docs/interacting-with-geth/rpc/pubsub"}]},{"id":"JSON-RPC Namespaces","items":[{"id":"admin","to":"/docs/interacting-with-geth/rpc/ns-admin"},{"id":"clique","to":"/docs/interacting-with-geth/rpc/ns-clique"},{"id":"debug","to":"/docs/interacting-with-geth/rpc/ns-debug"},{"id":"eth","to":"/docs/interacting-with-geth/rpc/ns-eth"},{"id":"les","to":"/docs/interacting-with-geth/rpc/ns-les"},{"id":"miner (deprecated)","to":"/docs/interacting-with-geth/rpc/ns-miner"},{"id":"net","to":"/docs/interacting-with-geth/rpc/ns-net"},{"id":"personal (deprecated)","to":"/docs/interacting-with-geth/rpc/ns-personal"},{"id":"txpool","to":"/docs/interacting-with-geth/rpc/ns-txpool"},{"id":"objects","to":"/docs/interacting-with-geth/rpc/objects"}]},{"id":"JS Console","to":"/docs/interacting-with-geth/javascript-console"},{"id":"JS Console 2: Contracts","to":"/docs/interacting-with-geth/javascript-console-contracts"},{"id":"GraphQL server","to":"/docs/interacting-with-geth/rpc/graphql"}]},{"id":"Developers","items":[{"id":"Introduction","to":"/docs/developers"},{"id":"Dapp developers","items":[{"id":"Dev mode","to":"/docs/developers/dapp-developer/dev-mode"},{"id":"Go API","to":"/docs/developers/dapp-developer/native"},{"id":"Go Account Management","to":"/docs/developers/dapp-developer/native-accounts"},{"id":"Go Contract Bindings","to":"/docs/developers/dapp-developer/native-bindings"},{"id":"Go Contract Bindings (v2)","to":"/docs/developers/dapp-developer/native-bindings-v2"},{"id":"Geth for Mobile","to":"/docs/developers/dapp-developer/mobile"}]},{"id":"EVM tracing","items":[{"id":"Introduction","to":"/docs/developers/evm-tracing"},{"id":"Basic traces","to":"/docs/developers/evm-tracing/basic-traces"},{"id":"Built-in tracers","to":"/docs/developers/evm-tracing/built-in-tracers"},{"id":"Custom EVM tracer","to":"/docs/developers/evm-tracing/custom-tracer"},{"id":"Live tracing","to":"/docs/developers/evm-tracing/live-tracing"},{"id":"Tutorial for Javascript tracing","to":"/docs/developers/evm-tracing/javascript-tutorial"}]},{"id":"Geth developer","items":[{"id":"Developer guide","to":"/docs/developers/geth-developer/dev-guide"},{"id":"Disclosures","to":"/docs/developers/geth-developer/disclosures"},{"id":"DNS discovery setup guide","to":"/docs/developers/geth-developer/dns-discovery-setup"},{"id":"Code review guidelines","to":"/docs/developers/geth-developer/code-review-guidelines"}]},{"id":"Contributing","to":"/docs/developers/geth-developer/contributing"}]},{"id":"Monitoring","items":[{"id":"Creating Dashboards","to":"/docs/monitoring/dashboards"},{"id":"Understanding Dashboards","to":"/docs/monitoring/understanding-dashboards"},{"id":"Ethstats","to":"/docs/monitoring/ethstats"},{"id":"Metrics","to":"/docs/monitoring/metrics"}]},{"id":"Tools","items":[{"id":"Clef","items":[{"id":"Introduction","to":"/docs/tools/clef/introduction"},{"id":"APIs","to":"/docs/tools/clef/apis"},{"id":"Rules","to":"/docs/tools/clef/rules"},{"id":"Setup","to":"/docs/tools/clef/setup"},{"id":"Datatypes","to":"/docs/tools/clef/datatypes"},{"id":"Tutorial","to":"/docs/tools/clef/tutorial"},{"id":"Clique-signing","to":"/docs/tools/clef/clique-signing"}]},{"id":"abigen","to":"/docs/tools/abigen"},{"id":"devp2p","to":"/docs/tools/devp2p"},{"id":"puppeth","to":"/docs/tools/puppeth"}]},{"id":"FAQs","to":"/docs/faq"},{"id":"Resources","to":"/docs/resources"}],"lastModified":"May 29, 2024"},"__N_SSG":true},"page":"/[...slug]","query":{"slug":["docs","developers","dapp-developer","dev-mode"]},"buildId":"nrEqHuiu9sWikFZ_F7WGd","isFallback":false,"gsp":true,"scriptLoader":[]}</script><next-route-announcer><p aria-live="assertive" id="__next-route-announcer__" role="alert" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; top: 0px; width: 1px; white-space: nowrap; overflow-wrap: normal;">Understanding Geth's dashboard | go-ethereum</p></next-route-announcer><div class="chakra-portal"><ul role="region" aria-live="polite" id="chakra-toast-manager-top" style="position: fixed; z-index: 5500; pointer-events: none; display: flex; flex-direction: column; margin: 0px auto; top: env(safe-area-inset-top, 0px); right: env(safe-area-inset-right, 0px); left: env(safe-area-inset-left, 0px);"></ul><ul role="region" aria-live="polite" id="chakra-toast-manager-top-left" style="position: fixed; z-index: 5500; pointer-events: none; display: flex; flex-direction: column; top: env(safe-area-inset-top, 0px); left: env(safe-area-inset-left, 0px);"></ul><ul role="region" aria-live="polite" id="chakra-toast-manager-top-right" style="position: fixed; z-index: 5500; pointer-events: none; display: flex; flex-direction: column; top: env(safe-area-inset-top, 0px); right: env(safe-area-inset-right, 0px);"></ul><ul role="region" aria-live="polite" id="chakra-toast-manager-bottom-left" style="position: fixed; z-index: 5500; pointer-events: none; display: flex; flex-direction: column; bottom: env(safe-area-inset-bottom, 0px); left: env(safe-area-inset-left, 0px);"></ul><ul role="region" aria-live="polite" id="chakra-toast-manager-bottom" style="position: fixed; z-index: 5500; pointer-events: none; display: flex; flex-direction: column; margin: 0px auto; bottom: env(safe-area-inset-bottom, 0px); right: env(safe-area-inset-right, 0px); left: env(safe-area-inset-left, 0px);"></ul><ul role="region" aria-live="polite" id="chakra-toast-manager-bottom-right" style="position: fixed; z-index: 5500; pointer-events: none; display: flex; flex-direction: column; bottom: env(safe-area-inset-bottom, 0px); right: env(safe-area-inset-right, 0px);"></ul></div><script src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/index-3f8cc70fa936f559.js.download"></script><script src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/106-3cc2c634385c6636.js.download"></script><script src="./Understanding Geth&#39;s dashboard _ go-ethereum_files/downloads-cbdcb5f2a012f7c1.js.download"></script></body></html>