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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&#10;" 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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&#10;" 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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</a></h2> <h3 id="sentryfull-nodes">Sentry/full nodes<a class="headerlink" href="#sentryfull-nodes" title="Link to this section">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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>聽&amp;聽<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>聽&amp;聽<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 &copy; 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>

Pages: 1 2 3 4 5 6 7 8 9 10