CINXE.COM
Prerequisites - Polygon Knowledge Layer
<!doctype html> <html lang="en" class="no-js"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="author" content="Polygon Labs"> <link rel="canonical" href="https://docs.polygon.technology/pos/how-to/prerequisites/"> <link rel="prev" href="../bridging/l1-l2-communication/state-transfer/"> <link rel="next" href="../snapshots/"> <link rel="icon" href="../../../img/favicon.ico"> <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.4.8"> <title>Prerequisites - Polygon Knowledge Layer</title> <link rel="stylesheet" href="../../../assets/stylesheets/main.4b4a2bd9.min.css"> <link rel="stylesheet" href="../../../assets/stylesheets/palette.356b1318.min.css"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"> <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style> <link rel="stylesheet" href="../../../_site_essentials/stylesheets/extra.css"> <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.7/katex.min.css"> <script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MQWH3L28');</script> <!-- End Google Tag Manager --> <script>var consent;"undefined"==typeof __md_analytics||(consent=__md_get("__consent"))&&consent.analytics&&__md_analytics()</script> <!-- Verification for Google search --> <meta name="google-site-verification" content="sALqmNQZWZ6_5ig5JqIaFiR6AMUotcGG6xFq_fQPt_U" /> <!-- End of verification for Google search --> </head> <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="purple"> <script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script> <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> <label class="md-overlay" for="__drawer"></label> <div data-md-component="skip"> <a href="#node-system-requirements" class="md-skip"> Skip to content </a> </div> <div data-md-component="announce"> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component="header"> <nav class="md-header__inner md-grid" aria-label="Header"> <a href="../../.." title="Polygon Knowledge Layer" class="md-header__button md-logo" aria-label="Polygon Knowledge Layer" data-md-component="logo"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg version="1.1" id="svg1" width="668" height="668" viewBox="0 0 668 668" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs1" /> <g id="g1"> <image width="668" height="668" preserveAspectRatio="none" xlink:href="data:image/png;base64,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 " id="image1" /> </g> </svg> </a> <label class="md-header__button md-icon" for="__drawer"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class="md-header__title" data-md-component="header-title"> <div class="md-header__ellipsis"> <div class="md-header__topic"> <span class="md-ellipsis"> Polygon Knowledge Layer </span> </div> <div class="md-header__topic" data-md-component="header-topic"> <span class="md-ellipsis"> Prerequisites </span> </div> </div> </div> <form class="md-header__option" data-md-component="palette"> <input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="purple" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1"> <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0 8a5 5 0 0 1-5-5 5 5 0 0 1 5-5 5 5 0 0 1 5 5 5 5 0 0 1-5 5m0-12.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5Z"/></svg> </label> <input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="purple" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2"> <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 9a3 3 0 0 1 3 3 3 3 0 0 1-3 3 3 3 0 0 1-3-3 3 3 0 0 1 3-3m0-4.5c5 0 9.27 3.11 11 7.5-1.73 4.39-6 7.5-11 7.5S2.73 16.39 1 12c1.73-4.39 6-7.5 11-7.5M3.18 12a9.821 9.821 0 0 0 17.64 0 9.821 9.821 0 0 0-17.64 0Z"/></svg> </label> </form> <label class="md-header__button md-icon" for="__search"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class="md-search" data-md-component="search" role="dialog"> <label class="md-search__overlay" for="__search"></label> <div class="md-search__inner" role="search"> <form class="md-search__form" name="search"> <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required> <label class="md-search__icon md-icon" for="__search"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class="md-search__options" aria-label="Search"> <a href="javascript:void(0)" class="md-search__icon md-icon" title="Share" aria-label="Share" data-clipboard data-clipboard-text="" data-md-component="search-share" tabindex="-1"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7 0-.24-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91 1.61 0 2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08Z"/></svg> </a> <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class="md-search__suggest" data-md-component="search-suggest"></div> </form> <div class="md-search__output"> <div class="md-search__scrollwrap" data-md-scrollfix> <div class="md-search-result" data-md-component="search-result"> <div class="md-search-result__meta"> Initializing search </div> <ol class="md-search-result__list" role="presentation"></ol> </div> </div> </div> </div> </div> <div class="md-header__source"> <a href="https://github.com/0xPolygon/polygon-docs" title="Go to repository" class="md-source" data-md-component="source"> <div class="md-source__icon md-icon"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_1864_3171)"> <path d="M11.9985 0C5.37301 0 6.92471e-06 5.394 6.92471e-06 12.048C-0.00270001 14.5733 0.788278 17.0356 2.26115 19.0869C3.73403 21.1383 5.81432 22.6748 8.20801 23.4795C8.80801 23.5905 9.02701 23.2185 9.02701 22.899C9.02701 22.6125 9.01651 21.855 9.01051 20.85C5.67301 21.5775 4.96801 19.2345 4.96801 19.2345C4.42351 17.8425 3.63601 17.472 3.63601 17.472C2.54551 16.725 3.71701 16.74 3.71701 16.74C4.92151 16.8255 5.55451 17.982 5.55451 17.982C6.62551 19.8225 8.36401 19.2915 9.04801 18.9825C9.15601 18.204 9.46651 17.673 9.81001 17.3715C7.14601 17.067 4.34401 16.0335 4.34401 11.418C4.34401 10.1025 4.81201 9.027 5.58001 8.184C5.45551 7.8795 5.04451 6.654 5.69701 4.9965C5.69701 4.9965 6.70501 4.6725 8.99701 6.231C9.97613 5.96342 10.9865 5.82723 12.0015 5.826C13.0166 5.82802 14.0269 5.96471 15.006 6.2325C17.2965 4.674 18.303 4.998 18.303 4.998C18.957 6.657 18.546 7.881 18.423 8.1855C19.1925 9.0285 19.656 10.104 19.656 11.4195C19.656 16.047 16.851 17.0655 14.178 17.364C14.6085 17.736 14.9925 18.471 14.9925 19.5945C14.9925 21.2055 14.9775 22.5045 14.9775 22.899C14.9775 23.2215 15.1935 23.5965 15.8025 23.478C18.1939 22.6714 20.2716 21.1343 21.7424 19.0835C23.2132 17.0326 24.0029 14.5717 24 12.048C24 5.394 18.627 0 11.9985 0Z" fill="black"/> </g> <defs> <clipPath id="clip0_1864_3171"> <rect width="24" height="24" fill="white"/> </clipPath> </defs> </svg> </div> <div class="md-source__repository"> Polygon Knowledge Layer </div> </a> </div> </nav> <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs"> <div class="md-grid"> <ul class="md-tabs__list"> <li class="md-tabs__item"> <a href="../../.." class="md-tabs__link"> Home </a> </li> <li class="md-tabs__item"> <a href="../../../cdk/" class="md-tabs__link"> CDK </a> </li> <li class="md-tabs__item"> <a href="../../../zkEVM/" class="md-tabs__link"> zkEVM </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href="../../" class="md-tabs__link"> PoS </a> </li> <li class="md-tabs__item"> <a href="../../../miden/" class="md-tabs__link"> Miden </a> </li> <li class="md-tabs__item"> <a href="../../../tools/" class="md-tabs__link"> Developer tools </a> </li> <li class="md-tabs__item"> <a href="../../../innovation-design/" class="md-tabs__link"> Innovation & design </a> </li> <li class="md-tabs__item"> <a href="../../../learn/" class="md-tabs__link"> Learn </a> </li> </ul> </div> </nav> </header> <div class="md-container" data-md-component="container"> <main class="md-main" data-md-component="main"> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0"> <label class="md-nav__title" for="__drawer"> <a href="../../.." title="Polygon Knowledge Layer" class="md-nav__button md-logo" aria-label="Polygon Knowledge Layer" data-md-component="logo"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg version="1.1" id="svg1" width="668" height="668" viewBox="0 0 668 668" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> <defs id="defs1" /> <g id="g1"> <image width="668" height="668" preserveAspectRatio="none" xlink:href="data:image/png;base64,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 " id="image1" /> </g> </svg> </a> Polygon Knowledge Layer </label> <div class="md-nav__source"> <a href="https://github.com/0xPolygon/polygon-docs" title="Go to repository" class="md-source" data-md-component="source"> <div class="md-source__icon md-icon"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_1864_3171)"> <path d="M11.9985 0C5.37301 0 6.92471e-06 5.394 6.92471e-06 12.048C-0.00270001 14.5733 0.788278 17.0356 2.26115 19.0869C3.73403 21.1383 5.81432 22.6748 8.20801 23.4795C8.80801 23.5905 9.02701 23.2185 9.02701 22.899C9.02701 22.6125 9.01651 21.855 9.01051 20.85C5.67301 21.5775 4.96801 19.2345 4.96801 19.2345C4.42351 17.8425 3.63601 17.472 3.63601 17.472C2.54551 16.725 3.71701 16.74 3.71701 16.74C4.92151 16.8255 5.55451 17.982 5.55451 17.982C6.62551 19.8225 8.36401 19.2915 9.04801 18.9825C9.15601 18.204 9.46651 17.673 9.81001 17.3715C7.14601 17.067 4.34401 16.0335 4.34401 11.418C4.34401 10.1025 4.81201 9.027 5.58001 8.184C5.45551 7.8795 5.04451 6.654 5.69701 4.9965C5.69701 4.9965 6.70501 4.6725 8.99701 6.231C9.97613 5.96342 10.9865 5.82723 12.0015 5.826C13.0166 5.82802 14.0269 5.96471 15.006 6.2325C17.2965 4.674 18.303 4.998 18.303 4.998C18.957 6.657 18.546 7.881 18.423 8.1855C19.1925 9.0285 19.656 10.104 19.656 11.4195C19.656 16.047 16.851 17.0655 14.178 17.364C14.6085 17.736 14.9925 18.471 14.9925 19.5945C14.9925 21.2055 14.9775 22.5045 14.9775 22.899C14.9775 23.2215 15.1935 23.5965 15.8025 23.478C18.1939 22.6714 20.2716 21.1343 21.7424 19.0835C23.2132 17.0326 24.0029 14.5717 24 12.048C24 5.394 18.627 0 11.9985 0Z" fill="black"/> </g> <defs> <clipPath id="clip0_1864_3171"> <rect width="24" height="24" fill="white"/> </clipPath> </defs> </svg> </div> <div class="md-source__repository"> Polygon Knowledge Layer </div> </a> </div> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../.." class="md-nav__link"> <span class="md-ellipsis"> Home </span> </a> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" > <div class="md-nav__link md-nav__container"> <a href="../../../cdk/" class="md-nav__link "> <span class="md-ellipsis"> CDK </span> </a> <label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2"> <span class="md-nav__icon md-icon"></span> CDK </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3" > <label class="md-nav__link" for="__nav_2_3" id="__nav_2_3_label" tabindex=""> <span class="md-ellipsis"> Releases </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2_3"> <span class="md-nav__icon md-icon"></span> Releases </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/releases/stack-components/" class="md-nav__link"> <span class="md-ellipsis"> Full execution proofs (FEP) </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4" > <label class="md-nav__link" for="__nav_2_4" id="__nav_2_4_label" tabindex=""> <span class="md-ellipsis"> Get started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2_4"> <span class="md-nav__icon md-icon"></span> Get started </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/getting-started/local-deployment/" class="md-nav__link"> <span class="md-ellipsis"> Local deployment guide </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/getting-started/cli-tool/" class="md-nav__link"> <span class="md-ellipsis"> CLI tool </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_3" > <div class="md-nav__link md-nav__container"> <a href="../../../cdk/getting-started/cdk-erigon/" class="md-nav__link "> <span class="md-ellipsis"> CDK Erigon </span> </a> <label class="md-nav__link " for="__nav_2_4_3" id="__nav_2_4_3_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2_4_3"> <span class="md-nav__icon md-icon"></span> CDK Erigon </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/getting-started/cdk-erigon/releases/" class="md-nav__link"> <span class="md-ellipsis"> Releases </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/getting-started/cdk-erigon/deploy-cdk-erigon/" class="md-nav__link"> <span class="md-ellipsis"> Deploy a node </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_3_4" > <label class="md-nav__link" for="__nav_2_4_3_4" id="__nav_2_4_3_4_label" tabindex="0"> <span class="md-ellipsis"> How to </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_4_3_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2_4_3_4"> <span class="md-nav__icon md-icon"></span> How to </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/getting-started/cdk-erigon/chain-config/" class="md-nav__link"> <span class="md-ellipsis"> Configure chains dynamically </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/getting-started/cdk-erigon/network-recovery/" class="md-nav__link"> <span class="md-ellipsis"> Recover the network </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../cdk/getting-started/cdk-erigon/resources/" class="md-nav__link"> <span class="md-ellipsis"> Resources </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5" > <label class="md-nav__link" for="__nav_2_5" id="__nav_2_5_label" tabindex=""> <span class="md-ellipsis"> Concepts </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2_5"> <span class="md-nav__icon md-icon"></span> Concepts </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/concepts/layer2s/" class="md-nav__link"> <span class="md-ellipsis"> Layer 2s </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/concepts/architecture/" class="md-nav__link"> <span class="md-ellipsis"> L2 architecture overview </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/concepts/transaction-lifecycle/" class="md-nav__link"> <span class="md-ellipsis"> L2 transaction lifecycle </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/concepts/rollup-vs-validium/" class="md-nav__link"> <span class="md-ellipsis"> Rollups vs. validiums </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/concepts/zk-vs-optimistic/" class="md-nav__link"> <span class="md-ellipsis"> ZK vs. optimistic rollups </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/concepts/blocks/" class="md-nav__link"> <span class="md-ellipsis"> Batches, blocks, transactions </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/concepts/transaction-finality/" class="md-nav__link"> <span class="md-ellipsis"> Transaction finality </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/concepts/gas-fees/" class="md-nav__link"> <span class="md-ellipsis"> Gas fees </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/concepts/bridging/" class="md-nav__link"> <span class="md-ellipsis"> Bridging & interoperability </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/concepts/admin-upgradeability/" class="md-nav__link"> <span class="md-ellipsis"> Admin upgradeability </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_6" > <label class="md-nav__link" for="__nav_2_6" id="__nav_2_6_label" tabindex=""> <span class="md-ellipsis"> How to </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2_6"> <span class="md-nav__icon md-icon"></span> How to </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_6_1" > <label class="md-nav__link" for="__nav_2_6_1" id="__nav_2_6_1_label" tabindex="0"> <span class="md-ellipsis"> Migrate </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_6_1_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2_6_1"> <span class="md-nav__icon md-icon"></span> Migrate </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/how-to/migrate/forkid-9-12/" class="md-nav__link"> <span class="md-ellipsis"> Fork id 9 to 12 </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/how-to/migrate/forkid-7-to-9/" class="md-nav__link"> <span class="md-ellipsis"> Fork id 7 to 9 </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/how-to/migrate/fork/" class="md-nav__link"> <span class="md-ellipsis"> General guide for partners </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../cdk/how-to/use-native-token/" class="md-nav__link"> <span class="md-ellipsis"> Create custom native token </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/how-to/integrate-da/" class="md-nav__link"> <span class="md-ellipsis"> Integrate DA layer </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/how-to/manage-policies/" class="md-nav__link"> <span class="md-ellipsis"> Manage allowlists with policies </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/how-to/quick-test-stack/" class="md-nav__link"> <span class="md-ellipsis"> Quickly test a running stack </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/how-to/connect-testnet/" class="md-nav__link"> <span class="md-ellipsis"> Connect to CDK testnets </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_7" > <label class="md-nav__link" for="__nav_2_7" id="__nav_2_7_label" tabindex=""> <span class="md-ellipsis"> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_7_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2_7"> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/architecture/high-level-views/" class="md-nav__link"> <span class="md-ellipsis"> High level views </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/architecture/cdk-zkevm/" class="md-nav__link"> <span class="md-ellipsis"> CDK rollup </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/architecture/cdk-validium/" class="md-nav__link"> <span class="md-ellipsis"> CDK validium </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/architecture/staking-the-bridge/" class="md-nav__link"> <span class="md-ellipsis"> Staking the Bridge (STB) </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8" > <label class="md-nav__link" for="__nav_2_8" id="__nav_2_8_label" tabindex=""> <span class="md-ellipsis"> Specification </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_8_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2_8"> <span class="md-nav__icon md-icon"></span> Specification </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/spec/validium-vs-rollup/" class="md-nav__link"> <span class="md-ellipsis"> Validium vs rollup </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_9" > <div class="md-nav__link md-nav__container"> <a href="../../../cdk/glossary/" class="md-nav__link "> <span class="md-ellipsis"> Glossary </span> </a> </div> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_9_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2_9"> <span class="md-nav__icon md-icon"></span> Glossary </label> <ul class="md-nav__list" data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_10" > <label class="md-nav__link" for="__nav_2_10" id="__nav_2_10_label" tabindex=""> <span class="md-ellipsis"> Additional resources </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_10_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_2_10"> <span class="md-nav__icon md-icon"></span> Additional resources </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/resources/third-party-guides/" class="md-nav__link"> <span class="md-ellipsis"> Third-party guides </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/resources/cdk-repo-reference/" class="md-nav__link"> <span class="md-ellipsis"> CDK repos </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/" class="md-nav__link "> <span class="md-ellipsis"> zkEVM </span> </a> <label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3"> <span class="md-nav__icon md-icon"></span> zkEVM </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3" > <label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex=""> <span class="md-ellipsis"> Releases </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_3"> <span class="md-nav__icon md-icon"></span> Releases </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/etrog-upgrade/" class="md-nav__link"> <span class="md-ellipsis"> Etrog upgrade </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/get-started/" class="md-nav__link "> <span class="md-ellipsis"> Build </span> </a> <label class="md-nav__link " for="__nav_3_4" id="__nav_3_4_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_4"> <span class="md-nav__icon md-icon"></span> Build </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/quick-start/" class="md-nav__link"> <span class="md-ellipsis"> Connect to zkEVM </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4_3" > <label class="md-nav__link" for="__nav_3_4_3" id="__nav_3_4_3_label" tabindex="0"> <span class="md-ellipsis"> Deployment guides </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_4_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_4_3"> <span class="md-nav__icon md-icon"></span> Deployment guides </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/setup-nodes/local-node/" class="md-nav__link"> <span class="md-ellipsis"> Setup local zkNode </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/setup-nodes/production-node/" class="md-nav__link"> <span class="md-ellipsis"> Setup production zkNode </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_4_3_3" > <label class="md-nav__link" for="__nav_3_4_3_3" id="__nav_3_4_3_3_label" tabindex="0"> <span class="md-ellipsis"> Deploy zkEVM </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_4_3_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_4_3_3"> <span class="md-nav__icon md-icon"></span> Deploy zkEVM </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/setup-nodes/deploy-zkevm/intro/" class="md-nav__link"> <span class="md-ellipsis"> Introduction </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/setup-nodes/deploy-zkevm/environment-overview/" class="md-nav__link"> <span class="md-ellipsis"> Environment overview </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/setup-nodes/deploy-zkevm/prerequisites/" class="md-nav__link"> <span class="md-ellipsis"> Prerequisites </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/setup-nodes/deploy-zkevm/install-dependencies/" class="md-nav__link"> <span class="md-ellipsis"> Install dependencies </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/setup-nodes/deploy-zkevm/create-wallets/" class="md-nav__link"> <span class="md-ellipsis"> Create wallets </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/setup-nodes/deploy-zkevm/configure-node-deployment/" class="md-nav__link"> <span class="md-ellipsis"> Configure node deployment </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/setup-nodes/deploy-zkevm/configure-prover/" class="md-nav__link"> <span class="md-ellipsis"> Configure prover </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/setup-nodes/deploy-zkevm/start-node/" class="md-nav__link"> <span class="md-ellipsis"> Start node </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/setup-nodes/deploy-zkevm/start-services/" class="md-nav__link"> <span class="md-ellipsis"> Start services </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/risk-disclosures/" class="md-nav__link"> <span class="md-ellipsis"> Risk disclosures </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/historical-data/" class="md-nav__link"> <span class="md-ellipsis"> Historical data </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/json-rpc/" class="md-nav__link"> <span class="md-ellipsis"> JSON RPC endpoints </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/get-started/check-tx-status/" class="md-nav__link"> <span class="md-ellipsis"> Check transaction status </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/architecture/" class="md-nav__link "> <span class="md-ellipsis"> Architecture </span> </a> <label class="md-nav__link " for="__nav_3_5" id="__nav_3_5_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5"> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_2" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/architecture/protocol/" class="md-nav__link "> <span class="md-ellipsis"> zkEVM protocol </span> </a> <label class="md-nav__link " for="__nav_3_5_2" id="__nav_3_5_2_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_5_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_2"> <span class="md-nav__icon md-icon"></span> zkEVM protocol </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zknode/" class="md-nav__link"> <span class="md-ellipsis"> zkNode </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_2_3" > <label class="md-nav__link" for="__nav_3_5_2_3" id="__nav_3_5_2_3_label" tabindex="0"> <span class="md-ellipsis"> State management </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_5_2_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_2_3"> <span class="md-nav__icon md-icon"></span> State management </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/state-management/" class="md-nav__link"> <span class="md-ellipsis"> State management </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_2_3_2" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/architecture/protocol/transaction-life-cycle/" class="md-nav__link "> <span class="md-ellipsis"> Transaction life cycle </span> </a> <label class="md-nav__link " for="__nav_3_5_2_3_2" id="__nav_3_5_2_3_2_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="5" aria-labelledby="__nav_3_5_2_3_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_2_3_2"> <span class="md-nav__icon md-icon"></span> Transaction life cycle </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/transaction-life-cycle/submit-transaction/" class="md-nav__link"> <span class="md-ellipsis"> Submit transactions </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/transaction-life-cycle/transaction-execution/" class="md-nav__link"> <span class="md-ellipsis"> Transaction execution </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/transaction-life-cycle/transaction-batching/" class="md-nav__link"> <span class="md-ellipsis"> Transaction batching </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/transaction-life-cycle/batch-sequencing/" class="md-nav__link"> <span class="md-ellipsis"> Batch sequencing </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/transaction-life-cycle/batch-aggregation/" class="md-nav__link"> <span class="md-ellipsis"> Batch aggregation </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/sequencing-batches/" class="md-nav__link"> <span class="md-ellipsis"> Sequencing batches </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_2_3_4" > <label class="md-nav__link" for="__nav_3_5_2_3_4" id="__nav_3_5_2_3_4_label" tabindex="0"> <span class="md-ellipsis"> Data streamer </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="5" aria-labelledby="__nav_3_5_2_3_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_2_3_4"> <span class="md-nav__icon md-icon"></span> Data streamer </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/data-streamer/data-streamer-design/" class="md-nav__link"> <span class="md-ellipsis"> Overall design </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/data-streamer/data-streamer-protocols/" class="md-nav__link"> <span class="md-ellipsis"> Data streamer protocols </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/data-streamer/bookmarks/" class="md-nav__link"> <span class="md-ellipsis"> Bookmarks </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/data-streamer/client-server-messages/" class="md-nav__link"> <span class="md-ellipsis"> Protocol messages </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/data-streamer/server-source-library/" class="md-nav__link"> <span class="md-ellipsis"> Server-source library </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/data-streamer/stream-file/" class="md-nav__link"> <span class="md-ellipsis"> Stream file </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/data-streamer/how-rollbacks-work/" class="md-nav__link"> <span class="md-ellipsis"> How rollbacks work </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/synchronizer-reorg/" class="md-nav__link"> <span class="md-ellipsis"> About reorgs </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/admin-role/" class="md-nav__link"> <span class="md-ellipsis"> Admin role and governance </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_2_5" > <label class="md-nav__link" for="__nav_3_5_2_5" id="__nav_3_5_2_5_label" tabindex="0"> <span class="md-ellipsis"> Upgrades </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_5_2_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_2_5"> <span class="md-nav__icon md-icon"></span> Upgrades </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/upgradability/" class="md-nav__link"> <span class="md-ellipsis"> Protocol upgradability </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/upgrade-process/" class="md-nav__link"> <span class="md-ellipsis"> Upgrade process </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/security-council/" class="md-nav__link"> <span class="md-ellipsis"> Security council </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_2_7" > <label class="md-nav__link" for="__nav_3_5_2_7" id="__nav_3_5_2_7_label" tabindex="0"> <span class="md-ellipsis"> Malfunction resistance </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_5_2_7_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_2_7"> <span class="md-nav__icon md-icon"></span> Malfunction resistance </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/malfunction-resistance/sequencer-resistance/" class="md-nav__link"> <span class="md-ellipsis"> Force batches </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/malfunction-resistance/aggregator-resistance/" class="md-nav__link"> <span class="md-ellipsis"> Force verification </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/malfunction-resistance/emergency-state/" class="md-nav__link"> <span class="md-ellipsis"> Emergency state </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_3" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/architecture/zkprover/" class="md-nav__link "> <span class="md-ellipsis"> zkProver </span> </a> <label class="md-nav__link " for="__nav_3_5_3" id="__nav_3_5_3_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_5_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_3"> <span class="md-nav__icon md-icon"></span> zkProver </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_3_2" > <label class="md-nav__link" for="__nav_3_5_3_2" id="__nav_3_5_3_2_label" tabindex="0"> <span class="md-ellipsis"> zkProver design </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_5_3_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_3_2"> <span class="md-nav__icon md-icon"></span> zkProver design </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/intro-proving-sys/" class="md-nav__link"> <span class="md-ellipsis"> Introduction </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/the-executor-comp/" class="md-nav__link"> <span class="md-ellipsis"> Executor </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/proving-inputs/" class="md-nav__link"> <span class="md-ellipsis"> Proving system inputs </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/order-and-prove/" class="md-nav__link"> <span class="md-ellipsis"> Order and prove </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/aggregator-proofs/" class="md-nav__link"> <span class="md-ellipsis"> Aggregator </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/json-rpc-to-proof/" class="md-nav__link"> <span class="md-ellipsis"> JSON-RPC </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/polynom-identity-lang/" class="md-nav__link"> <span class="md-ellipsis"> Polynomial identity language </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/execution-trace-design/" class="md-nav__link"> <span class="md-ellipsis"> Execution trace design </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/exec-selector-columns/" class="md-nav__link"> <span class="md-ellipsis"> Selector columns </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/exec-trace-and-zkevm/" class="md-nav__link"> <span class="md-ellipsis"> zkEVM and execution traces </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/secondary-sms-lookup-tables/" class="md-nav__link"> <span class="md-ellipsis"> Using lookup tables </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/l2-state-tree/" class="md-nav__link"> <span class="md-ellipsis"> L2 state tree concept </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/l2statetree-keys-and-values/" class="md-nav__link"> <span class="md-ellipsis"> Keys and values </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/processing-l2-blocks/" class="md-nav__link"> <span class="md-ellipsis"> Processing L2 blocks </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/proving-system/prover-and-verifier-recap/" class="md-nav__link"> <span class="md-ellipsis"> Recapitulation </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_3_3" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/architecture/zkprover/main-state-machine/" class="md-nav__link "> <span class="md-ellipsis"> Main state machine </span> </a> <label class="md-nav__link " for="__nav_3_5_3_3" id="__nav_3_5_3_3_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_5_3_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_3_3"> <span class="md-nav__icon md-icon"></span> Main state machine </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/main-state-machine/processor/" class="md-nav__link"> <span class="md-ellipsis"> As a processor </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_3_4" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/architecture/zkprover/stark-recursion/" class="md-nav__link "> <span class="md-ellipsis"> STARK recursion </span> </a> <label class="md-nav__link " for="__nav_3_5_3_4" id="__nav_3_5_3_4_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_5_3_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_3_4"> <span class="md-nav__icon md-icon"></span> STARK recursion </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/stark-recursion/proving-tools/" class="md-nav__link"> <span class="md-ellipsis"> Proving tools and techniques </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/stark-recursion/composition-recursion-aggregation/" class="md-nav__link"> <span class="md-ellipsis"> Composition, recursion and aggregation </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/stark-recursion/recursion-sub-process/" class="md-nav__link"> <span class="md-ellipsis"> Recursion sub-process </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/stark-recursion/proving-architecture/" class="md-nav__link"> <span class="md-ellipsis"> Proving architecture </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/stark-recursion/circom-in-zkprover/" class="md-nav__link"> <span class="md-ellipsis"> CIRCOM in zkProver </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/stark-recursion/proving-setup-phase/" class="md-nav__link"> <span class="md-ellipsis"> Proving setup phase </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/stark-recursion/intermediate-recursion/" class="md-nav__link"> <span class="md-ellipsis"> Intermediate steps </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/stark-recursion/final-recursion-step/" class="md-nav__link"> <span class="md-ellipsis"> Final recursion step </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/stark-recursion/proof-generation-phase/" class="md-nav__link"> <span class="md-ellipsis"> Proof generation phase </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_3_5" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/architecture/zkprover/storage-state-machine/" class="md-nav__link "> <span class="md-ellipsis"> Storage state machine </span> </a> <label class="md-nav__link " for="__nav_3_5_3_5" id="__nav_3_5_3_5_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_5_3_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_3_5"> <span class="md-nav__icon md-icon"></span> Storage state machine </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/storage-state-machine/construct-key-path/" class="md-nav__link"> <span class="md-ellipsis"> Creating keys and paths </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/storage-state-machine/mechanism/" class="md-nav__link"> <span class="md-ellipsis"> Storage SM mechanism </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/storage-state-machine/executor-pil/" class="md-nav__link"> <span class="md-ellipsis"> Executor and PIL </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/arithmetic-sm/" class="md-nav__link"> <span class="md-ellipsis"> Arithmetic state machine </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/binary-sm/" class="md-nav__link"> <span class="md-ellipsis"> Binary state machine </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/memory-sm/" class="md-nav__link"> <span class="md-ellipsis"> Memory state machine </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/mem-align-sm/" class="md-nav__link"> <span class="md-ellipsis"> Memory-align state machine </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_3_10" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/architecture/zkprover/hashing-state-machines/" class="md-nav__link "> <span class="md-ellipsis"> Hashing state machines </span> </a> <label class="md-nav__link " for="__nav_3_5_3_10" id="__nav_3_5_3_10_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_5_3_10_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_3_10"> <span class="md-nav__icon md-icon"></span> Hashing state machines </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/hashing-state-machines/keccak-framework/" class="md-nav__link"> <span class="md-ellipsis"> Keccak framework </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/hashing-state-machines/paddingkk-sm/" class="md-nav__link"> <span class="md-ellipsis"> Padding-kk state machine </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/hashing-state-machines/paddingkk-bit-sm/" class="md-nav__link"> <span class="md-ellipsis"> Padding-kk-bit state machine </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/hashing-state-machines/bits2field-sm/" class="md-nav__link"> <span class="md-ellipsis"> Bits2Field state machine </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/hashing-state-machines/keccakf-sm/" class="md-nav__link"> <span class="md-ellipsis"> Keccak-f state machine </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/zkprover/hashing-state-machines/poseidon-sm/" class="md-nav__link"> <span class="md-ellipsis"> Poseidon state machine </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_4" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/architecture/unified-LxLy/" class="md-nav__link "> <span class="md-ellipsis"> Unified bridge </span> </a> <label class="md-nav__link " for="__nav_3_5_4" id="__nav_3_5_4_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_5_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_4"> <span class="md-nav__icon md-icon"></span> Unified bridge </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/unified-LxLy/ulxly-rollupmanager/" class="md-nav__link"> <span class="md-ellipsis"> The rollup manager </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/unified-LxLy/ulxly-sequence-verify/" class="md-nav__link"> <span class="md-ellipsis"> Sequencing and verification flows </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/unified-LxLy/ulxly-updating-rollups/" class="md-nav__link"> <span class="md-ellipsis"> Updating rollups </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/unified-LxLy/ulxly-exit-trees-node/" class="md-nav__link"> <span class="md-ellipsis"> Global exit trees </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/unified-LxLy/ulxly-interchain-exchanges/" class="md-nav__link"> <span class="md-ellipsis"> Cross-chain exchanges </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/unified-LxLy/bridging/" class="md-nav__link"> <span class="md-ellipsis"> Bridging </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_5" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/" class="md-nav__link "> <span class="md-ellipsis"> Smart contracts </span> </a> <label class="md-nav__link " for="__nav_3_5_5" id="__nav_3_5_5_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_5_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_5"> <span class="md-nav__icon md-icon"></span> Smart contracts </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/main-contracts/" class="md-nav__link"> <span class="md-ellipsis"> Main contracts </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/sequencing/" class="md-nav__link"> <span class="md-ellipsis"> Consensus contracts - sequencing </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/exit-roots/" class="md-nav__link"> <span class="md-ellipsis"> Exit roots </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/verification/" class="md-nav__link"> <span class="md-ellipsis"> Consensus contracts - verification </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_5_6" > <label class="md-nav__link" for="__nav_3_5_5_6" id="__nav_3_5_5_6_label" tabindex="0"> <span class="md-ellipsis"> API </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_5_5_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_5_6"> <span class="md-nav__icon md-icon"></span> API </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/PolygonRollupManager/" class="md-nav__link"> <span class="md-ellipsis"> PolygonRollupManager.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/PolygonZkEVMBridgeV2/" class="md-nav__link"> <span class="md-ellipsis"> PolygonZkEVMBridgeV2.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/PolygonZkEVMGlobalExitRootV2/" class="md-nav__link"> <span class="md-ellipsis"> PolygonZkEVMGlobalExitRootV2.sol </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_5_6_4" > <label class="md-nav__link" for="__nav_3_5_5_6_4" id="__nav_3_5_5_6_4_label" tabindex="0"> <span class="md-ellipsis"> Consensus </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="5" aria-labelledby="__nav_3_5_5_6_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_5_6_4"> <span class="md-nav__icon md-icon"></span> Consensus </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_5_6_4_1" > <label class="md-nav__link" for="__nav_3_5_5_6_4_1" id="__nav_3_5_5_6_4_1_label" tabindex="0"> <span class="md-ellipsis"> Data committee </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="6" aria-labelledby="__nav_3_5_5_6_4_1_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_5_6_4_1"> <span class="md-nav__icon md-icon"></span> Data committee </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/consensus/dataComittee/CDKDataCommittee/" class="md-nav__link"> <span class="md-ellipsis"> CDKDataCommittee.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/consensus/dataComittee/PolygonDataComittee/" class="md-nav__link"> <span class="md-ellipsis"> PolygonDataComittee.sol </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_5_6_4_2" > <label class="md-nav__link" for="__nav_3_5_5_6_4_2" id="__nav_3_5_5_6_4_2_label" tabindex="0"> <span class="md-ellipsis"> Validium </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="6" aria-labelledby="__nav_3_5_5_6_4_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_5_6_4_2"> <span class="md-nav__icon md-icon"></span> Validium </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/consensus/validium/PolygonDataCommittee/" class="md-nav__link"> <span class="md-ellipsis"> PolygonDataCommittee.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/consensus/validium/PolygonValidiumEtrog/" class="md-nav__link"> <span class="md-ellipsis"> PolygonValidiumEtrog.sol </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_5_6_4_2_3" > <label class="md-nav__link" for="__nav_3_5_5_6_4_2_3" id="__nav_3_5_5_6_4_2_3_label" tabindex="0"> <span class="md-ellipsis"> Migration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="7" aria-labelledby="__nav_3_5_5_6_4_2_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_5_6_4_2_3"> <span class="md-nav__icon md-icon"></span> Migration </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/consensus/validium/migration/PolygonRollupBaseEtrogNoGap/" class="md-nav__link"> <span class="md-ellipsis"> PolygonRollupBaseEtrogNoGap.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/consensus/validium/migration/PolygonValidiumStorageMigration/" class="md-nav__link"> <span class="md-ellipsis"> PolygonValidiumStorageMigration.sol </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_5_6_4_3" > <label class="md-nav__link" for="__nav_3_5_5_6_4_3" id="__nav_3_5_5_6_4_3_label" tabindex="0"> <span class="md-ellipsis"> ZkEVM </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="6" aria-labelledby="__nav_3_5_5_6_4_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_5_6_4_3"> <span class="md-nav__icon md-icon"></span> ZkEVM </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/consensus/zkEVM/PolygonZkEVMEtrog/" class="md-nav__link"> <span class="md-ellipsis"> PolygonZkEVMEtrog.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/consensus/zkEVM/PolygonZkEVMExistentEtrog/" class="md-nav__link"> <span class="md-ellipsis"> PolygonZkEVMExistentEtrog.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/consensus/zkEVM/PolygonZkEVMV2/" class="md-nav__link"> <span class="md-ellipsis"> PolygonZkEVMV2.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/consensus/zkEVM/PolygonZkEVMV2Existent/" class="md-nav__link"> <span class="md-ellipsis"> PolygonZkEVMV2Existent.sol </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_5_6_5" > <label class="md-nav__link" for="__nav_3_5_5_6_5" id="__nav_3_5_5_6_5_label" tabindex="0"> <span class="md-ellipsis"> Lib </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="5" aria-labelledby="__nav_3_5_5_6_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_5_6_5"> <span class="md-nav__icon md-icon"></span> Lib </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/lib/DepositContractBase/" class="md-nav__link"> <span class="md-ellipsis"> DepositContractBase.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/lib/DepositContractLib/" class="md-nav__link"> <span class="md-ellipsis"> DepositContractLib.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/lib/DepositContractV2/" class="md-nav__link"> <span class="md-ellipsis"> DepositContractV2.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/lib/PolygonAccessControlUpgradeable/" class="md-nav__link"> <span class="md-ellipsis"> PolygonAccessControlUpgradeable.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/lib/PolygonRollupBaseEtrog/" class="md-nav__link"> <span class="md-ellipsis"> PolygonRollupBaseEtrog.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/lib/PolygonTransparentProxy/" class="md-nav__link"> <span class="md-ellipsis"> PolygonTransparentProxy.sol </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/lib/PolygonZkEVMGlobalExitRootBaseStorage/" class="md-nav__link"> <span class="md-ellipsis"> PolygonZkEVMGlobalExitRootBaseStorage.sol </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_5_6_6" > <label class="md-nav__link" for="__nav_3_5_5_6_6" id="__nav_3_5_5_6_6_label" tabindex="0"> <span class="md-ellipsis"> Utils </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="5" aria-labelledby="__nav_3_5_5_6_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_5_6_6"> <span class="md-nav__icon md-icon"></span> Utils </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/api/utils/ClaimCompressor/" class="md-nav__link"> <span class="md-ellipsis"> ClaimCompressor.sol </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/high-level/smart-contracts/addresses/" class="md-nav__link"> <span class="md-ellipsis"> Addresses </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_6" > <label class="md-nav__link" for="__nav_3_5_6" id="__nav_3_5_6_label" tabindex="0"> <span class="md-ellipsis"> Tokenomics </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_5_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_6"> <span class="md-nav__icon md-icon"></span> Tokenomics </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/protocol/incentive-mechanism/" class="md-nav__link"> <span class="md-ellipsis"> Incentive mechanism </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_6_2" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/architecture/effective-gas/" class="md-nav__link "> <span class="md-ellipsis"> Effective gas price </span> </a> <label class="md-nav__link " for="__nav_3_5_6_2" id="__nav_3_5_6_2_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_5_6_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_6_2"> <span class="md-nav__icon md-icon"></span> Effective gas price </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/effective-gas/zkevm-egp-strat/" class="md-nav__link"> <span class="md-ellipsis"> Effective gas price strategy </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_5_6_2_3" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/architecture/effective-gas/user-tx-flow/" class="md-nav__link "> <span class="md-ellipsis"> User transaction flow </span> </a> <label class="md-nav__link " for="__nav_3_5_6_2_3" id="__nav_3_5_6_2_3_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="5" aria-labelledby="__nav_3_5_6_2_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_5_6_2_3"> <span class="md-nav__icon md-icon"></span> User transaction flow </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/effective-gas/user-tx-flow/rpc-flow-egp/" class="md-nav__link"> <span class="md-ellipsis"> RPC transaction flow </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/effective-gas/user-tx-flow/sequencer-flow-egp/" class="md-nav__link"> <span class="md-ellipsis"> Sequencer transaction flow </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/effective-gas/implement-egp-strat/" class="md-nav__link"> <span class="md-ellipsis"> Implementing EGP strategy </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/architecture/effective-gas/tx-prioritization-egp/" class="md-nav__link"> <span class="md-ellipsis"> Transaction prioritization </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_6" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/spec/" class="md-nav__link "> <span class="md-ellipsis"> Specification </span> </a> <label class="md-nav__link " for="__nav_3_6" id="__nav_3_6_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_6"> <span class="md-nav__icon md-icon"></span> Specification </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_6_2" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/spec/pil/" class="md-nav__link "> <span class="md-ellipsis"> Polynomial Identity Language </span> </a> <label class="md-nav__link " for="__nav_3_6_2" id="__nav_3_6_2_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_6_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_6_2"> <span class="md-nav__icon md-icon"></span> Polynomial Identity Language </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/spec/pil/simple-example/" class="md-nav__link"> <span class="md-ellipsis"> Simple example </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/spec/pil/modular-programs/" class="md-nav__link"> <span class="md-ellipsis"> Modular programs </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/spec/pil/connection-arguments/" class="md-nav__link"> <span class="md-ellipsis"> Connection arguments </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/spec/pil/cyclicity-in-pil/" class="md-nav__link"> <span class="md-ellipsis"> Cyclicity in PIL </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/spec/pil/filling-polynomials/" class="md-nav__link"> <span class="md-ellipsis"> Filling polynomials </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/spec/pil/generating-proofs/" class="md-nav__link"> <span class="md-ellipsis"> Generating proofs </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/spec/pil/permutation-arguments/" class="md-nav__link"> <span class="md-ellipsis"> Permutation arguments </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/spec/pil/inclusion-arguments/" class="md-nav__link"> <span class="md-ellipsis"> Inclusion arguments </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/spec/pil/compiling-using-pilcom/" class="md-nav__link"> <span class="md-ellipsis"> Compiling using PILCOM </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/spec/pil/configuration-files/" class="md-nav__link"> <span class="md-ellipsis"> Configuration files </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/spec/pil/plonk-in-pil/" class="md-nav__link"> <span class="md-ellipsis"> PLONK in PIL </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/spec/pil/public-values/" class="md-nav__link"> <span class="md-ellipsis"> Public values </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_6_3" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/spec/zkasm/" class="md-nav__link "> <span class="md-ellipsis"> zkASM </span> </a> <label class="md-nav__link " for="__nav_3_6_3" id="__nav_3_6_3_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_6_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_6_3"> <span class="md-nav__icon md-icon"></span> zkASM </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/spec/zkasm/basic-syntax/" class="md-nav__link"> <span class="md-ellipsis"> Basic Syntax </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/spec/zkasm/examples/" class="md-nav__link"> <span class="md-ellipsis"> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../zkEVM/spec/evm-differences/" class="md-nav__link"> <span class="md-ellipsis"> EVM vs. zkEVM </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_7" > <div class="md-nav__link md-nav__container"> <a href="../../../zkEVM/concepts/" class="md-nav__link "> <span class="md-ellipsis"> Concepts </span> </a> <label class="md-nav__link " for="__nav_3_7" id="__nav_3_7_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_7_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_7"> <span class="md-nav__icon md-icon"></span> Concepts </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/evm-basics/" class="md-nav__link"> <span class="md-ellipsis"> EVM basics </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_7_3" > <label class="md-nav__link" for="__nav_3_7_3" id="__nav_3_7_3_label" tabindex="0"> <span class="md-ellipsis"> Sparse Merkle trees </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_7_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_7_3"> <span class="md-nav__icon md-icon"></span> Sparse Merkle trees </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/sparse-merkle-trees/sparse-merkle-tree/" class="md-nav__link"> <span class="md-ellipsis"> Merkle trees </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/sparse-merkle-trees/simple-smt/" class="md-nav__link"> <span class="md-ellipsis"> Constructing simple SMTs </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/sparse-merkle-trees/detailed-smt/" class="md-nav__link"> <span class="md-ellipsis"> SMT concepts </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/sparse-merkle-trees/basic-smt-ops/" class="md-nav__link"> <span class="md-ellipsis"> Operations on SMTs </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_7_4" > <label class="md-nav__link" for="__nav_3_7_4" id="__nav_3_7_4_label" tabindex="0"> <span class="md-ellipsis"> mFibonnaci state machine </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_7_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_7_4"> <span class="md-nav__icon md-icon"></span> mFibonnaci state machine </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/mfibonacci/mfibonacci/" class="md-nav__link"> <span class="md-ellipsis"> Design approach </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/mfibonacci/mfibonacci-example/" class="md-nav__link"> <span class="md-ellipsis"> An example </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/mfibonacci/commitment-scheme/" class="md-nav__link"> <span class="md-ellipsis"> Commitment scheme </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/mfibonacci/verification-scheme/" class="md-nav__link"> <span class="md-ellipsis"> Verification scheme </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/mfibonacci/pil-stark/" class="md-nav__link"> <span class="md-ellipsis"> PIL-STARK process </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/mfibonacci/pil-stark-demo/" class="md-nav__link"> <span class="md-ellipsis"> PIL-STARK demo </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_7_5" > <label class="md-nav__link" for="__nav_3_7_5" id="__nav_3_7_5_label" tabindex="0"> <span class="md-ellipsis"> Generic state machine </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_3_7_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_3_7_5"> <span class="md-nav__icon md-icon"></span> Generic state machine </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/generic-state-machine/intro-generic-sm/" class="md-nav__link"> <span class="md-ellipsis"> Generic SM introduction </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/generic-state-machine/exec-trace-correct/" class="md-nav__link"> <span class="md-ellipsis"> Execution trace </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/generic-state-machine/ending-program/" class="md-nav__link"> <span class="md-ellipsis"> Ending programs </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/generic-state-machine/program-counter/" class="md-nav__link"> <span class="md-ellipsis"> Program counter </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/generic-state-machine/plookup/" class="md-nav__link"> <span class="md-ellipsis"> Plookup </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../zkEVM/concepts/circom-intro-brief/" class="md-nav__link"> <span class="md-ellipsis"> CIRCOM </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked> <div class="md-nav__link md-nav__container"> <a href="../../" class="md-nav__link "> <span class="md-ellipsis"> PoS </span> </a> <label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true"> <label class="md-nav__title" for="__nav_4"> <span class="md-nav__icon md-icon"></span> PoS </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" > <label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex=""> <span class="md-ellipsis"> Get started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_3"> <span class="md-nav__icon md-icon"></span> Get started </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../get-started/matic-to-pol/" class="md-nav__link"> <span class="md-ellipsis"> Migrate to POL </span> </a> </li> <li class="md-nav__item"> <a href="../../get-started/building-on-polygon/" class="md-nav__link"> <span class="md-ellipsis"> Building on PoS </span> </a> </li> <li class="md-nav__item"> <a href="../../get-started/becoming-a-validator/" class="md-nav__link"> <span class="md-ellipsis"> Becoming a validator </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" > <label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex=""> <span class="md-ellipsis"> Builder how-tos </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_4"> <span class="md-nav__icon md-icon"></span> Builder how-tos </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4_1" > <label class="md-nav__link" for="__nav_4_4_1" id="__nav_4_4_1_label" tabindex="0"> <span class="md-ellipsis"> Token bridging </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_4_1_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_4_1"> <span class="md-nav__icon md-icon"></span> Token bridging </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../bridging/ethereum-polygon/portal-ui/" class="md-nav__link"> <span class="md-ellipsis"> Polygon Portal </span> </a> </li> <li class="md-nav__item"> <a href="../bridging/ethereum-polygon/ethereum-to-matic/" class="md-nav__link"> <span class="md-ellipsis"> Ethereum to PoS </span> </a> </li> <li class="md-nav__item"> <a href="../bridging/ethereum-polygon/matic-to-ethereum/" class="md-nav__link"> <span class="md-ellipsis"> PoS to Ethereum </span> </a> </li> <li class="md-nav__item"> <a href="../bridging/ethereum-polygon/submit-mapping-request/" class="md-nav__link"> <span class="md-ellipsis"> Submit mapping request </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../bridging/l1-l2-communication/state-transfer/" class="md-nav__link"> <span class="md-ellipsis"> State transfer </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5" checked> <label class="md-nav__link" for="__nav_4_5" id="__nav_4_5_label" tabindex=""> <span class="md-ellipsis"> Node how-tos </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_5_label" aria-expanded="true"> <label class="md-nav__title" for="__nav_4_5"> <span class="md-nav__icon md-icon"></span> Node how-tos </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc"> <label class="md-nav__link md-nav__link--active" for="__toc"> <span class="md-ellipsis"> Prerequisites </span> <span class="md-nav__icon md-icon"></span> </label> <a href="./" class="md-nav__link md-nav__link--active"> <span class="md-ellipsis"> Prerequisites </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#node-system-requirements" class="md-nav__link"> Node system requirements </a> <nav class="md-nav" aria-label="Node system requirements"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#mainnet-specs" class="md-nav__link"> Mainnet specs </a> </li> <li class="md-nav__item"> <a href="#testnet-amoy-specs" class="md-nav__link"> Testnet (Amoy) specs </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#downloading-the-snapshot" class="md-nav__link"> Downloading the snapshot </a> </li> <li class="md-nav__item"> <a href="#open-necessary-ports" class="md-nav__link"> Open necessary ports </a> <nav class="md-nav" aria-label="Open necessary ports"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#sentryfull-nodes" class="md-nav__link"> Sentry/full nodes </a> </li> <li class="md-nav__item"> <a href="#validator-nodes" class="md-nav__link"> Validator nodes </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#install-rabbitmq" class="md-nav__link"> Install RabbitMQ </a> </li> <li class="md-nav__item"> <a href="#connect-to-ethereum-rpc-endpoint" class="md-nav__link"> Connect to Ethereum RPC endpoint </a> </li> <li class="md-nav__item"> <a href="#mandatory-checklist-for-validators" class="md-nav__link"> Mandatory checklist for validators </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../snapshots/" class="md-nav__link"> <span class="md-ellipsis"> Sync node using snapshots </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5_3" > <label class="md-nav__link" for="__nav_4_5_3" id="__nav_4_5_3_label" tabindex="0"> <span class="md-ellipsis"> Run a full node </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_5_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_5_3"> <span class="md-nav__icon md-icon"></span> Run a full node </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../full-node/full-node-binaries/" class="md-nav__link"> <span class="md-ellipsis"> Using binaries </span> </a> </li> <li class="md-nav__item"> <a href="../full-node/full-node-docker/" class="md-nav__link"> <span class="md-ellipsis"> Using Docker </span> </a> </li> <li class="md-nav__item"> <a href="../full-node/full-node-ansible/" class="md-nav__link"> <span class="md-ellipsis"> Using Ansible </span> </a> </li> <li class="md-nav__item"> <a href="../full-node/full-node-packages/" class="md-nav__link"> <span class="md-ellipsis"> Using packages </span> </a> </li> <li class="md-nav__item"> <a href="../full-node/full-node-gcp/" class="md-nav__link"> <span class="md-ellipsis"> Using GCP </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5_4" > <label class="md-nav__link" for="__nav_4_5_4" id="__nav_4_5_4_label" tabindex="0"> <span class="md-ellipsis"> Run a validator node </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_5_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_5_4"> <span class="md-nav__icon md-icon"></span> Run a validator node </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../validator/validator-best-practices/" class="md-nav__link"> <span class="md-ellipsis"> Validator best practices </span> </a> </li> <li class="md-nav__item"> <a href="../validator/validator-binaries/" class="md-nav__link"> <span class="md-ellipsis"> Using binaries </span> </a> </li> <li class="md-nav__item"> <a href="../validator/validator-ansible/" class="md-nav__link"> <span class="md-ellipsis"> Using Ansible </span> </a> </li> <li class="md-nav__item"> <a href="../validator/validator-packages/" class="md-nav__link"> <span class="md-ellipsis"> Using packages </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5_5" > <label class="md-nav__link" for="__nav_4_5_5" id="__nav_4_5_5_label" tabindex="0"> <span class="md-ellipsis"> Operate validator nodes </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_5_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_5_5"> <span class="md-nav__icon md-icon"></span> Operate validator nodes </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../operate-validator-node/next-steps/" class="md-nav__link"> <span class="md-ellipsis"> Next steps </span> </a> </li> <li class="md-nav__item"> <a href="../operate-validator-node/change-signer-address/" class="md-nav__link"> <span class="md-ellipsis"> Change owner and signer address </span> </a> </li> <li class="md-nav__item"> <a href="../operate-validator-node/topup-heimdall-fee/" class="md-nav__link"> <span class="md-ellipsis"> Top up Heimdall fee </span> </a> </li> <li class="md-nav__item"> <a href="../operate-validator-node/validator-performance/" class="md-nav__link"> <span class="md-ellipsis"> Validator performance requirements </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../erigon-archive-node/" class="md-nav__link"> <span class="md-ellipsis"> Run an Erigon archive node </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5_7" > <label class="md-nav__link" for="__nav_4_5_7" id="__nav_4_5_7_label" tabindex="0"> <span class="md-ellipsis"> Troubleshoot nodes </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_5_7_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_5_7"> <span class="md-nav__icon md-icon"></span> Troubleshoot nodes </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../troubleshoot/technical-faqs/" class="md-nav__link"> <span class="md-ellipsis"> Technical FAQs </span> </a> </li> <li class="md-nav__item"> <a href="../troubleshoot/known-issues/" class="md-nav__link"> <span class="md-ellipsis"> Known issues and errors </span> </a> </li> <li class="md-nav__item"> <a href="../troubleshoot/reporting-issues/" class="md-nav__link"> <span class="md-ellipsis"> Reporting issues </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5_8" > <label class="md-nav__link" for="__nav_4_5_8" id="__nav_4_5_8_label" tabindex="0"> <span class="md-ellipsis"> Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_5_8_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_5_8"> <span class="md-nav__icon md-icon"></span> Reference </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5_8_1" > <label class="md-nav__link" for="__nav_4_5_8_1" id="__nav_4_5_8_1_label" tabindex="0"> <span class="md-ellipsis"> Contracts </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_4_5_8_1_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_5_8_1"> <span class="md-nav__icon md-icon"></span> Contracts </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../reference/contracts/genesis-contracts/" class="md-nav__link"> <span class="md-ellipsis"> Genesis contracts </span> </a> </li> <li class="md-nav__item"> <a href="../../reference/contracts/delegation/" class="md-nav__link"> <span class="md-ellipsis"> Delegation via validator shares </span> </a> </li> <li class="md-nav__item"> <a href="../../reference/contracts/stakingmanager/" class="md-nav__link"> <span class="md-ellipsis"> Staking manager </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../reference/rewards/" class="md-nav__link"> <span class="md-ellipsis"> Rewards and staking incentives </span> </a> </li> <li class="md-nav__item"> <a href="../../reference/port-management/" class="md-nav__link"> <span class="md-ellipsis"> Default ports for nodes </span> </a> </li> <li class="md-nav__item"> <a href="../../reference/commands/" class="md-nav__link"> <span class="md-ellipsis"> Common commands </span> </a> </li> <li class="md-nav__item"> <a href="../../reference/seed-and-bootnodes/" class="md-nav__link"> <span class="md-ellipsis"> Seed and bootnodes </span> </a> </li> <li class="md-nav__item"> <a href="../../reference/rpc-endpoints/" class="md-nav__link"> <span class="md-ellipsis"> RPC endpoints </span> </a> </li> <li class="md-nav__item"> <a href="../../reference/commit-chain-multisigs/" class="md-nav__link"> <span class="md-ellipsis"> PoS mainnet multi-signatures </span> </a> </li> <li class="md-nav__item"> <a href="../../reference/mapped-tokens/" class="md-nav__link"> <span class="md-ellipsis"> Mapped tokens </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_6" > <label class="md-nav__link" for="__nav_4_6" id="__nav_4_6_label" tabindex=""> <span class="md-ellipsis"> Governance </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_6"> <span class="md-nav__icon md-icon"></span> Governance </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../governance/governance-fundamentals/" class="md-nav__link"> <span class="md-ellipsis"> Governance fundamentals </span> </a> </li> <li class="md-nav__item"> <a href="../delegate/" class="md-nav__link"> <span class="md-ellipsis"> Delegate tokens </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_7" > <label class="md-nav__link" for="__nav_4_7" id="__nav_4_7_label" tabindex=""> <span class="md-ellipsis"> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_7_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_7"> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../architecture/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_7_2" > <label class="md-nav__link" for="__nav_4_7_2" id="__nav_4_7_2_label" tabindex="0"> <span class="md-ellipsis"> Bor </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_7_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_7_2"> <span class="md-nav__icon md-icon"></span> Bor </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../architecture/bor/introduction/" class="md-nav__link"> <span class="md-ellipsis"> Introduction </span> </a> </li> <li class="md-nav__item"> <a href="../../architecture/bor/state-sync/" class="md-nav__link"> <span class="md-ellipsis"> State sync </span> </a> </li> <li class="md-nav__item"> <a href="../../architecture/bor/network-config/" class="md-nav__link"> <span class="md-ellipsis"> Network configuration </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_7_3" > <label class="md-nav__link" for="__nav_4_7_3" id="__nav_4_7_3_label" tabindex="0"> <span class="md-ellipsis"> Heimdall </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_7_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_7_3"> <span class="md-nav__icon md-icon"></span> Heimdall </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../architecture/heimdall/introduction/" class="md-nav__link"> <span class="md-ellipsis"> Introduction </span> </a> </li> <li class="md-nav__item"> <a href="../../architecture/heimdall/heimdall-and-bor/" class="md-nav__link"> <span class="md-ellipsis"> Heimdall and Bor </span> </a> </li> <li class="md-nav__item"> <a href="../../architecture/heimdall/authentication/" class="md-nav__link"> <span class="md-ellipsis"> Authentication </span> </a> </li> <li class="md-nav__item"> <a href="../../architecture/heimdall/key-management/" class="md-nav__link"> <span class="md-ellipsis"> Key management </span> </a> </li> <li class="md-nav__item"> <a href="../../architecture/heimdall/validation/" class="md-nav__link"> <span class="md-ellipsis"> Validation </span> </a> </li> <li class="md-nav__item"> <a href="../../architecture/heimdall/balance-transfers/" class="md-nav__link"> <span class="md-ellipsis"> Balance transfers </span> </a> </li> <li class="md-nav__item"> <a href="../../architecture/heimdall/staking/" class="md-nav__link"> <span class="md-ellipsis"> Staking </span> </a> </li> <li class="md-nav__item"> <a href="../../architecture/heimdall/checkpoints/" class="md-nav__link"> <span class="md-ellipsis"> Checkpoints </span> </a> </li> <li class="md-nav__item"> <a href="../../architecture/heimdall/topup/" class="md-nav__link"> <span class="md-ellipsis"> Topup </span> </a> </li> <li class="md-nav__item"> <a href="../../architecture/heimdall/chain-management/" class="md-nav__link"> <span class="md-ellipsis"> Chain management </span> </a> </li> <li class="md-nav__item"> <a href="../../architecture/heimdall/governance/" class="md-nav__link"> <span class="md-ellipsis"> Governance </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_8" > <label class="md-nav__link" for="__nav_4_8" id="__nav_4_8_label" tabindex=""> <span class="md-ellipsis"> Concepts </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_8_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_8"> <span class="md-nav__icon md-icon"></span> Concepts </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_8_1" > <label class="md-nav__link" for="__nav_4_8_1" id="__nav_4_8_1_label" tabindex="0"> <span class="md-ellipsis"> Tokens </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_8_1_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_8_1"> <span class="md-nav__icon md-icon"></span> Tokens </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../concepts/tokens/pol/" class="md-nav__link"> <span class="md-ellipsis"> POL </span> </a> </li> <li class="md-nav__item"> <a href="../../concepts/tokens/matic/" class="md-nav__link"> <span class="md-ellipsis"> MATIC </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_8_2" > <label class="md-nav__link" for="__nav_4_8_2" id="__nav_4_8_2_label" tabindex="0"> <span class="md-ellipsis"> Transactions </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_8_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_4_8_2"> <span class="md-nav__icon md-icon"></span> Transactions </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../concepts/transactions/eip-1559/" class="md-nav__link"> <span class="md-ellipsis"> EIP-1559 </span> </a> </li> <li class="md-nav__item"> <a href="../../concepts/transactions/eip-4337/" class="md-nav__link"> <span class="md-ellipsis"> EIP-4337 </span> </a> </li> <li class="md-nav__item"> <a href="../../concepts/transactions/meta-transactions/" class="md-nav__link"> <span class="md-ellipsis"> Meta transactions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > <div class="md-nav__link md-nav__container"> <a href="../../../miden/" class="md-nav__link "> <span class="md-ellipsis"> Miden </span> </a> <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5"> <span class="md-nav__icon md-icon"></span> Miden </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_2" > <div class="md-nav__link md-nav__container"> <a href="../../../miden/miden-base/" class="md-nav__link "> <span class="md-ellipsis"> Miden base </span> </a> <label class="md-nav__link " for="__nav_5_2" id="__nav_5_2_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5_2"> <span class="md-nav__icon md-icon"></span> Miden base </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_2_2" > <label class="md-nav__link" for="__nav_5_2_2" id="__nav_5_2_2_label" tabindex="0"> <span class="md-ellipsis"> Get started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_5_2_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5_2_2"> <span class="md-nav__icon md-icon"></span> Get started </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../miden/miden-base/introduction/get-started/prerequisites/" class="md-nav__link"> <span class="md-ellipsis"> Prerequisite steps </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/introduction/get-started/create-account-use-faucet/" class="md-nav__link"> <span class="md-ellipsis"> Create account and use the faucet </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/introduction/get-started/p2p-private/" class="md-nav__link"> <span class="md-ellipsis"> Private peer-to-peer off-chain txs </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/introduction/get-started/p2p-public/" class="md-nav__link"> <span class="md-ellipsis"> Public peer-to-peer note transactions </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/introduction/roadmap/" class="md-nav__link"> <span class="md-ellipsis"> Roadmap </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_2_4" > <label class="md-nav__link" for="__nav_5_2_4" id="__nav_5_2_4_label" tabindex="0"> <span class="md-ellipsis"> Miden architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_5_2_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5_2_4"> <span class="md-nav__icon md-icon"></span> Miden architecture </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../miden/miden-base/architecture/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/architecture/accounts/" class="md-nav__link"> <span class="md-ellipsis"> Accounts </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/architecture/notes/" class="md-nav__link"> <span class="md-ellipsis"> Notes </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/architecture/assets/" class="md-nav__link"> <span class="md-ellipsis"> Assets </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_2_4_5" > <label class="md-nav__link" for="__nav_5_2_4_5" id="__nav_5_2_4_5_label" tabindex="0"> <span class="md-ellipsis"> Transactions </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_5_2_4_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5_2_4_5"> <span class="md-nav__icon md-icon"></span> Transactions </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../miden/miden-base/architecture/transactions/overview/" class="md-nav__link"> <span class="md-ellipsis"> Transactions overview </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/architecture/transactions/execution/" class="md-nav__link"> <span class="md-ellipsis"> Transaction execution </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/architecture/transactions/kernel/" class="md-nav__link"> <span class="md-ellipsis"> Transaction kernel </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/architecture/transactions/contexts/" class="md-nav__link"> <span class="md-ellipsis"> Transaction contexts </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/architecture/transactions/procedures/" class="md-nav__link"> <span class="md-ellipsis"> Transaction procedures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/architecture/state/" class="md-nav__link"> <span class="md-ellipsis"> State </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/architecture/execution/" class="md-nav__link"> <span class="md-ellipsis"> Execution </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../miden/miden-base/network/network/" class="md-nav__link"> <span class="md-ellipsis"> Network </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_3" > <label class="md-nav__link" for="__nav_5_3" id="__nav_5_3_label" tabindex=""> <span class="md-ellipsis"> Miden client </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5_3"> <span class="md-nav__icon md-icon"></span> Miden client </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_3_1" > <div class="md-nav__link md-nav__container"> <a href="../../../miden/miden-client/" class="md-nav__link "> <span class="md-ellipsis"> Overview </span> </a> <label class="md-nav__link " for="__nav_5_3_1" id="__nav_5_3_1_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_5_3_1_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5_3_1"> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../miden/miden-client/features/" class="md-nav__link"> <span class="md-ellipsis"> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_3_2" > <label class="md-nav__link" for="__nav_5_3_2" id="__nav_5_3_2_label" tabindex="0"> <span class="md-ellipsis"> Design </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_5_3_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5_3_2"> <span class="md-nav__icon md-icon"></span> Design </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../miden/miden-client/design/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-client/api-docs/" class="md-nav__link"> <span class="md-ellipsis"> API docs </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../miden/miden-client/library/" class="md-nav__link"> <span class="md-ellipsis"> Miden client library </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_3_4" > <label class="md-nav__link" for="__nav_5_3_4" id="__nav_5_3_4_label" tabindex="0"> <span class="md-ellipsis"> Miden CLI </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_5_3_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5_3_4"> <span class="md-nav__icon md-icon"></span> Miden CLI </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../miden/miden-client/cli-config/" class="md-nav__link"> <span class="md-ellipsis"> Configuration </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-client/cli-reference/" class="md-nav__link"> <span class="md-ellipsis"> Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../miden/miden-client/install-and-run.md'" class="md-nav__link"> <span class="md-ellipsis"> Install and run </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-client/examples/" class="md-nav__link"> <span class="md-ellipsis"> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_4" > <div class="md-nav__link md-nav__container"> <a href="../../../miden/miden-compiler/" class="md-nav__link "> <span class="md-ellipsis"> Miden compiler </span> </a> <label class="md-nav__link " for="__nav_5_4" id="__nav_5_4_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5_4"> <span class="md-nav__icon md-icon"></span> Miden compiler </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_4_2" > <label class="md-nav__link" for="__nav_5_4_2" id="__nav_5_4_2_label" tabindex="0"> <span class="md-ellipsis"> Usage </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_5_4_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5_4_2"> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../miden/miden-compiler/usage/midenc/" class="md-nav__link"> <span class="md-ellipsis"> midenc </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-compiler/usage/cargo-miden/" class="md-nav__link"> <span class="md-ellipsis"> cargo miden </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_4_3" > <label class="md-nav__link" for="__nav_5_4_3" id="__nav_5_4_3_label" tabindex="0"> <span class="md-ellipsis"> Guides </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_5_4_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5_4_3"> <span class="md-nav__icon md-icon"></span> Guides </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../miden/miden-compiler/guides/rust_to_wasm/" class="md-nav__link"> <span class="md-ellipsis"> Rust To WebAssembly </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-compiler/guides/wasm_to_masm/" class="md-nav__link"> <span class="md-ellipsis"> WebAssembly To Miden Assembly </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-compiler/guides/develop_miden_in_rust/" class="md-nav__link"> <span class="md-ellipsis"> Developing Miden programs In Rust </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-compiler/guides/develop_miden_rollup_accounts_and_note_scripts_in_rust/" class="md-nav__link"> <span class="md-ellipsis"> Developing Miden rollup accounts and note scripts In Rust </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-compiler/usage/debugger/" class="md-nav__link"> <span class="md-ellipsis"> Debugging programs </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_4_4" > <label class="md-nav__link" for="__nav_5_4_4" id="__nav_5_4_4_label" tabindex="0"> <span class="md-ellipsis"> Compiler architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_5_4_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5_4_4"> <span class="md-nav__icon md-icon"></span> Compiler architecture </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../miden/miden-compiler/design/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-compiler/design/frontends/" class="md-nav__link"> <span class="md-ellipsis"> Supported front ends </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_4_5" > <label class="md-nav__link" for="__nav_5_4_5" id="__nav_5_4_5_label" tabindex="0"> <span class="md-ellipsis"> Appendices </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_5_4_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_5_4_5"> <span class="md-nav__icon md-icon"></span> Appendices </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../miden/miden-compiler/appendix/known-limitations/" class="md-nav__link"> <span class="md-ellipsis"> Known limitations </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-compiler/appendix/calling-conventions/" class="md-nav__link"> <span class="md-ellipsis"> Calling conventions </span> </a> </li> <li class="md-nav__item"> <a href="../../../miden/miden-compiler/appendix/canonabi-adhocabi-mismatch/" class="md-nav__link"> <span class="md-ellipsis"> Canonical ABI vs Miden ABI </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" > <div class="md-nav__link md-nav__container"> <a href="../../../tools/" class="md-nav__link "> <span class="md-ellipsis"> Developer tools </span> </a> <label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6"> <span class="md-nav__icon md-icon"></span> Developer tools </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" > <label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex=""> <span class="md-ellipsis"> Start building </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_2"> <span class="md-nav__icon md-icon"></span> Start building </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/gas/matic-faucet/" class="md-nav__link"> <span class="md-ellipsis"> Test token faucets </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/wallets/portal/" class="md-nav__link"> <span class="md-ellipsis"> Polygon Portal </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2_3" > <label class="md-nav__link" for="__nav_6_2_3" id="__nav_6_2_3_label" tabindex="0"> <span class="md-ellipsis"> MetaMask operations </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_2_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_2_3"> <span class="md-nav__icon md-icon"></span> MetaMask operations </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/wallets/metamask/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="https://support.metamask.io/getting-started/getting-started-with-metamask/" class="md-nav__link"> <span class="md-ellipsis"> Create MetaMask wallet </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/wallets/metamask/add-polygon-network/" class="md-nav__link"> <span class="md-ellipsis"> Add Polygon network </span> </a> </li> <li class="md-nav__item"> <a href="https://support.metamask.io/managing-my-tokens/custom-tokens/how-to-display-tokens-in-metamask/" class="md-nav__link"> <span class="md-ellipsis"> Configure custom tokens </span> </a> </li> <li class="md-nav__item"> <a href="https://support.metamask.io/managing-my-wallet/accounts-and-addresses/how-to-import-an-account/" class="md-nav__link"> <span class="md-ellipsis"> Import accounts </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2_4" > <label class="md-nav__link" for="__nav_6_2_4" id="__nav_6_2_4_label" tabindex="0"> <span class="md-ellipsis"> dApp building essentials </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_2_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_2_4"> <span class="md-nav__icon md-icon"></span> dApp building essentials </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/dApp-development/tutorials/access-node/" class="md-nav__link"> <span class="md-ellipsis"> Interact with a node RPC </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2_5" > <label class="md-nav__link" for="__nav_6_2_5" id="__nav_6_2_5_label" tabindex="0"> <span class="md-ellipsis"> Build smart contracts </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_2_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_2_5"> <span class="md-nav__icon md-icon"></span> Build smart contracts </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2_5_1" > <label class="md-nav__link" for="__nav_6_2_5_1" id="__nav_6_2_5_1_label" tabindex="0"> <span class="md-ellipsis"> On PoS </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_6_2_5_1_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_2_5_1"> <span class="md-nav__icon md-icon"></span> On PoS </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/dApp-development/common-tools/hardhat/" class="md-nav__link"> <span class="md-ellipsis"> Hardhat </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/dApp-development/common-tools/remix/" class="md-nav__link"> <span class="md-ellipsis"> Remix </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/dApp-development/common-tools/replit/" class="md-nav__link"> <span class="md-ellipsis"> Replit </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2_5_2" > <label class="md-nav__link" for="__nav_6_2_5_2" id="__nav_6_2_5_2_label" tabindex="0"> <span class="md-ellipsis"> On zkEVM </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_6_2_5_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_2_5_2"> <span class="md-nav__icon md-icon"></span> On zkEVM </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../zkEVM/how-to/write-contract/" class="md-nav__link"> <span class="md-ellipsis"> Write a contract </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/how-to/using-foundry/" class="md-nav__link"> <span class="md-ellipsis"> Deploy a contract with Foundry </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/how-to/using-hardhat/" class="md-nav__link"> <span class="md-ellipsis"> Deploy a contract with Hardhat </span> </a> </li> <li class="md-nav__item"> <a href="../../../zkEVM/how-to/verify-contract/" class="md-nav__link"> <span class="md-ellipsis"> Verify a contract </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2_6" > <label class="md-nav__link" for="__nav_6_2_6" id="__nav_6_2_6_label" tabindex="0"> <span class="md-ellipsis"> Verify smart contracts </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_2_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_2_6"> <span class="md-nav__icon md-icon"></span> Verify smart contracts </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2_6_1" > <label class="md-nav__link" for="__nav_6_2_6_1" id="__nav_6_2_6_1_label" tabindex="0"> <span class="md-ellipsis"> OKX explorer </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_6_2_6_1_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_2_6_1"> <span class="md-nav__icon md-icon"></span> OKX explorer </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="https://www.oklink.com/docs/en/#on-chain-tools-contract-verification" class="md-nav__link"> <span class="md-ellipsis"> Verify contract with API </span> </a> </li> <li class="md-nav__item"> <a href="https://www.oklink.com/docs/en/#on-chain-tools-contract-verification-plugins" class="md-nav__link"> <span class="md-ellipsis"> Verify contract with external plugins </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../tools/gas/polygon-gas-station/" class="md-nav__link"> <span class="md-ellipsis"> Estimate gas fees </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2_8" > <label class="md-nav__link" for="__nav_6_2_8" id="__nav_6_2_8_label" tabindex="0"> <span class="md-ellipsis"> dApp Launchpad </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_2_8_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_2_8"> <span class="md-nav__icon md-icon"></span> dApp Launchpad </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/dApp-development/launchpad/intro/" class="md-nav__link"> <span class="md-ellipsis"> Introduction </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/dApp-development/launchpad/quickstart/" class="md-nav__link"> <span class="md-ellipsis"> Quickstart </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/dApp-development/launchpad/frontend/" class="md-nav__link"> <span class="md-ellipsis"> Frontend </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/dApp-development/launchpad/smart-contracts/" class="md-nav__link"> <span class="md-ellipsis"> Smart contracts </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/dApp-development/launchpad/commands/" class="md-nav__link"> <span class="md-ellipsis"> Commands </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/dApp-development/launchpad/contributing/" class="md-nav__link"> <span class="md-ellipsis"> Contributing </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/dApp-development/launchpad/common-pitfalls/" class="md-nav__link"> <span class="md-ellipsis"> Common pitfalls </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2_9" > <label class="md-nav__link" for="__nav_6_2_9" id="__nav_6_2_9_label" tabindex="0"> <span class="md-ellipsis"> Chain indexer framework </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_2_9_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_2_9"> <span class="md-nav__icon md-icon"></span> Chain indexer framework </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/chain-indexer-framework/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/chain-indexer-framework/usage/" class="md-nav__link"> <span class="md-ellipsis"> Usage </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2_10" > <label class="md-nav__link" for="__nav_6_2_10" id="__nav_6_2_10_label" tabindex="0"> <span class="md-ellipsis"> Mint NFTs </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_2_10_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_2_10"> <span class="md-nav__icon md-icon"></span> Mint NFTs </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="https://docs.venly.io/docs/nft-api-getting-started" class="md-nav__link"> <span class="md-ellipsis"> Venly NFT API </span> </a> </li> <li class="md-nav__item"> <a href="https://docs.venly.io/docs/zapier-integration" class="md-nav__link"> <span class="md-ellipsis"> Venly Zapier integration </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3" > <label class="md-nav__link" for="__nav_6_3" id="__nav_6_3_label" tabindex=""> <span class="md-ellipsis"> Matic.js </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_3"> <span class="md-nav__icon md-icon"></span> Matic.js </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/matic-js/get-started/" class="md-nav__link"> <span class="md-ellipsis"> Get started </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3_2" > <label class="md-nav__link" for="__nav_6_3_2" id="__nav_6_3_2_label" tabindex="0"> <span class="md-ellipsis"> POS </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_3_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_3_2"> <span class="md-nav__icon md-icon"></span> POS </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/client/" class="md-nav__link"> <span class="md-ellipsis"> POS client </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/api-architecture/" class="md-nav__link"> <span class="md-ellipsis"> API overview </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3_2_3" > <label class="md-nav__link" for="__nav_6_3_2_3" id="__nav_6_3_2_3_label" tabindex="0"> <span class="md-ellipsis"> Setup </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_6_3_2_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_3_2_3"> <span class="md-nav__icon md-icon"></span> Setup </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/matic-js/setup/ethers/" class="md-nav__link"> <span class="md-ellipsis"> Ethers </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/setup/web3js/" class="md-nav__link"> <span class="md-ellipsis"> Web3js </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/set-proof-api/" class="md-nav__link"> <span class="md-ellipsis"> Set proof API </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3_2_5" > <label class="md-nav__link" for="__nav_6_3_2_5" id="__nav_6_3_2_5_label" tabindex="0"> <span class="md-ellipsis"> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_6_3_2_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_3_2_5"> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/matic-js/advanced/abi-manager/" class="md-nav__link"> <span class="md-ellipsis"> ABI manager </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/advanced/exit-util/" class="md-nav__link"> <span class="md-ellipsis"> Exit util </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/advanced/plugin/" class="md-nav__link"> <span class="md-ellipsis"> Plugin </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3_2_6" > <div class="md-nav__link md-nav__container"> <a href="../../../tools/matic-js/pos/erc20/" class="md-nav__link "> <span class="md-ellipsis"> ERC20 </span> </a> <label class="md-nav__link " for="__nav_6_3_2_6" id="__nav_6_3_2_6_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_6_3_2_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_3_2_6"> <span class="md-nav__icon md-icon"></span> ERC20 </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc20/approve-max/" class="md-nav__link"> <span class="md-ellipsis"> approveMax </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc20/approve/" class="md-nav__link"> <span class="md-ellipsis"> approve </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc20/deposit/" class="md-nav__link"> <span class="md-ellipsis"> deposit </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc20/get-allowance/" class="md-nav__link"> <span class="md-ellipsis"> getAllowance </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc20/get-balance/" class="md-nav__link"> <span class="md-ellipsis"> getBalance </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc20/is-withdraw-exited/" class="md-nav__link"> <span class="md-ellipsis"> isWithdrawExited </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc20/transfer/" class="md-nav__link"> <span class="md-ellipsis"> transfer </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc20/withdraw-exit-faster/" class="md-nav__link"> <span class="md-ellipsis"> withdrawExitFaster </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc20/withdraw-exit/" class="md-nav__link"> <span class="md-ellipsis"> withdrawExit </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc20/withdraw-start/" class="md-nav__link"> <span class="md-ellipsis"> withdrawStart </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3_2_7" > <div class="md-nav__link md-nav__container"> <a href="../../../tools/matic-js/pos/erc721/" class="md-nav__link "> <span class="md-ellipsis"> ERC721 </span> </a> <label class="md-nav__link " for="__nav_6_3_2_7" id="__nav_6_3_2_7_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_6_3_2_7_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_3_2_7"> <span class="md-nav__icon md-icon"></span> ERC721 </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/approve-all/" class="md-nav__link"> <span class="md-ellipsis"> approveAll </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/approve/" class="md-nav__link"> <span class="md-ellipsis"> approve </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/deposit-many/" class="md-nav__link"> <span class="md-ellipsis"> depositMany </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/deposit/" class="md-nav__link"> <span class="md-ellipsis"> deposit </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/get-all-tokens/" class="md-nav__link"> <span class="md-ellipsis"> getAllTokens </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/get-token-id-at-index-for-user/" class="md-nav__link"> <span class="md-ellipsis"> getTokenIdAtIndexForUser </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/get-tokens-count/" class="md-nav__link"> <span class="md-ellipsis"> getTokensCount </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/is-approved-all/" class="md-nav__link"> <span class="md-ellipsis"> isApprovedAll </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/is-approved/" class="md-nav__link"> <span class="md-ellipsis"> isApproved </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/is-withdraw-exited-many/" class="md-nav__link"> <span class="md-ellipsis"> isWithdrawExitedMany </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/is-withdraw-exited/" class="md-nav__link"> <span class="md-ellipsis"> isWithdrawExited </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/transfer/" class="md-nav__link"> <span class="md-ellipsis"> transfer </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/withdraw-exit-faster-many/" class="md-nav__link"> <span class="md-ellipsis"> withdrawExitFasterMany </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/withdraw-exit-faster/" class="md-nav__link"> <span class="md-ellipsis"> withdrawExitFaster </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/withdraw-exit-many/" class="md-nav__link"> <span class="md-ellipsis"> withdrawExitMany </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/withdraw-exit/" class="md-nav__link"> <span class="md-ellipsis"> withdrawExit </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/withdraw-start-many/" class="md-nav__link"> <span class="md-ellipsis"> withdrawStartMany </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/withdraw-start-with-meta-data/" class="md-nav__link"> <span class="md-ellipsis"> withdrawStartWithMetaData </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc721/withdraw-start/" class="md-nav__link"> <span class="md-ellipsis"> withdrawStart </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3_2_8" > <div class="md-nav__link md-nav__container"> <a href="../../../tools/matic-js/pos/erc1155/" class="md-nav__link "> <span class="md-ellipsis"> ERC1155 </span> </a> <label class="md-nav__link " for="__nav_6_3_2_8" id="__nav_6_3_2_8_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_6_3_2_8_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_3_2_8"> <span class="md-nav__icon md-icon"></span> ERC1155 </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/approve-all-for-mintable/" class="md-nav__link"> <span class="md-ellipsis"> approveAllForMintable </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/approve-all/" class="md-nav__link"> <span class="md-ellipsis"> approveAll </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/deposit-many/" class="md-nav__link"> <span class="md-ellipsis"> depositMany </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/deposit/" class="md-nav__link"> <span class="md-ellipsis"> deposit </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/get-balance/" class="md-nav__link"> <span class="md-ellipsis"> getBalance </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/is-approved-all/" class="md-nav__link"> <span class="md-ellipsis"> isApprovedAll </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/is-withdraw-exited-many/" class="md-nav__link"> <span class="md-ellipsis"> isWithdrawExitedMany </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/is-withdraw-exited/" class="md-nav__link"> <span class="md-ellipsis"> isWithdrawExited </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/transfer/" class="md-nav__link"> <span class="md-ellipsis"> transfer </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/withdraw-exit-faster-many/" class="md-nav__link"> <span class="md-ellipsis"> withdrawExitFasterMany </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/withdraw-exit-faster/" class="md-nav__link"> <span class="md-ellipsis"> withdrawExitFaster </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/withdraw-exit-many/" class="md-nav__link"> <span class="md-ellipsis"> withdrawExitMany </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/withdraw-exit/" class="md-nav__link"> <span class="md-ellipsis"> withdrawExit </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/withdraw-start-many/" class="md-nav__link"> <span class="md-ellipsis"> withdrawStartMany </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/erc1155/withdraw-start/" class="md-nav__link"> <span class="md-ellipsis"> withdrawStart </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3_2_9" > <label class="md-nav__link" for="__nav_6_3_2_9" id="__nav_6_3_2_9_label" tabindex="0"> <span class="md-ellipsis"> Common methods </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_6_3_2_9_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_3_2_9"> <span class="md-nav__icon md-icon"></span> Common methods </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/deposit-ether/" class="md-nav__link"> <span class="md-ellipsis"> Deposit ETH </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/is-check-pointed/" class="md-nav__link"> <span class="md-ellipsis"> isCheckPointed </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/pos/is-deposited/" class="md-nav__link"> <span class="md-ellipsis"> isDeposited </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_3_3" > <label class="md-nav__link" for="__nav_6_3_3" id="__nav_6_3_3_label" tabindex="0"> <span class="md-ellipsis"> zkEVM </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_3_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_3_3"> <span class="md-nav__icon md-icon"></span> zkEVM </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/matic-js/zkevm/initialize/" class="md-nav__link"> <span class="md-ellipsis"> zkEVM client </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/zkevm/erc20/" class="md-nav__link"> <span class="md-ellipsis"> ERC20 </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/zkevm/message-passing/" class="md-nav__link"> <span class="md-ellipsis"> Message passing </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/matic-js/zkevm/common-methods/" class="md-nav__link"> <span class="md-ellipsis"> Common methods </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_4" > <label class="md-nav__link" for="__nav_6_4" id="__nav_6_4_label" tabindex=""> <span class="md-ellipsis"> Third-party tools </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_4"> <span class="md-nav__icon md-icon"></span> Third-party tools </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/dApp-development/third-party-tutorials/" class="md-nav__link"> <span class="md-ellipsis"> Tutorials </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_4_2" > <label class="md-nav__link" for="__nav_6_4_2" id="__nav_6_4_2_label" tabindex="0"> <span class="md-ellipsis"> Data </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_4_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_4_2"> <span class="md-nav__icon md-icon"></span> Data </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="https://docs.alchemy.com/docs/how-to-build-and-deploy-a-subgraph-on-polygon-zkevm-using-alchemy-subgraphs" class="md-nav__link"> <span class="md-ellipsis"> Alchemy subgraphs </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/data/covalent/" class="md-nav__link"> <span class="md-ellipsis"> Covalent </span> </a> </li> <li class="md-nav__item"> <a href="https://dipdup.io/docs/supported-networks/polygon" class="md-nav__link"> <span class="md-ellipsis"> DipDup </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/data/envio/" class="md-nav__link"> <span class="md-ellipsis"> Envio </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/data/flair/" class="md-nav__link"> <span class="md-ellipsis"> Flair </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/data/moralis/" class="md-nav__link"> <span class="md-ellipsis"> Moralis </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/data/parsiq/" class="md-nav__link"> <span class="md-ellipsis"> PARSIQ </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/data/sqd/" class="md-nav__link"> <span class="md-ellipsis"> SQD (Subsquid) </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/data/subquery/" class="md-nav__link"> <span class="md-ellipsis"> SubQuery </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_4_3" > <label class="md-nav__link" for="__nav_6_4_3" id="__nav_6_4_3_label" tabindex="0"> <span class="md-ellipsis"> Storage </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_4_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_4_3"> <span class="md-nav__icon md-icon"></span> Storage </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/storage/ipfs/" class="md-nav__link"> <span class="md-ellipsis"> IPFS </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/storage/filecoinhelpers/" class="md-nav__link"> <span class="md-ellipsis"> Filecoin </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/storage/crusthelpers/" class="md-nav__link"> <span class="md-ellipsis"> Crust network </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_4_4" > <label class="md-nav__link" for="__nav_6_4_4" id="__nav_6_4_4_label" tabindex="0"> <span class="md-ellipsis"> Oracles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_4_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_4_4"> <span class="md-nav__icon md-icon"></span> Oracles </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/oracles/getting-started/" class="md-nav__link"> <span class="md-ellipsis"> Getting started </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/oracles/api3/" class="md-nav__link"> <span class="md-ellipsis"> API3 </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/oracles/bandchain/" class="md-nav__link"> <span class="md-ellipsis"> Bandchain </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/oracles/bandstandarddataset/" class="md-nav__link"> <span class="md-ellipsis"> Band standard dataset </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/oracles/chainlink/" class="md-nav__link"> <span class="md-ellipsis"> Chainlink </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/oracles/chronicle/" class="md-nav__link"> <span class="md-ellipsis"> Chronicle </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/oracles/diadataoracles/" class="md-nav__link"> <span class="md-ellipsis"> DIA </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/oracles/ora/" class="md-nav__link"> <span class="md-ellipsis"> ORA </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/oracles/pyth/" class="md-nav__link"> <span class="md-ellipsis"> Pyth </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/oracles/razor/" class="md-nav__link"> <span class="md-ellipsis"> Razor </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/oracles/supra/" class="md-nav__link"> <span class="md-ellipsis"> Supra </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/oracles/tellor/" class="md-nav__link"> <span class="md-ellipsis"> Tellor </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/oracles/optimisticoracle/" class="md-nav__link"> <span class="md-ellipsis"> UMA optimistic oracle </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/oracles/umbrella/" class="md-nav__link"> <span class="md-ellipsis"> Umbrella </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_4_5" > <label class="md-nav__link" for="__nav_6_4_5" id="__nav_6_4_5_label" tabindex="0"> <span class="md-ellipsis"> Wallets </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_4_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_4_5"> <span class="md-nav__icon md-icon"></span> Wallets </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/wallets/getting-started/" class="md-nav__link"> <span class="md-ellipsis"> Getting started </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_4_5_2" > <div class="md-nav__link md-nav__container"> <a href="../../../tools/wallets/venly/" class="md-nav__link "> <span class="md-ellipsis"> Venly </span> </a> <label class="md-nav__link " for="__nav_6_4_5_2" id="__nav_6_4_5_2_label" tabindex="0"> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_6_4_5_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_4_5_2"> <span class="md-nav__icon md-icon"></span> Venly </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../tools/wallets/venly/create-wallet/" class="md-nav__link"> <span class="md-ellipsis"> Create Venly wallet </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/wallets/venly/wallet-api/" class="md-nav__link"> <span class="md-ellipsis"> Venly wallet API </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/wallets/venly/venly-widget/" class="md-nav__link"> <span class="md-ellipsis"> Venly widget </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="https://docs.fortmatic.com/" class="md-nav__link"> <span class="md-ellipsis"> Fortmatic </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/wallets/openfort/" class="md-nav__link"> <span class="md-ellipsis"> Openfort </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/wallets/particle-network/" class="md-nav__link"> <span class="md-ellipsis"> Particle Network </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/wallets/portis/" class="md-nav__link"> <span class="md-ellipsis"> Portis </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/wallets/torus/" class="md-nav__link"> <span class="md-ellipsis"> Torus </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/wallets/walletconnect/" class="md-nav__link"> <span class="md-ellipsis"> WalletConnect </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/wallets/walletkit/" class="md-nav__link"> <span class="md-ellipsis"> WalletKit </span> </a> </li> <li class="md-nav__item"> <a href="../../../tools/wallets/using-web3modal/" class="md-nav__link"> <span class="md-ellipsis"> Web3Modal </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_4_6" > <label class="md-nav__link" for="__nav_6_4_6" id="__nav_6_4_6_label" tabindex="0"> <span class="md-ellipsis"> Block explorers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_6_4_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_6_4_6"> <span class="md-nav__icon md-icon"></span> Block explorers </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="https://www.okx.com/web3/explorer/polygon" class="md-nav__link"> <span class="md-ellipsis"> OKX explorer </span> </a> </li> <li class="md-nav__item"> <a href="https://polygonscan.com/" class="md-nav__link"> <span class="md-ellipsis"> Polygon </span> </a> </li> <li class="md-nav__item"> <a href="https://zkevm.polygonscan.com/" class="md-nav__link"> <span class="md-ellipsis"> zkEVM </span> </a> </li> <li class="md-nav__item"> <a href="https://cardona-zkevm.polygonscan.com/" class="md-nav__link"> <span class="md-ellipsis"> zkEVM testnet </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" > <div class="md-nav__link md-nav__container"> <a href="../../../innovation-design/" class="md-nav__link "> <span class="md-ellipsis"> Innovation & design </span> </a> <label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_7"> <span class="md-nav__icon md-icon"></span> Innovation & design </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../innovation-design/welcome/" class="md-nav__link"> <span class="md-ellipsis"> Welcome </span> </a> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7_3" > <label class="md-nav__link" for="__nav_7_3" id="__nav_7_3_label" tabindex=""> <span class="md-ellipsis"> AggLayer </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_7_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_7_3"> <span class="md-nav__icon md-icon"></span> AggLayer </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../agglayer/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="../../../agglayer/unified-bridge/" class="md-nav__link"> <span class="md-ellipsis"> AggLayer | Unified bridge </span> </a> </li> <li class="md-nav__item"> <a href="../../../agglayer/agglayer-go/" class="md-nav__link"> <span class="md-ellipsis"> AggLayer | Go </span> </a> </li> <li class="md-nav__item"> <a href="../../../agglayer/agglayer-rs/" class="md-nav__link"> <span class="md-ellipsis"> AggLayer | Rust </span> </a> </li> <li class="md-nav__item"> <a href="../../../agglayer/token-flows/" class="md-nav__link"> <span class="md-ellipsis"> AggLayer | Token flows </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7_4" > <label class="md-nav__link" for="__nav_7_4" id="__nav_7_4_label" tabindex=""> <span class="md-ellipsis"> Polygon type 1 prover </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_7_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_7_4"> <span class="md-nav__icon md-icon"></span> Polygon type 1 prover </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/architecture/type-1-prover/intro-t1-prover/" class="md-nav__link"> <span class="md-ellipsis"> Introduction and definitions </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7_4_2" > <label class="md-nav__link" for="__nav_7_4_2" id="__nav_7_4_2_label" tabindex="0"> <span class="md-ellipsis"> How to </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_7_4_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_7_4_2"> <span class="md-nav__icon md-icon"></span> How to </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/how-to/deploy-t1-prover/" class="md-nav__link"> <span class="md-ellipsis"> Run prover quickly </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/how-to/deploy-t1-prover-devnet/" class="md-nav__link"> <span class="md-ellipsis"> Deploy prover on devnet </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7_4_3" > <label class="md-nav__link" for="__nav_7_4_3" id="__nav_7_4_3_label" tabindex="0"> <span class="md-ellipsis"> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_7_4_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_7_4_3"> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/architecture/type-1-prover/t1-architecture/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/architecture/type-1-prover/t1-design-challenge/" class="md-nav__link"> <span class="md-ellipsis"> Type 1 design challenges </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/architecture/type-1-prover/testing-and-proving-costs/" class="md-nav__link"> <span class="md-ellipsis"> Tests and proving costs </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7_4_4" > <label class="md-nav__link" for="__nav_7_4_4" id="__nav_7_4_4_label" tabindex="0"> <span class="md-ellipsis"> Specification </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_7_4_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_7_4_4"> <span class="md-nav__icon md-icon"></span> Specification </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../cdk/architecture/type-1-prover/t1-cpu-component/" class="md-nav__link"> <span class="md-ellipsis"> CPU component </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/architecture/type-1-prover/t1-ctl-protocol/" class="md-nav__link"> <span class="md-ellipsis"> CTL protocol </span> </a> </li> <li class="md-nav__item"> <a href="../../../cdk/architecture/type-1-prover/t1-rangechecks/" class="md-nav__link"> <span class="md-ellipsis"> Range checks </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../innovation-design/plonky/" class="md-nav__link"> <span class="md-ellipsis"> Plonky 2 & 3 </span> </a> </li> <li class="md-nav__item"> <a href="../../../innovation-design/polygon-protocols/" class="md-nav__link"> <span class="md-ellipsis"> Polygon protocols </span> </a> </li> <li class="md-nav__item"> <a href="https://polygon.technology/blog/reorgs-demystified-insights-from-monitoring-with-a-sensor-network" class="md-nav__link"> <span class="md-ellipsis"> Demystifying reorgs </span> </a> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7_8" > <label class="md-nav__link" for="__nav_7_8" id="__nav_7_8_label" tabindex=""> <span class="md-ellipsis"> Security </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_7_8_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_7_8"> <span class="md-nav__icon md-icon"></span> Security </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../innovation-design/security/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7_8_2" > <label class="md-nav__link" for="__nav_7_8_2" id="__nav_7_8_2_label" tabindex="0"> <span class="md-ellipsis"> Security areas </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_7_8_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_7_8_2"> <span class="md-nav__icon md-icon"></span> Security areas </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../innovation-design/security/governance/" class="md-nav__link"> <span class="md-ellipsis"> Governance & management </span> </a> </li> <li class="md-nav__item"> <a href="../../../innovation-design/security/risk/" class="md-nav__link"> <span class="md-ellipsis"> Risk management </span> </a> </li> <li class="md-nav__item"> <a href="../../../innovation-design/security/hr/" class="md-nav__link"> <span class="md-ellipsis"> Human resources </span> </a> </li> <li class="md-nav__item"> <a href="../../../innovation-design/security/infrastructure/" class="md-nav__link"> <span class="md-ellipsis"> Infrastructure </span> </a> </li> <li class="md-nav__item"> <a href="../../../innovation-design/security/sdlc/" class="md-nav__link"> <span class="md-ellipsis"> Software development </span> </a> </li> <li class="md-nav__item"> <a href="../../../innovation-design/security/smartcontracts/" class="md-nav__link"> <span class="md-ellipsis"> Smart contracts </span> </a> </li> <li class="md-nav__item"> <a href="../../../innovation-design/security/vulnerability/" class="md-nav__link"> <span class="md-ellipsis"> Vulnerability management </span> </a> </li> <li class="md-nav__item"> <a href="../../../innovation-design/security/operations/" class="md-nav__link"> <span class="md-ellipsis"> Security operations </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="../../../innovation-design/security/reports/" class="md-nav__link"> <span class="md-ellipsis"> Security reports </span> </a> </li> <li class="md-nav__item"> <a href="../../../innovation-design/security/bugbounty/" class="md-nav__link"> <span class="md-ellipsis"> Bug bounty programs </span> </a> </li> <li class="md-nav__item"> <a href="../../../innovation-design/security/disclosure/" class="md-nav__link"> <span class="md-ellipsis"> Responsable disclosure </span> </a> </li> <li class="md-nav__item"> <a href="../../../innovation-design/security/contact/" class="md-nav__link"> <span class="md-ellipsis"> Contact us </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" > <div class="md-nav__link md-nav__container"> <a href="../../../learn/" class="md-nav__link "> <span class="md-ellipsis"> Learn </span> </a> <label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_8"> <span class="md-nav__icon md-icon"></span> Learn </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_2" > <label class="md-nav__link" for="__nav_8_2" id="__nav_8_2_label" tabindex=""> <span class="md-ellipsis"> General </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_8_2"> <span class="md-nav__icon md-icon"></span> General </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../learn/general/stack_choice/" class="md-nav__link"> <span class="md-ellipsis"> Stack Choice </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_3" > <label class="md-nav__link" for="__nav_8_3" id="__nav_8_3_label" tabindex=""> <span class="md-ellipsis"> Learning ZK </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_3_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_8_3"> <span class="md-nav__icon md-icon"></span> Learning ZK </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../learn/zk/key_concepts/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="../../../learn/zk/polynomial_time/" class="md-nav__link"> <span class="md-ellipsis"> Polynomial Time </span> </a> </li> <li class="md-nav__item"> <a href="../../../learn/zk/np_completeness/" class="md-nav__link"> <span class="md-ellipsis"> NP Completeness </span> </a> </li> <li class="md-nav__item"> <a href="../../../learn/zk/cyclic_groups_and_generators/" class="md-nav__link"> <span class="md-ellipsis"> Cyclic Groups and Generators </span> </a> </li> <li class="md-nav__item"> <a href="../../../learn/zk/learning_resources/" class="md-nav__link"> <span class="md-ellipsis"> Learning Resources </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_4" > <label class="md-nav__link" for="__nav_8_4" id="__nav_8_4_label" tabindex=""> <span class="md-ellipsis"> AggLayer </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_4_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_8_4"> <span class="md-nav__icon md-icon"></span> AggLayer </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../learn/agglayer/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="../../../learn/agglayer/trust/" class="md-nav__link"> <span class="md-ellipsis"> Trust </span> </a> </li> <li class="md-nav__item"> <a href="../../../learn/agglayer/lbt_vs_let/" class="md-nav__link"> <span class="md-ellipsis"> Exit and Balance Trees </span> </a> </li> <li class="md-nav__item"> <a href="../../../learn/agglayer/ditl/" class="md-nav__link"> <span class="md-ellipsis"> A Day in the Life of an AggLayer Transaction </span> </a> </li> <li class="md-nav__item"> <a href="../../../learn/agglayer/pessimistic_proof/" class="md-nav__link"> <span class="md-ellipsis"> Pessimistic Proof </span> </a> </li> <li class="md-nav__item"> <a href="../../../learn/agglayer/unified_liquidity/" class="md-nav__link"> <span class="md-ellipsis"> Unified Liquidity </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_5" > <label class="md-nav__link" for="__nav_8_5" id="__nav_8_5_label" tabindex=""> <span class="md-ellipsis"> CDK </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_5_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_8_5"> <span class="md-nav__icon md-icon"></span> CDK </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../learn/cdk/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_6" > <label class="md-nav__link" for="__nav_8_6" id="__nav_8_6_label" tabindex=""> <span class="md-ellipsis"> Miden </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_6_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_8_6"> <span class="md-nav__icon md-icon"></span> Miden </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../learn/miden/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="../../../learn/miden/note_features/" class="md-nav__link"> <span class="md-ellipsis"> Notes and Their Features </span> </a> </li> <li class="md-nav__item"> <a href="../../../learn/miden/note_types/" class="md-nav__link"> <span class="md-ellipsis"> Note Types </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_7" > <label class="md-nav__link" for="__nav_8_7" id="__nav_8_7_label" tabindex=""> <span class="md-ellipsis"> PoS </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_7_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_8_7"> <span class="md-nav__icon md-icon"></span> PoS </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../learn/pos/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_7_2" > <label class="md-nav__link" for="__nav_8_7_2" id="__nav_8_7_2_label" tabindex="0"> <span class="md-ellipsis"> Tutorials </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_8_7_2_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_8_7_2"> <span class="md-nav__icon md-icon"></span> Tutorials </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../learn/pos/tutorials/milestones/" class="md-nav__link"> <span class="md-ellipsis"> Understanding and Implementing Milestones </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_8" > <label class="md-nav__link" for="__nav_8_8" id="__nav_8_8_label" tabindex=""> <span class="md-ellipsis"> Plonky3 </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_8_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_8_8"> <span class="md-nav__icon md-icon"></span> Plonky3 </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../learn/plonky3/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> <li class="md-nav__item"> <a href="../../../learn/plonky3/examples/fibonacci/" class="md-nav__link"> <span class="md-ellipsis"> Introduction to Plonky3 & Fibonacci Example </span> </a> </li> <li class="md-nav__item"> <a href="../../../learn/plonky3/examples/rangecheck/" class="md-nav__link"> <span class="md-ellipsis"> Constraint Degree, Intermediate Variables & Range Check Example </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_9" > <label class="md-nav__link" for="__nav_8_9" id="__nav_8_9_label" tabindex=""> <span class="md-ellipsis"> zkEVM </span> <span class="md-nav__icon md-icon"></span> </label> <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_9_label" aria-expanded="false"> <label class="md-nav__title" for="__nav_8_9"> <span class="md-nav__icon md-icon"></span> zkEVM </label> <ul class="md-nav__list" data-md-scrollfix> <li class="md-nav__item"> <a href="../../../learn/zkevm/overview/" class="md-nav__link"> <span class="md-ellipsis"> Overview </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> <li class="md-nav__item"> <a href="#node-system-requirements" class="md-nav__link"> Node system requirements </a> <nav class="md-nav" aria-label="Node system requirements"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#mainnet-specs" class="md-nav__link"> Mainnet specs </a> </li> <li class="md-nav__item"> <a href="#testnet-amoy-specs" class="md-nav__link"> Testnet (Amoy) specs </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#downloading-the-snapshot" class="md-nav__link"> Downloading the snapshot </a> </li> <li class="md-nav__item"> <a href="#open-necessary-ports" class="md-nav__link"> Open necessary ports </a> <nav class="md-nav" aria-label="Open necessary ports"> <ul class="md-nav__list"> <li class="md-nav__item"> <a href="#sentryfull-nodes" class="md-nav__link"> Sentry/full nodes </a> </li> <li class="md-nav__item"> <a href="#validator-nodes" class="md-nav__link"> Validator nodes </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a href="#install-rabbitmq" class="md-nav__link"> Install RabbitMQ </a> </li> <li class="md-nav__item"> <a href="#connect-to-ethereum-rpc-endpoint" class="md-nav__link"> Connect to Ethereum RPC endpoint </a> </li> <li class="md-nav__item"> <a href="#mandatory-checklist-for-validators" class="md-nav__link"> Mandatory checklist for validators </a> </li> </ul> </nav> </div> </div> </div> <div class="md-content" data-md-component="content"> <article class="md-content__inner md-typeset"> <a href="https://github.com/0xPolygon/polygon-docs/edit/main/docs/pos/how-to/prerequisites.md" title="Edit this page" class="md-content__button md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <h1>Prerequisites</h1> <!-- --- comments: true --- --> <h2 id="node-system-requirements">Node system requirements<a class="headerlink" href="#node-system-requirements" title="Link to this section">¶</a></h2> <p>Please note that all system requirements listed below are presented in a <em>Minimum/Recommended</em> format.</p> <h3 id="mainnet-specs">Mainnet specs<a class="headerlink" href="#mainnet-specs" title="Link to this section">¶</a></h3> <table> <thead> <tr> <th>Node type</th> <th>RAM</th> <th>CPU</th> <th>Storage</th> <th>Network bandwidth</th> </tr> </thead> <tbody> <tr> <td>Full Node/Sentry Node</td> <td>32 GB/64 GB</td> <td>8 core/16 core</td> <td>4 TB/6 TB</td> <td>1 Gbit/s</td> </tr> <tr> <td>Validator Node</td> <td>32 GB/64 GB</td> <td>8 core/16 core</td> <td>4 TB/6 TB</td> <td>1 Gbit/s</td> </tr> <tr> <td>Archive Node (Erigon)</td> <td>64 GB</td> <td>16 core</td> <td>16 TB(<code>io1</code>聽or above with at least 20k+ iops and RAID-0 based disk structure)</td> <td>1 Gbit/s</td> </tr> </tbody> </table> <h3 id="testnet-amoy-specs">Testnet (Amoy) specs<a class="headerlink" href="#testnet-amoy-specs" title="Link to this section">¶</a></h3> <table> <thead> <tr> <th>Node type</th> <th>RAM</th> <th>CPU</th> <th>Storage</th> <th>Network bandwidth</th> </tr> </thead> <tbody> <tr> <td>Full Node/Sentry Node</td> <td>8 GB/16 GB</td> <td>8 core/16 core</td> <td>1 TB/2 TB</td> <td>1 Gbit/s</td> </tr> <tr> <td>Validator Node</td> <td>8 GB/16 GB</td> <td>8 core/16 core</td> <td>1 TB/2 TB</td> <td>1 Gbit/s</td> </tr> <tr> <td>Archive Node (Erigon)</td> <td>16 GB</td> <td>16 core</td> <td>1 TB/2 TB (<code>io1</code>聽or above with at least 20k+ iops and RAID-0 based disk structure)</td> <td>1 Gbit/s</td> </tr> </tbody> </table> <h2 id="downloading-the-snapshot">Downloading the snapshot<a class="headerlink" href="#downloading-the-snapshot" title="Link to this section">¶</a></h2> <p>It is recommended that you keep your snapshots handy before setting up the node. Link to the snapshot documentation <a href="https://docs.polygon.technology/pos/how-to/snapshots/">here</a>.</p> <h2 id="open-necessary-ports">Open necessary ports<a class="headerlink" href="#open-necessary-ports" title="Link to this section">¶</a></h2> <h3 id="sentryfull-nodes">Sentry/full nodes<a class="headerlink" href="#sentryfull-nodes" title="Link to this section">¶</a></h3> <table> <thead> <tr> <th style="text-align: center;">Port</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td style="text-align: center;"><code>26656</code></td> <td>Heimdall service connects your node to another node鈥檚 Heimdall service using this port.</td> </tr> <tr> <td style="text-align: center;"><code>30303</code></td> <td>Bor service connects your node to another node鈥檚 Bor service using this port.</td> </tr> <tr> <td style="text-align: center;"><code>22</code></td> <td>For the validator to be able to SSH from wherever they are.</td> </tr> <tr> <td style="text-align: center;"><code>26660</code></td> <td>Prometheus port for Tendermint/Heimdall. Not required to be opened to the public. Only allow for the monitoring systems (Prometheus/Datadog).</td> </tr> <tr> <td style="text-align: center;"><code>7071</code></td> <td>Metric port for Bor. Only needs to be opened for the Monitoring system.</td> </tr> <tr> <td style="text-align: center;"><code>8545</code>,聽<code>8546</code>, 聽<code>1317</code></td> <td>Can be opened for Bor HTTP RPC, Bor WS RPC, and Heimdall API respectively; but only if really necessary.</td> </tr> </tbody> </table> <h3 id="validator-nodes">Validator nodes<a class="headerlink" href="#validator-nodes" title="Link to this section">¶</a></h3> <table> <thead> <tr> <th style="text-align: center;">Port</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td style="text-align: center;"><code>22</code></td> <td>Opening this to the public is not a good idea as the default SSH port 22 is prone to attacks. It is better to secure it by allowing it only in a closed network (VPN).</td> </tr> <tr> <td style="text-align: center;"><code>30303</code></td> <td>To be opened to only Sentry to which the validator is connected for Bor P2P discovery.</td> </tr> <tr> <td style="text-align: center;"><code>26656</code></td> <td>To be opened to only Sentry to which the validator is connected for Heimdall/Tendermint P2P discovery.</td> </tr> <tr> <td style="text-align: center;"><code>26660</code></td> <td>Prometheus port for Tendermint/Heimdall. Not required to be opened to the public. Only allow for the monitoring systems (Prometheus/Datadog).</td> </tr> <tr> <td style="text-align: center;"><code>7071</code></td> <td>Metric port for Bor. Only needs to be opened for the monitoring system.</td> </tr> </tbody> </table> <h2 id="install-rabbitmq">Install RabbitMQ<a class="headerlink" href="#install-rabbitmq" title="Link to this section">¶</a></h2> <div class="admonition info"> <p class="admonition-title">Only for validator nodes</p> <p>This step is only relevant for validator nodes.</p> </div> <p>Before setting up your validator node, it鈥檚 advisable to install the RabbitMQ service. You can use the following commands to set up RabbitMQ (if it鈥檚 not already installed):</p> <div class="highlight"><pre><span></span><code>sudo<span class="w"> </span>apt-get<span class="w"> </span>update sudo<span class="w"> </span>apt<span class="w"> </span>install<span class="w"> </span>build-essential sudo<span class="w"> </span>apt<span class="w"> </span>install<span class="w"> </span>erlang wget<span class="w"> </span>https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.8/rabbitmq-server_3.10.8-1_all.deb sudo<span class="w"> </span>dpkg<span class="w"> </span>-i<span class="w"> </span>rabbitmq-server_3.10.8-1_all.deb </code></pre></div> <h2 id="connect-to-ethereum-rpc-endpoint">Connect to Ethereum RPC endpoint<a class="headerlink" href="#connect-to-ethereum-rpc-endpoint" title="Link to this section">¶</a></h2> <div class="admonition info"> <p class="admonition-title">Only for validator nodes</p> <p>This step is only relevant for validator nodes.</p> </div> <p>Validator nodes need to connect to an Ethereum RPC endpoint. You may use your own Ethereum node, or utilize <a href="https://www.alchemy.com/chain-connect/chain/ethereum">external infrastructure providers</a>.</p> <h2 id="mandatory-checklist-for-validators">Mandatory checklist for validators<a class="headerlink" href="#mandatory-checklist-for-validators" title="Link to this section">¶</a></h2> <p>Please follow the below checklist in order to set up your validator node using binaries, Ansible, or packages.</p> <table> <thead> <tr> <th>Checklist</th> <th>Binaries</th> <th>Ansible</th> <th>Packages</th> </tr> </thead> <tbody> <tr> <td>Machines required</td> <td>2 Machines -聽<em>sentry</em>聽&聽<em>validator</em></td> <td>3 Machines -聽<em>local machine</em>,聽<em>sentry</em>聽and聽<em>validator</em></td> <td>2 Machines -聽<em>sentry</em>聽&聽<em>validator</em></td> </tr> <tr> <td>Install Go packages</td> <td>Yes</td> <td>No</td> <td>No</td> </tr> <tr> <td>Install Python</td> <td>No</td> <td>Yes (only on the local machine where the Ansible Playbook runs)</td> <td>No</td> </tr> <tr> <td>Install Ansible</td> <td>No</td> <td>Yes (only on one machine)</td> <td>No</td> </tr> <tr> <td>Install Bash</td> <td>No</td> <td>No</td> <td>Yes</td> </tr> <tr> <td>Run Build Essential</td> <td>Yes</td> <td>No</td> <td>No</td> </tr> <tr> <td>Node setup</td> <td><a href="https://docs.polygon.technology/pos/how-to/validator/validator-binaries/">Using binaries</a></td> <td><a href="https://docs.polygon.technology/pos/how-to/validator/validator-ansible/">Using Ansible</a></td> <td><a href="https://docs.polygon.technology/pos/how-to/validator/validator-packages/">Using packages</a></td> </tr> </tbody> </table> </article> </div> </div> <button type="button" class="md-top md-icon" data-md-component="top" hidden> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class="md-footer"> <nav class="md-footer__inner md-grid" aria-label="Footer" > <a href="../bridging/l1-l2-communication/state-transfer/" class="md-footer__link md-footer__link--prev" aria-label="Previous: State transfer"> <div class="md-footer__button md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class="md-footer__title"> <span class="md-footer__direction"> Previous </span> <div class="md-ellipsis"> State transfer </div> </div> </a> <a href="../snapshots/" class="md-footer__link md-footer__link--next" aria-label="Next: Sync node using snapshots"> <div class="md-footer__title"> <span class="md-footer__direction"> Next </span> <div class="md-ellipsis"> Sync node using snapshots </div> </div> <div class="md-footer__button md-icon"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class="md-copyright"> <div class="md-copyright__highlight"> Copyright © 2024 Polygon Labs </div> </div> <div class="md-social"> <a href="https://support.polygon.technology/support/solutions" target="_blank" rel="noopener" title="support.polygon.technology" class="md-social__link"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm-86.2-346.7c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1 0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6-13.3 0-24-10.7-24-24v-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1 0-8.4-6.8-15.1-15.1-15.1h-58.3c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1-64 0z"/></svg> </a> <a href="https://polygon.technology/" target="_blank" rel="noopener" title="polygon.technology" class="md-social__link"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M352 256c0 22.2-1.2 43.6-3.3 64H163.3c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64h185.4c2.2 20.4 3.3 41.8 3.3 64zm28.8-64h123.1c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H380.8c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32H376.7c-10-63.9-29.8-117.4-55.3-151.6 78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1-36.4 15.5-68.6 27-94.7 10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5 11.6 26 20.9 58.2 27 94.7zm-209 0H18.6c30-74.1 93.6-130.9 172-151.6-25.5 34.2-45.3 87.7-55.3 151.6zM8.1 192h123.1c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zm186.6 254.6c-11.6-26-20.9-58.2-27-94.6h176.6c-6.1 36.4-15.5 68.6-27 94.6-10.5 23.6-22.2 40.7-33.5 51.5-11.2 10.7-20.5 13.9-27.8 13.9s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6-78.4-20.7-142-77.5-172-151.6h116.7zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6 25.5-34.2 45.2-87.7 55.3-151.6h116.6z"/></svg> </a> <a href="https://github.com/0xPolygon/polygon-docs" target="_blank" rel="noopener" title="github.com" class="md-social__link"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> </div> </div> </div> </footer> </div> <div class="md-dialog" data-md-component="dialog"> <div class="md-dialog__inner md-typeset"></div> </div> <div class="md-consent" data-md-component="consent" id="__consent" hidden> <div class="md-consent__overlay"></div> <aside class="md-consent__inner"> <form class="md-consent__form md-grid md-typeset" name="consent"> <h4>Cookie consent</h4> <p>We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.</p> <input class="md-toggle" type="checkbox" id="__settings" > <div class="md-consent__settings"> <ul class="task-list"> <li class="task-list-item"> <label class="task-list-control"> <input type="checkbox" name="analytics" checked> <span class="task-list-indicator"></span> Google Analytics </label> </li> <li class="task-list-item"> <label class="task-list-control"> <input type="checkbox" name="github" checked> <span class="task-list-indicator"></span> GitHub </label> </li> </ul> </div> <div class="md-consent__controls"> <button class="md-button md-button--primary">Accept</button> <label class="md-button" for="__settings">Manage settings</label> </div> </form> </aside> </div> <script>var consent=__md_get("__consent");if(consent)for(var input of document.forms.consent.elements)input.name&&(input.checked=consent[input.name]||!1);else"file:"!==location.protocol&&setTimeout(function(){document.querySelector("[data-md-component=consent]").hidden=!1},250);var action,form=document.forms.consent;for(action of["submit","reset"])form.addEventListener(action,function(e){if(e.preventDefault(),"reset"===e.type)for(var n of document.forms.consent.elements)n.name&&(n.checked=!1);__md_set("__consent",Object.fromEntries(Array.from(new FormData(form).keys()).map(function(e){return[e,!0]}))),location.hash="",location.reload()})</script> <script id="__config" type="application/json">{"base": "../../..", "features": ["search.suggest", "search.highlight", "search.share", "navigation.tracking", "navigation.integration", "navigation.tabs", "navigation.tabs.sticky", "navigation.indexes", "navigation.sections", "navigation.path", "navigation.top", "navigation.footer", "toc.follow", "content.code.copy", "content.action.edit"], "search": "../../../assets/javascripts/workers/search.f886a092.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src="../../../assets/javascripts/bundle.81fa17fe.min.js"></script> <script src="../../../_site_essentials/js/mathjax.js"></script> <script src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?version=4.8.0"></script> <script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.7/katex.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.7/contrib/auto-render.min.js"></script> <script src="../../../js/open_in_new_tab.js"></script> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MQWH3L28" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> </body> </html>