PageSourceSearch

https://www.anchor-lang.com/docs/installation

html anchor-lang.com collected 2026-10-02 04:49:23 UTC 400,813 bytes, 150 lines download raw bytes

1<!DOCTYPE html><!--BfukUQmaPdDQ5rbc7ogGs--><html lang="en" class="__className_f367f3"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/ccb73e6320b6ece0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/f0b4f6c31c32f4c0.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-8382b99f806c718f.js"/>
1<script src="/_next/static/chunks/1c744db8-dfc972ae4a5e6ca6.js" async=""></script>
1<script src="/_next/static/chunks/656-7c991b329ad8d548.js" async=""></script>
1<script src="/_next/static/chunks/main-app-50685b8b7be1e94d.js" async=""></script>
1<script src="/_next/static/chunks/61bc4449-79446bb308e58e54.js" async=""></script>
1<script src="/_next/static/chunks/4d2379a7-728891ce7380ef14.js" async=""></script>
1<script src="/_next/static/chunks/236-6de31ac5479d9618.js" async=""></script>
1<script src="/_next/static/chunks/793-dfdc22f1387586ec.js" async=""></script>
1<script src="/_next/static/chunks/383-a4e61f7c5079fc90.js" async=""></script>
1<script src="/_next/static/chunks/app/layout-a4bf487c64a201f7.js" async=""></script>
1<script src="/_next/static/chunks/939-fa5e6a9da3abbb37.js" async=""></script>
1<script src="/_next/static/chunks/454-41d8c2c4df2b85ee.js" async=""></script>
1<script src="/_next/static/chunks/508-5c0121507e09ced4.js" async=""></script>
1<script src="/_next/static/chunks/197-177470f58c8923e6.js" async=""></script>
1<script src="/_next/static/chunks/app/docs/layout-d7620d5d495d28ad.js" async=""></script>
1<script src="/_next/static/chunks/760-05b86665263913f4.js" async=""></script>
1<script src="/_next/static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js" async=""></script>
1<link rel="preload" href="/_next/static/chunks/483.bd89a3f526c2b0d2.js" as="script" fetchPriority="low"/><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-ZJYNM2WNM0" as="script"/><meta name="next-size-adjust" content=""/><title>Installation</title><meta name="description" content="Learn how to install Rust, the Solana CLI, and Anchor Framework on Windows (WSL), Linux, or Mac."/><link rel="icon" href="/icon.ico?aa590cbe56eb8b33" type="image/x-icon" sizes="512x512"/>
1<script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script>
1</head><body class="flex flex-col min-h-screen"><div hidden=""><!--$--><!--/$--></div>
1<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script>
1<span></span><main id="nd-docs-layout" class="flex w-full flex-1 flex-row pe-[var(--fd-layout-offset)] [--fd-nav-height:3.5rem] [--fd-tocnav-height:36px] md:[--fd-sidebar-width:268px] xl:[--fd-toc-width:268px] xl:[--fd-tocnav-height:0px]" style="--fd-layout-offset:max(calc(50vw - var(--fd-layout-width) / 2), 0px)"><aside data-open="false" id="nd-sidebar" data-collapsed="false" style="--fd-sidebar-offset:calc(var(--fd-sidebar-width) - 20px);--fd-sidebar-height:calc(100dvh - var(--fd-banner-height) - var(--fd-nav-height))" class="fixed top-fd-layout-top z-30 bg-fd-card text-sm md:sticky md:h-[var(--fd-sidebar-height)] max-md:inset-x-0 max-md:bottom-0 max-md:bg-fd-background/80 max-md:text-[15px] max-md:backdrop-blur-lg max-md:data-[open=false]:invisible md:transition-all md:ps-[var(--fd-layout-offset)] md:[--fd-nav-height:0px]"><div class="flex size-full max-w-full flex-col pt-2 md:ms-auto md:w-[var(--fd-sidebar-width)] md:border-e md:pt-4"><div class="flex flex-col gap-2 px-4 empty:hidden"><div class="flex flex-row items-center max-md:hidden"><a class="inline-flex items-center gap-2.5 py-1 font-medium md:px-2" href="/docs"><div class="flex items-center gap-2 pl-2"><img alt="Logo" loading="lazy" width="24" height="24" decoding="async" data-nimg="1" style="color:transparent" srcSet="/_next/image?url=%2Ficons%2Fanchor.png&amp;w=32&amp;q=75 1x, /_next/image?url=%2Ficons%2Fanchor.png&amp;w=48&amp;q=75 2x" src="/_next/image?url=%2Ficons%2Fanchor.png&amp;w=48&amp;q=75"/><span>Anchor Docs</span></div></a><button type="button" aria-label="Collapse Sidebar" data-collapsed="false" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&amp;_svg]:size-5 ms-auto text-fd-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button></div></div><div dir="ltr" class="overflow-hidden h-full" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] p-4" style="overflow-x:hidden;overflow-y:hidden;mask-image:linear-gradient(to bottom, transparent 2px, white 16px)"><div style="min-width:100%;display:table"><div class="mb-4 empty:hidden lg:hidden"><a href="https://github.com/otter-sec/anchor" rel="noreferrer noopener" target="_blank" data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" width="1em" height="1em"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg>Github</a><a href="https://discord.com/invite/NHHGSXAnXk" rel="noreferrer noopener" target="_blank" data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground
1/80 hover:transition-none"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" width="1em" height="1em"><title>Discord</title><path d="M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0 13 13 0 0 0-.617-1.25.08.08 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.1.1 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.08.08 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13 13 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10 10 0 0 0 .372-.292.07.07 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.07.07 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.3 12.3 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.08.08 0 0 0 .084.028 19.8 19.8 0 0 0 6.002-3.03.08.08 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03M8.02 15.33c-1.182 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418"></path></svg>Discord</a><a href="https://solana.stackexchange.com/" rel="noreferrer noopener" target="_blank" data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" width="1em" height="1em"><title>Stack Exchange</title><path d="M21.728 15.577v1.036c0 1.754-1.395 3.177-3.1 3.177h-.904L13.645 24v-4.21H5.371c-1.704 0-3.099-1.423-3.099-3.181v-1.032zM2.275 10.463h19.323v3.979H2.275zm0-5.141h19.323v3.979H2.275zM18.575 0c1.681 0 3.023 1.42 3.023 3.178v1.034H2.275V3.178C2.275 1.422 3.67 0 5.375 0z"></path></svg>Stack Exchange</a></div><p class="mb-2 px-2 text-sm font-medium">Getting Started</p><a data-active="true" class="flex flex-row items-center gap-2 rounded-md p-2 text-start [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;
1_svg]:shrink-0 bg-fd-primary/10 font-medium text-fd-primary" href="/docs/installation">Installation</a><div data-state="open"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" href="/docs/quickstart">Quickstart<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="open" id="radix-_R_3kqcnqbb_" class="overflow-hidden [--radix-collapsible-content-height:0px] data-[state=closed]:animate-fd-collapsible-up data-[state=open]:animate-fd-collapsible-down"><div class="ms-3 border-s py-1.5 ps-1.5 md:ms-2"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/quickstart/solpg">Solana Playground</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/quickstart/local">Local Development</a></div></div></div><p class="mb-2 px-2 text-sm font-medium mt-8">Core Concepts</p><div data-state="open"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" href="/docs/basics">The Basics<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="open" id="radix-_R_5kqcnqbb_" class="overflow-hidden [--radix-collapsible-content-height:0px] data-[state=closed]:animate-fd-collapsible-up data-[state=open]:animate-fd-collapsible-down"><div class="ms-3 border-s py-1.5 ps-1.5 md:ms-2"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/basics/program-structure">Program Structure</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/basics/idl">Program IDL File</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/basics/pda">Program Derived Address</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/basics/cpi">Cross Program Invocation</a></div></div></div><div data-state="open"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground
1/80 hover:transition-none w-full" href="/docs/clients">Client Libraries<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="open" id="radix-_R_6kqcnqbb_" class="overflow-hidden [--radix-collapsible-content-height:0px] data-[state=closed]:animate-fd-collapsible-up data-[state=open]:animate-fd-collapsible-down"><div class="ms-3 border-s py-1.5 ps-1.5 md:ms-2"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/clients/typescript">TypeScript</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/clients/rust">Rust</a></div></div></div><div data-state="open"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" href="/docs/testing">Testing Libraries<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="open" id="radix-_R_7kqcnqbb_" class="overflow-hidden [--radix-collapsible-content-height:0px] data-[state=closed]:animate-fd-collapsible-up data-[state=open]:animate-fd-collapsible-down"><div class="ms-3 border-s py-1.5 ps-1.5 md:ms-2"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/testing/litesvm">LiteSVM</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/testing/mollusk">Mollusk</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/testing/fuzzing">Fuzzing</a></div></div></div><div data-state="open"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" href="/docs/features">Additional Features<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="open" id="radix-_R_8kqcnqbb_" class="overflow-hidden [--radix-collapsible-content-height:0px] data-[state=closed]:animate-fd-collapsible-up data-[state=open]:animate-fd-collapsible-down"><div class="ms-3 border-s py-1.5 ps-1.5 md:ms-2"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground
1/80 hover:transition-none" href="/docs/features/declare-program">Dependency Free Composability</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/features/errors">Custom Errors</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/features/events">Emit Events</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/features/zero-copy">Zero Copy</a></div></div></div><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/footguns">Footguns</a><p class="mb-2 px-2 text-sm font-medium mt-8">SPL Tokens</p><div data-state="open"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" href="/docs/tokens">Interacting with Tokens<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="open" id="radix-_R_bkqcnqbb_" class="overflow-hidden [--radix-collapsible-content-height:0px] data-[state=closed]:animate-fd-collapsible-up data-[state=open]:animate-fd-collapsible-down"><div class="ms-3 border-s py-1.5 ps-1.5 md:ms-2"><div data-state="closed"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" href="/docs/tokens/basics">Basics<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="closed" id="radix-_R_6rkqcnqbb_" hidden="" class="overflow-hidden [--radix-collapsible-content-height:0px] data-[state=closed]:animate-fd-collapsible-up data-[state=open]:animate-fd-collapsible-down"></div></div><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/tokens/extensions">Extensions</a></div></div></div><p class="mb-2 px-2 text-sm font-medium mt-8">References</p><div data-state="open"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full" href="/docs/references">Program Development<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></a><div data-state="open" id="radix-_R_dkqcnqbb_" class="overflow-hidden [--radix-collapsible-content-height:0px] data-[state=closed]:animate-fd-collapsible-up data-[state=open]:animate-fd-collapsible-down"><div class="ms-3 border-s py-1.5 ps-1.5 md:ms-2"><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground
1/80 hover:transition-none" href="/docs/references/account-types">Account Types</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/references/account-constraints">Account Constraints</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/references/anchor-toml">Anchor.toml Configuration</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/references/cli">Anchor CLI</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/references/no-dna">NO_DNA</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/references/avm">Anchor Version Manager</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/references/space">Account Space</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/references/type-conversion">Rust to JS Type Conversion</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/references/verifiable-builds">Verifiable Builds</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/references/security-exploits">Sealevel Attacks</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/references/examples">Example Programs</a></div></div></div><div data-state="open"><button type="button" aria-controls="radix-_R_ekqcnqbb_" aria-expanded="true" data-state="open" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none w-full">Anchor Project Updates<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="open" id="radix-_R_ekqcnqbb_" class="overflow-hidden [--radix-collapsible-content-height:0px] data-[state=closed]:animate-fd-collapsible-up data-[state=open]:animate-fd-collapsible-down"><div class="ms-3 border-s py-1.5 ps-1.5 md:ms-2"><div data-state="closed"><button type="button" aria-controls="radix-_R_6ukqcnqbb_" aria-expanded="false" data-state="closed" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground
1/80 hover:transition-none w-full">Release Notes<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ms-auto transition-transform -rotate-90" data-icon="true"><path d="m6 9 6 6 6-6"></path></svg></button><div data-state="closed" id="radix-_R_6ukqcnqbb_" hidden="" class="overflow-hidden [--radix-collapsible-content-height:0px] data-[state=closed]:animate-fd-collapsible-up data-[state=open]:animate-fd-collapsible-down"></div></div><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/updates/changelog">Changelog</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/updates/contribution-guide">Contribution Guide</a><a data-active="false" class="flex flex-row items-center gap-2 rounded-md p-2 text-start text-fd-muted-foreground [overflow-wrap:anywhere] md:py-1.5 [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 transition-colors hover:bg-fd-accent/50 hover:text-fd-accent-foreground/80 hover:transition-none" href="/docs/updates/backport-workflow">Backport Workflow</a></div></div></div></div></div></div><div class="flex flex-col border-t px-4 py-3 empty:hidden md:hidden"><button class="inline-flex items-center rounded-full border p-[3px] w-fit md:hidden" data-theme-toggle=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun size-7 rounded-full p-1.5 text-fd-muted-foreground"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon size-7 rounded-full p-1.5 text-fd-muted-foreground"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></button></div></div></aside><header id="nd-subnav" class="fixed inset-x-0 top-[var(--fd-banner-height)] z-10 h-14 pe-[var(--fd-layout-offset)] backdrop-blur-lg transition-colors bg-fd-background/80" style="padding-inline-start:calc(var(--fd-layout-offset) + var(--fd-sidebar-width))"><div class="mx-auto flex size-full flex-row items-center border-b border-fd-foreground/10 px-4 md:gap-1.5"><button type="button" aria-label="Collapse Sidebar" data-collapsed="false" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&amp;_svg]:size-5 -ms-1.5 text-fd-muted-foreground data-[collapsed=false]:hidden max-md:hidden"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-left"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M9 3v18"></path></svg></button><button type="button" data-search-full="" class="inline-flex items-center gap-2 border bg-fd-secondary/50 p-1.5 text-sm text-fd-muted-foreground transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground w-full max-w-[240px] rounded-lg max-md:hidden"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search ms-1 size-4"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg>Search<div class="ms-auto inline-flex gap-0.5"><kbd class="rounded-md border bg-fd-background px-1.5">⌘</kbd><kbd class="rounded-md border bg-fd-background px-1.5">K</kbd></div></button><a class="inline-flex items-center gap-2.5 font-semibold md:hidden" href="/docs"><div class="flex items-center gap-2 pl-2"><img alt="Logo" loading="lazy" width="24" height="24" decoding="async" data-nimg="1" style="color:transparent" srcSet="/_next/image?url=%2Ficons%2Fanchor.png&amp;w=32&amp;q=75 1x, /_next/image?url=%2Ficons%2Fanchor.png&amp;w=48&amp;q=75 2x" src="/_next/image?url=%2Ficons%2Fanchor.png&amp;w=48&amp;q=75"/><span>Anchor Docs</span></div></a><div class="flex flex-1 flex-row items-center gap-6 px-2"><a href="https://github.com/otter-sec/anchor" rel="noreferrer noopener" target="_blank" class="text-sm text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground max-lg:hidden" data-active="false">Github</a><a href="https://discord.com/invite/NHHGSXAnXk" rel="noreferrer noopener" target="_blank" class="text-sm text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground max-lg:hidden" data-active="false">Discord</a><a href="https://solana.stackexchange.com/" rel="noreferrer noopener" target="_blank" class="text-sm text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground max-lg:hidden" data-active="false">Stack Exchange</a></div><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&amp;_svg]:size-5 md:hidden" data-search="" aria-label="Open Search"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg></button><button aria-label="Toggle Sidebar" data-open="false" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&amp;_svg]:size-5 -me-1.5 md:hidden"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg></button><div class="flex flex-row items-center empty:hidden max-lg:hidden"></div><div class="inline-flex items-center rounded-full border p-[3px] max-md:hidden" data-theme-toggle=""><button aria-label="light" class="size-7 rounded-full p-1.5 text-fd-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun size-full"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg></button><button aria-label="dark" class="size-7 rounded-full p-1.5 text-fd-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon size-full"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></button><button aria-label="system" class="size-7 rounded-full p-1.5 text-fd-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-airplay size-full"><path d="M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1"></path><path d="m12 15 5 6H7Z"></path></svg></button></div></div></header><div id="nd-page" class="flex w-full min-w-0 flex-col mt-[var(--fd-nav-height)]"><header id="nd-tocnav" class="sticky top-fd-layout-top z-10 flex flex-row items-center border-b border-fd-foreground
1/10 text-sm backdrop-blur-md transition-colors bg-fd-background/80 xl:hidden" style="--fd-toc-top-with-offset:calc(4px + var(--fd-banner-height) + var(--fd-nav-height))"><button type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-_R_1anpfsnqbb_" data-state="closed" class="inline-flex items-center gap-2 text-nowrap px-4 py-2 text-start size-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-text size-4 shrink-0"><path d="M17 6.1H3"></path><path d="M21 12.1H3"></path><path d="M15.1 18H3"></path></svg>On this page</button></header><article class="flex w-full flex-1 flex-col gap-6 px-4 pt-8 md:pt-12 lg:px-8 xl:mx-auto max-w-[860px]"><h1 class="text-3xl font-bold">Installation</h1><p class="mb-8 text-lg text-fd-muted-foreground">Learn how to install Rust, the Solana CLI, and Anchor Framework on Windows (WSL), Linux, or Mac.</p><div class="prose"><p>This section covers the steps to set up your local environment for Solana
2development.</p>
3<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="quick-installation"><a data-card="" href="#quick-installation" class="peer">Quick Installation</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
4<p>On Mac and Linux, run this single command to install all dependencies.</p>
5<figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --proto</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> &#x27;=https&#x27;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">
5 --tlsv1.2</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -sSfL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://solana-install.solana.workers.dev</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> bash</span></span></code></pre></div></div></div></figure>
6<div class="my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-triangle-alert size-5 fill-orange-500 text-fd-card"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path></svg><div class="min-w-0 flex-1"><div class="text-fd-muted-foreground prose-no-margin"><p>Windows Users: You must first install WSL (see <a href="#install-dependencies">Install
7Dependencies</a>). Then run the command above in the
8Ubuntu (Linux) terminal.</p></div></div></div>
9<p>After installation, you should see output similar to the following:</p>
10<figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span>Installed Versions:</span></span>
11<span class="line"><span>Rust: rustc 1.85.0 (4d91de4e4 2025-02-17)</span></span>
12<span class="line"><span>Solana CLI: solana-cli 4.1.2 (src:182084b8; feat:c763ae0a, client:Agave)</span></span>
13<span class="line"><span>Anchor CLI: anchor-cli 1.2.0</span></span>
14<span class="line"><span>Node.js: v23.9.0</span></span>
15<span class="line"><span>Yarn: 1.22.1</span></span>
16<span class="line"><span></span></span>
17<span class="line"><span>Installation complete. Please restart your terminal to apply all changes.</span></span></code></pre></div></div></div></figure>
18<div class="my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info size-5 fill-blue-500 text-fd-card"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg><div class="min-w-0 flex-1"><div class="text-fd-muted-foreground prose-no-margin"><p>If the quick installation command above doesn&#x27;t work, please refer to the
19<a href="#install-dependencies">Install Dependencies</a> section below for instructions to
20install each dependency individually.</p><p>If the quick install command runs successfully, skip to the
21<a href="#solana-cli-basics">Solana CLI Basics</a> and
22<a href="#anchor-cli-basics">Anchor CLI Basics</a> sections below.</p></div></div></div>
23<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="install-dependencies"><a data-card="" href="#install-dependencies" class="peer">Install Dependencies</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
24<p>The instructions below will guide you through installing each dependency
25individually.</p>
26<ul>
27<li>Windows users must first install WSL (Windows subsystem for Linux) and then
28install the dependencies specified in the Linux section below.</li>
29<li>Linux users should first install the dependencies specified in the Linux
30section below.</li>
31<li>Mac users should start with the Rust installation instructions below.</li>
32</ul>
33<div class="divide-y divide-fd-border overflow-hidden rounded-lg border bg-fd-card" data-orientation="vertical"><div data-state="closed" data-orientation="vertical" class="group/accordion relative scroll-m-20"><h3 data-orientation="vertical" data-state="closed" class="not-prose flex flex-row items-center font-medium text-fd-foreground"><button type="button" aria-controls="radix-_R_5bnaanpfsnqbb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_1bnaanpfsnqbb_" class="flex flex-1 items-center gap-2 p-4 text-start focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring" data-radix-collection-item=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right -ms-1 size-4 shrink-0 text-fd-muted-foreground transition-transform duration-200 group-data-[state=open]/accordion:rotate-90"><path d="m9 18 6-6-6-6"></path></svg>Windows Subsystem for Linux (WSL)</button></h3><div data-state="closed" id="radix-_R_5bnaanpfsnqbb_" hidden="" role="region" aria-labelledby="radix-_R_1bnaanpfsnqbb_" data-orientation="vertical" class="overflow-hidden data-[state=closed]:animate-fd-accordion-up data-[state=open]:animate-fd-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="group/accordion relative scroll-m-20"><h3 data-orientation="vertical" data-state="closed" class="not-prose flex flex-row items-center font-medium text-fd-foreground"><button type="button" aria-controls="radix-_R_6bnaanpfsnqbb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_2bnaanpfsnqbb_" class="flex flex-1 items-center gap-2 p-4 text-start focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring" data-radix-collection-item=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right -ms-1 size-4 shrink-0 text-fd-muted-foreground transition-transform duration-200 group-data-[state=open]/accordion:rotate-90"><path d="m9 18 6-6-6-6"></path></svg>Linux</button></h3><div data-state="closed" id="radix-_R_6bnaanpfsnqbb_" hidden="" role="region" aria-labelledby="radix-_R_2bnaanpfsnqbb_" data-orientation="vertical" class="overflow-hidden data-[state=closed]:animate-fd-accordion-up data-[state=open]:animate-fd-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div></div>
34<div class="fd-steps"><div class="fd-step"><h3 class="flex scroll-m-28 flex-row items-center gap-2" id="install-rust"><a data-card="" href="#install-rust" class="peer">Install Rust</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3><p>Solana programs are written in the
35<a href="https://www.rust-lang.org/" rel="noreferrer noopener" target="_blank">Rust programming language</a>.</p><p>
35The recommended installation method for Rust is
36<a href="https://www.rust-lang.org/tools/install" rel="noreferrer noopener" target="_blank">rustup</a>.</p><p>Run the following command to install Rust:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --proto</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> &#x27;=https&#x27;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --tlsv1.2</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -sSf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://sh.rustup.rs</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> sh</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -s</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -y</span></span></code></pre></div></div></div></figure><p>You should see the following message after the installation completes:</p><div class="divide-y divide-fd-border overflow-hidden rounded-lg border bg-fd-card" data-orientation="vertical"><div data-state="closed" data-orientation="vertical" class="group/accordion relative scroll-m-20"><h3 data-orientation="vertical" data-state="closed" class="not-prose flex flex-row items-center font-medium text-fd-foreground"><button type="button" aria-controls="radix-_R_2tcnaanpfsnqbb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_tcnaanpfsnqbb_" class="flex flex-1 items-center gap-2 p-4 text-start focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring" data-radix-collection-item=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right -ms-1 size-4 shrink-0 text-fd-muted-foreground transition-transform duration-200 group-data-[state=open]/accordion:rotate-90"><path d="m9 18 6-6-6-6"></path></svg>Successful Rust Install Message</button></h3><div data-state="closed" id="radix-_R_2tcnaanpfsnqbb_" hidden="" role="region" aria-labelledby="radix-_R_tcnaanpfsnqbb_" data-orientation="vertical" class="overflow-hidden data-[state=closed]:animate-fd-accordion-up data-[state=open]:animate-fd-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div></div><p>Run the following command to reload your PATH environment variable to include
37Cargo&#x27;s bin directory:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
37ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">.</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> &quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">$HOME</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/.cargo/env&quot;</span></span></code></pre></div></div></div></figure><p>To verify that the installation was successful, check the Rust version:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">rustc</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --version</span></span></code></pre></div></div></div></figure><p>You should see output similar to the following:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
37ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span>rustc 1.84.1 (e71f9a9a9 2025-01-27)</span></span></code></pre></div></div></div></figure></div><div class="fd-step"><h3 class="flex scroll-m-28 flex-row items-center gap-2" id="install-the-solana-cli"><a data-card="" href="#install-the-solana-cli" class="peer">Install the Solana CLI</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3><p>The Solana CLI provides all the tools required to build and deploy Solana
38programs.</p><p>Install the Solana CLI tool suite using the official install command:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">sh</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -c</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> &quot;$(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -sSfL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://release.anza.xyz/stable/install)&quot;</span></span></code></pre></div></div></div></figure><p>You can replace <code>stable</code>
38 with the release tag matching the software version of
39your desired release (i.e. <code>v2.0.3</code>), or use one of the three symbolic channel
40names: <code>stable</code>, <code>beta</code>, or <code>edge</code>.</p><p>If it is your first time installing the Solana CLI, you may see the following
41message prompting you to add a <code>PATH</code> environment variable:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span>Close and reopen your terminal to apply the PATH changes or run the following in your existing shell:</span></span>
42<span class="line"><span></span></span>
43<span class="line"><span>export PATH=&quot;/Users/test/.local/share/solana/install/active_release/bin:$PATH&quot;</span></span></code></pre></div></div></div></figure><div dir="ltr" data-orientation="horizontal" class="flex flex-col overflow-hidden rounded-xl border bg-fd-card my-4"><div role="tablist" aria-orientation="horizontal" class="flex flex-row items-end gap-4 overflow-x-auto bg-fd-secondary px-4 text-fd-muted-foreground" tabindex="-1" data-orientation="horizontal" style="outline:none"><button type="button" role="tab" aria-selected="true" aria-controls="radix-_R_12cnaanpfsnqbb_-content-linux" data-state="active" id="radix-_R_12cnaanpfsnqbb_-trigger-linux" class="whitespace-nowrap border-b border-transparent py-2 text-sm font-medium transition-colors hover:text-fd-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=active]:border-fd-primary data-[state=active]:text-fd-primary" tabindex="-1" data-orientation="horizontal" data-radix-collection-item="">Linux</button><button type="button" role="tab" aria-selected="false" aria-controls="radix-_R_12cnaanpfsnqbb_-content-mac" data-state="inactive" id="radix-_R_12cnaanpfsnqbb_-trigger-mac" class="whitespace-nowrap border-b border-transparent py-2 text-sm font-medium transition-colors hover:text-fd-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=active]:border-fd-primary data-[state=active]:text-fd-primary" tabindex="-1" data-orientation="horizontal" data-radix-collection-item="">Mac</button></div><div data-state="active" data-orientation="horizontal" role="tabpanel" aria-labelledby="radix-_R_12cnaanpfsnqbb_-trigger-linux" id="radix-_R_12cnaanpfsnqbb_-content-linux" tabindex="0" class="p-4 prose-no-margin [&amp;&gt;figure:only-child]:-m-4 [&amp;&gt;figure:only-child]:rounded-none [&amp;&gt;figure:only-child]:border-none" style="animation-duration:0s"><p>If you are using a Linux or WSL terminal, you can add the <code>PATH</code> environment
44variable to your shell configuration file by running the command logged from the
45installation or by restarting your terminal.</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
45ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">export</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> PATH</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">$HOME</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/.local/share/solana/install/active_release/bin:</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">$PATH</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">&quot;</span></span></code></pre></div></div></div></figure></div><div data-state="inactive" data-orientation="horizontal" role="tabpanel" aria-labelledby="radix-_R_12cnaanpfsnqbb_-trigger-mac" hidden="" id="radix-_R_12cnaanpfsnqbb_-content-mac" tabindex="0" class="p-4 prose-no-margin [&amp;&gt;figure:only-child]:-m-4 [&amp;&gt;figure:only-child]:rounded-none [&amp;&gt;figure:only-child]:border-none"></div></div><p>To verify that the installation was successful, check the Solana CLI version:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">solana</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --version</span></span></code></pre></div></div></div></figure><p>You should see output similar to the following:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
45ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span>solana-cli 2.0.26 (src:3dccb3e7; feat:607245837, client:Agave)</span></span></code></pre></div></div></div></figure><p>You can view all available versions on the
46<a href="https://github.com/anza-xyz/agave/releases" rel="noreferrer noopener" target="_blank">Agave Github repo</a>.</p><div class="my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info size-5 fill-blue-500 text-fd-card"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg><div class="min-w-0 flex-1"><div class="text-fd-muted-foreground prose-no-margin"><p>Agave is the validator client from <a href="https://www.anza.xyz/" rel="noreferrer noopener" target="_blank">Anza</a>, formerly known
47as Solana Labs validator client.</p></div></div></div><p>To later update the Solana CLI to the latest version, you can use the following
48command:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">agave-install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> update</span></span></code></pre></div></div></div></figure></div><div class="fd-step"><h3 class="flex scroll-m-28 flex-row items-center gap-2" id="install-anchor-cli"><a data-card="" href="#install-anchor-cli" class="peer">Install Anchor CLI</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3><p><a href="https://www.anchor-lang.com/" rel="noreferrer noopener" target="_blank">Anchor</a> is a framework for developing Solana
49programs. The Anchor framework leverages Rust macros to simplify the process of
50writing Solana programs.</p><p>There are two ways to install the Anchor CLI and tooling:</p><ol>
51<li>Anchor Version Manager (AVM) - Recommended installation method</li>
52<li>Without AVM - Install directly from GitHub</li>
53</ol><div dir="ltr" data-orientation="horizontal" class="flex flex-col overflow-hidden rounded-xl border bg-fd-card my-4"><div role="tablist" aria-orientation="horizontal" class="flex flex-row items-end gap-4 overflow-x-auto bg-fd-secondary px-4 text-fd-muted-foreground" tabindex="-1" data-orientation="horizontal" style="outline:none"><button type="button" role="tab" aria-selected="true" aria-controls="radix-_R_ncnaanpfsnqbb_-content-avm" data-state="active" id="radix-_R_ncnaanpfsnqbb_-trigger-avm" class="whitespace-nowrap border-b border-transparent py-2 text-sm font-medium transition-colors hover:text-fd-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=active]:border-fd-primary data-[state=active]:text-fd-primary" tabindex="-1" data-orientation="horizontal" data-radix-collection-item="">AVM</button><button type="button" role="tab" aria-selected="false" aria-controls="radix-_R_ncnaanpfsnqbb_-content-without-avm" data-state="inactive" id="radix-_R_ncnaanpfsnqbb_-trigger-without-avm" class="whitespace-nowrap border-b border-transparent py-2 text-sm font-medium transition-colors hover:text-fd-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=active]:border-fd-primary data-[state=active]:text-fd-primary" tabindex="-1" data-orientation="horizontal" data-radix-collection-item="">Without AVM</button></div><div data-state="active" data-orientation="horizontal" role="tabpanel" aria-labelledby="radix-_R_ncnaanpfsnqbb_-trigger-avm" id="radix-_R_ncnaanpfsnqbb_-content-avm" tabindex="0" class="p-4 prose-no-margin [&amp;&gt;figure:only-child]:-m-4 [&amp;&gt;figure:only-child]:rounded-none [&amp;&gt;figure:only-child]:border-none" style="animation-duration:0s"><p>The Anchor version manager (AVM) allows you to install and manage different
54Anchor versions on your system and easily update Anchor versions in the future.</p><p>Install AVM with the following command:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
54ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cargo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://github.com/otter-sec/anchor</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> avm</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --force</span></span></code></pre></div></div></div></figure><p>Check that AVM was installed successfully:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">avm</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --version</span></span></code></pre></div></div></div></figure><p>Install the latest version of Anchor CLI using AVM:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
54ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">avm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> latest</span></span>
55<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">avm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> use</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> latest</span></span></code></pre></div></div></div></figure><p>Alternatively, you can install a specific version of Anchor CLI by specifying
56the version number:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">avm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 1.2.0</span></span>
57<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">avm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> use</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 1.2.0</span></span></code></pre></div></div></div></figure><div class="my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info size-5 fill-blue-500 text-fd-card"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg><div class="min-w-0 flex-1"><div class="text-fd-muted-foreground prose-no-margin"><p>Don&#x27;t forget to run the <code>avm use</code> command to declare which Anchor CLI version
58should be used on your system.</p><ul>
59<li>If you installed the <code>latest</code> version, run <code>avm use latest</code>.</li>
60<li>If you installed the version <code>1.2.0</code>, run <code>avm use 1.2.0</code>.</li>
61</ul></div></div></div></div><div data-state="inactive" data-orientation="horizontal" role="tabpanel" aria-labelledby="radix-_R_ncnaanpfsnqbb_-trigger-without-avm" hidden="" id="radix-_R_ncnaanpfsnqbb_-content-without-avm" tabindex="0" class="p-4 prose-no-margin [&amp;&gt;figure:only-child]:-m-4 [&amp;&gt;figure:only-child]:rounded-none [&amp;&gt;figure:only-child]:border-none"></div></div><p>To verify that the installation was successful, check the Anchor CLI version:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
61ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">anchor</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --version</span></span></code></pre></div></div></div></figure><p>You should see output similar to the following:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span>anchor-cli 1.2.0</span></span></code></pre></div></div></div></figure><div class="my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-triangle-alert size-5 fill-orange-500 text-fd-card"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path></svg><div class="min-w-0 flex-1"><div class="text-fd-muted-foreground prose-no-margin"><p>When installing the Anchor CLI on Linux or WSL, you may encounter this error:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
61ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span>error: could not exec the linker cc = note: Permission denied (os error 13)</span></span></code></pre></div></div></div></figure><p>If you see this error message, follow these steps:</p><ol>
62<li>Install the dependencies listed in the
63<a href="#install-dependencies">Linux</a> section at the top of
64this page.</li>
65<li>Retry installing the Anchor CLI.</li>
66</ol></div></div></div><h4 class="flex scroll-m-28 flex-row items-center gap-2" id="nodejs-and-yarn"><a data-card="" href="#nodejs-and-yarn" class="peer">Node.js and Yarn</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h4><p>Node.js and Yarn are required for project initialization and when using
67a TypeScript-based test template (<code>mocha</code>, <code>jest</code>). The default test template
68(<code>litesvm</code>) does not run TypeScript tests, so they are not needed for
69day-to-day development once initialization is complete. They are expected to
70become fully optional in a future release.</p><div class="divide-y divide-fd-border overflow-hidden rounded-lg border bg-fd-card" data-orientation="vertical"><div data-state="closed" data-orientation="vertical" class="group/accordion relative scroll-m-20"><h3 data-orientation="vertical" data-state="closed" class="not-prose flex flex-row items-center font-medium text-fd-foreground"><button type="button" aria-controls="radix-_R_bncnaanpfsnqbb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_3ncnaanpfsnqbb_" class="flex flex-1 items-center gap-2 p-4 text-start focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring" data-radix-collection-item=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right -ms-1 size-4 shrink-0 text-fd-muted-foreground transition-transform duration-200 group-data-[state=open]/accordion:rotate-90"><path d="m9 18 6-6-6-6"></path></svg>Node Installation</button></h3><div data-state="closed" id="radix-_R_bncnaanpfsnqbb_" hidden="" role="region" aria-labelledby="radix-_R_3ncnaanpfsnqbb_" data-orientation="vertical" class="overflow-hidden data-[state=closed]:animate-fd-accordion-up data-[state=open]:animate-fd-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="group/accordion relative scroll-m-2
700"><h3 data-orientation="vertical" data-state="closed" class="not-prose flex flex-row items-center font-medium text-fd-foreground"><button type="button" aria-controls="radix-_R_dncnaanpfsnqbb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_5ncnaanpfsnqbb_" class="flex flex-1 items-center gap-2 p-4 text-start focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring" data-radix-collection-item=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right -ms-1 size-4 shrink-0 text-fd-muted-foreground transition-transform duration-200 group-data-[state=open]/accordion:rotate-90"><path d="m9 18 6-6-6-6"></path></svg>Yarn Installation</button></h3><div data-state="closed" id="radix-_R_dncnaanpfsnqbb_" hidden="" role="region" aria-labelledby="radix-_R_5ncnaanpfsnqbb_" data-orientation="vertical" class="overflow-hidden data-[state=closed]:animate-fd-accordion-up data-[state=open]:animate-fd-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div></div><div class="my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-triangle-alert size-5 fill-orange-500 text-fd-card"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path></svg><div class="min-w-0 flex-1"><div class="text-fd-muted-foreground prose-no-margin"><p>When running <code>anchor build</code>, if you encounter the following errors:</p><div class="divide-y divide-fd-border overflow-hidden rounded-lg border bg-fd-card" data-orientation="vertical"><div data-state="closed" data-orientation="vertical" class="group/accordion relative scroll-m-20"><h3 data-orientation="vertical" data-state="closed" class="not-prose flex flex-row items-center font-medium text-fd-foreground"><button type="button" aria-controls="radix-_R_mlrcnaanpfsnqbb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_6lrcnaanpfsnqbb_" class="flex flex-1 items-center gap-2 p-4 text-start focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring" data-radix-collection-item=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right -ms-1 size-4 shrink-0 text-fd-muted-foreground transition-transform duration-200 group-data-[state=open]/accordion:rotate-90"><path d="m9 18 6-6-6-6"></path></svg>error: not a directory</button></h3><div data-state="closed" id="radix-_R_mlrcnaanpfsnqbb_" hidden="" role="region" aria-labelledby="radix-_R_6lrcnaanpfsnqbb_" data-orientation="vertical" class="overflow-hidden data-[state=closed]:animate-fd-accordion-up data-[state=open]:animate-fd-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div><div data-state="closed" data-orientation="vertical" class="group/accordion relative scroll-m-20"><h3 data-orientation="vertical" data-state="closed" class="not-prose flex flex-row items-center font-medium text-fd-foreground"><button type="button" aria-controls="radix-_R_qlrcnaanpfsnqbb_" aria-expanded="false" data-state="closed" data-orientation="vertical" id="radix-_R_alrcnaanpfsnqbb_" class="flex flex-1 items-center gap-2 p-4 text-start focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring" data-radix-collection-item=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right -ms-1 size-4 shrink-0 text-fd-muted-foreground transition-transform duration-200 group-data-[state=open]/accordion:rotate-90"><path d="m9 18 6-6-6-6"></path></svg>lock file version 4 requires `-Znext-lockfile-bump</button></h3><div data-state="closed" id="radix-_R_qlrcnaanpfsnqbb_" hidden="" role="region" aria-labelledby="radix-_R_alrcnaanpfsnqbb_" data-orientation="vertical" class="overflow-hidden data-[state=closed]:animate-fd-accordion-up data-[state=open]:animate-fd-accordion-down" style="--radix-accordion-content-height:var(--radix-collapsible-content-height);--radix-accordion-content-width:var(--radix-collapsible-content-width)"></div></div></div><p>After applying the solution above, attempt to run <code>anchor build</code> again.</p></div></div></div><div class="my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-triangle-alert size-5 fill-orange-500 text-fd-card"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path></svg><div class="min-w-0 flex-1"><div class="text-fd-muted-foreground prose-no-margin"><p>When running <code>anchor test</code> after creating a new Anchor project on Linux or WSL,
71you may encounter the following errors if Node.js or Yarn are not installed:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
71ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span>Permission denied (os error 13)</span></span></code></pre></div></div></div></figure><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span>No such file or directory (os error 2)</span></span></code></pre></div></div></div></figure></div></div></div></div></div>
72<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="solana-cli-basics"><a data-card="" href="#solana-cli-basics" class="peer">Solana CLI Basics</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
73<p>This section will walk through some common Solana CLI commands to get you
74started.</p>
75<div class="fd-steps"><div class="fd-step"><h3 class="flex scroll-m-28 flex-row items-center gap-2" id="solana-config"><a data-card="" href="#solana-config" class="peer">Solana Config</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3><p>To see your current config:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
75ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">solana</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> get</span></span></code></pre></div></div></div></figure><p>You should see output similar to the following:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span>Config File: /Users/test/.config/solana/cli/config.yml</span></span>
76<span class="line"><span>RPC URL: https://api.mainnet-beta.solana.com</span></span>
77<span class="line"><span>WebSocket URL: wss://api.mainnet-beta.solana.com/ (computed)</span></span>
78<span class="line"><span>Keypair Path: /Users/test/.config/solana/id.json</span></span>
79<span class="line"><span>Commitment: confirmed</span></span></code></pre></div></div></div></figure><p>The RPC URL and Websocket URL specify the Solana cluster the CLI will make
80requests to. By default this will be mainnet-beta.</p><p>You can update the Solana CLI cluster using the following commands:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
80ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span>solana config set --url mainnet-beta</span></span>
81<span class="line"><span>solana config set --url devnet</span></span>
82<span class="line"><span>solana config set --url localhost</span></span>
83<span class="line"><span>solana config set --url testnet</span></span></code></pre></div></div></div></figure><p>You can also use the following short options:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span>solana config set -um    # For mainnet-beta</span></span>
84<span class="line"><span>solana config set -ud    # For devnet</span></span>
85<span class="line"><span>solana config set -ul    # For localhost</span></span>
86<span class="line"><span>solana config set -ut    # For testnet</span></span></code></pre></div></div></div></figure><p>The Keypair Path specifies the location of the default wallet used by the Solana
87CLI (to pay transaction fees and deploy programs). The default path is
88<code>~/.config/solana/id.json</code>. The next step walks through how to generate a
89keypair at the default location.</p></div><div class="fd-step"><h3 class="flex scroll-m-28 flex-row items-center gap-2" id="create-wallet"><a data-card="" href="#create-wallet" class="peer">Create Wallet</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3><p>To interact with the Solana network using the Solana CLI, you need a Solana
90wallet funded with SOL.</p><p>To generate a keypair at the default Keypair Path, run the following command:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
90ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">solana-keygen</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> new</span></span></code></pre></div></div></div></figure><p>You should see output similar to the following:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span>Generating a new keypair</span></span>
91<span class="line"><span></span></span>
92<span class="line"><span>For added security, enter a BIP39 passphrase</span></span>
93<span class="line"><span></span></span>
94<span class="line"><span>NOTE! This passphrase improves security of the recovery seed phrase NOT the</span></span>
95<span class="line"><span>keypair file itself, which is stored as insecure plain text</span></span>
96<span class="line"><span></span></span>
97<span class="line"><span>BIP39 Passphrase (empty for none):</span></span>
98<span class="line"><span></span></span>
99<span class="line"><span>Wrote new keypair to /Users/test/.config/solana/id.json</span></span>
100<span class="line"><span>===========================================================================</span></span>
101<span class="line"><span>pubkey: 8dBTPrjnkXyuQK3KDt9wrZBfizEZijmmUQXVHpFbVwGT</span></span>
102<span class="line"><span>===========================================================================</span></span>
103<span class="line"><span>Save this seed phrase and your BIP39 passphrase to recover your new keypair:</span></span>
104<span class="line"><span>cream bleak tortoise ocean nasty game gift forget fancy salon mimic amazing</span></span>
105<span class="line"><span>===========================================================================</span></span></code></pre></div></div></div></figure><div class="my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md"><div class="min-w-0 flex-1"><div class="text-fd-muted-foreground prose-no-margin"><p>If you already have a file system wallet saved at the default location, this
106command will <strong>NOT</strong> override it unless you explicitly force override using the
107<code>--force</code> flag.</p></div></div></div><p>Once a keypair is generated, you can get the address (public key) of the keypair
108with the following command:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
108ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">solana</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> address</span></span></code></pre></div></div></div></figure></div><div class="fd-step"><h3 class="flex scroll-m-28 flex-row items-center gap-2" id="airdrop-sol"><a data-card="" href="#airdrop-sol" class="peer">Airdrop SOL</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3><p>Once you&#x27;ve set up your local wallet, request an airdrop of SOL to fund your
109wallet. You need SOL to pay for transaction fees and to deploy programs.</p><p>Set your cluster to the devnet:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">solana</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> set</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -ud</span></span></code></pre></div></div></div></figure><p>Then request an airdrop of devnet SOL:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
109ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">solana</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> airdrop</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 2</span></span></code></pre></div></div></div></figure><p>To check your wallet&#x27;s SOL balance, run the following command:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">solana</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> balance</span></span></code></pre></div></div></div></figure><div class="my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info size-5 fill-blue-500 text-fd-card"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg><div class="min-w-0 flex-1"><div class="text-fd-muted-foreground prose-no-margin"><p>The <code>solana airdrop</code> command is currently limited to 5 SOL per request on
110devnet. Errors are likely due to rate limits.</p><p>Alternatively, you can get devnet SOL using the
111<a href="https://faucet.solana.com" rel="noreferrer noopener" target="_blank">Solana Web Faucet</a>.</p></div></div></div></div><div class="fd-step"><h3 class="flex scroll-m-28 flex-row items-center gap-2" id="run-local-validator"><a data-card="" href="#run-local-validator" class="peer">Run Local Validator</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3><p>The Solana CLI comes with the
112<a href="https://docs.anza.xyz/cli/examples/test-validator" rel="noreferrer noopener" target="_blank">test validator</a>
113built-in. Running a local validator will allow you to deploy and test your
114programs locally.</p><p>In a separate terminal, run the following command to start a local validator:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
114ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">solana-test-validator</span></span></code></pre></div></div></div></figure><p>Make sure to update the Solana CLI config to localhost before commands.</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 absolute right-2 top-2 z-[2] backdrop-blur-md" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">solana</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> set</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -ul</span></span></code></pre></div></div></div></figure></div></div>
115<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="anchor-cli-basics"><a data-card="" href="#anchor-cli-basics" class="peer">Anchor CLI Basics</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
116<p>This section will walk through some common Anchor CLI commands to get you
117started. For more information on the Anchor CLI, see the
118<a href="https://www.anchor-lang.com/docs" rel="noreferrer noopener" target="_blank">Anchor documentation</a>.</p>
119<div class="fd-steps"><div class="fd-step"><h3 class="flex scroll-m-28 flex-row items-center gap-2" id="initialize-project"><a data-card="" href="#initialize-project" class="peer">Initialize Project</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3><p>To create a new Anchor project, run the following command:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
119ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">anchor</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> init</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &lt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">project-nam</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">e</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&gt;</span></span></code></pre></div></div></div></figure><p>For example, to create a project called <code>my-project</code>, run:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">anchor</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> init</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> my-project</span></span></code></pre></div></div></div></figure><p>This command creates a new directory with the project name and initializes a new
120Anchor project with a modular Rust program structure. By default, tests are
121written in Rust using the <a href="https://github.com/LiteSVM/litesvm" rel="noreferrer noopener" target="_blank">LiteSVM</a> crate.
122Use <code>--test-template</code> to choose a different template (<code>mollusk</code>, <code>mocha</code>, <code>
122jest</code>, etc):</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">anchor</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> init</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> my-project</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --test-template</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> mollusk</span></span></code></pre></div></div></div></figure><div class="my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info size-5 fill-blue-500 text-fd-card"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg><div class="min-w-0 flex-1"><div class="text-fd-muted-foreground prose-no-margin"><p>By default, Anchor uses a <strong>modular structure</strong> with separate files for
123instructions, state, constants, and errors. This organization improves code
124maintainability and is recommended for production code.</p></div></div></div><p>Navigate to the project directory:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24">
124<path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">cd</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &lt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">project-nam</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">e</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&gt;</span></span></code></pre></div></div></div></figure><p>See the Anchor project&#x27;s
125<a href="https://www.anchor-lang.com/docs/quickstart/local#project-file-structure" rel="noreferrer noopener" target="_blank">file structure</a>.</p></div><div class="fd-step"><h3 class="flex scroll-m-28 flex-row items-center gap-2" id="build-program"><a data-card="" href="#build-program" class="peer">Build Program</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3><p>To build your project, run the following command:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">anchor</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> build</span></span></code></pre></div></div></div></figure><p>The compiled program can be found in the <code>/target/deploy</code> directory.</p></div><div class="fd-step"><h3 class="flex scroll-m-28 flex-row items-center gap-2" id="deploy-program"><a data-card="" href="#deploy-program" class="peer">Deploy Program</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3><p>To deploy your project, run the following command:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
125ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">anchor</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> deploy</span></span></code></pre></div></div></div></figure><p>This command will deploy your program to the <code>cluster</code> specified in the
126<a href="https://www.anchor-lang.com/docs/references/anchor-toml" rel="noreferrer noopener" target="_blank"><code>Anchor.toml</code></a> file.</p></div><div class="fd-step"><h3 class="flex scroll-m-28 flex-row items-center gap-2" id="test-program"><a data-card="" href="#test-program" class="peer">Test Program</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3><p>To test your project, run the following command:</p><figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">anchor</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> test</span></span></code></pre></div></div></div></figure><div class="my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info size-5 fill-blue-500 text-fd-card"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg><div class="min-w-0 flex-1"><div class="text-fd-muted-foreground prose-no-margin"><p>This command builds, deploys, and runs the tests for your project.</p><p>When using <code>localnet</code> as the <code>cluster</code> in <code>Anchor.toml</code>, Anchor automatically
127starts a local validator, deploys your program, runs tests, and then stops the
128validator.</p></div></div></div></div></div>
129<h2 class="flex scroll-m-28 flex-row items-center gap-2" id="shell-completions"><a data-card="" href="#shell-completions" class="peer">Shell Completions</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h2>
130<p>Shell completions can be generated for <a href="#bash"><code>bash</code></a>, <a href="#fish"><code>fish</code></a> and
131<a href="#zsh"><code>zsh</code></a>.</p>
132<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="bash"><a data-card="" href="#bash" class="peer">Bash</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
133<figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
133ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">mkdir</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -p</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> $HOME</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/.local/share/bash-completion/completions</span></span>
134<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">anchor</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> completions</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> bash</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> $HOME</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/.local/share/bash-completion/completions/anchor</span></span>
135<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">avm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> completions</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> bash</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> $HOME</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/.local/share/bash-completion/completions/avm</span></span>
136<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">exec</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> bash</span></span></code></pre></div></div></div></figure>
137<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="fish"><a data-card="" href="#fish" class="peer">Fish</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
138<figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
138ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">mkdir</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -p</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> $HOME</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/.config/fish/completions</span></span>
139<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">anchor</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> completions</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> fish</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> $HOME</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/.config/fish/completions/anchor.fish</span></span>
140<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">avm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> completions</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> fish</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> $HOME</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/.config/fish/completions/avm.fish</span></span>
141<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">source</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> $HOME</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/.config/fish/config.fish</span></span></code></pre></div></div></div></figure>
142<h3 class="flex scroll-m-28 flex-row items-center gap-2" id="zsh"><a data-card="" href="#zsh" class="peer">Zsh</a><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100" aria-label="Link to section"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></h3>
143<p>First ensure the following is in your <code>.zshrc</code> file. If using <code>oh-my-zsh</code> this
144step can be skipped.</p>
145<figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes g
145ithub-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">autoload</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -U</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> compinit</span></span>
146<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">compinit</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -i</span></span></code></pre></div></div></div></figure>
147<p>Next run:</p>
148<figure class="not-prose group fd-codeblock relative my-6 overflow-hidden rounded-lg border bg-fd-secondary/50 text-sm shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><div class="flex flex-row items-center gap-2 border-b bg-fd-muted px-4 py-1.5"><div class="text-fd-muted-foreground [&amp;_svg]:size-3.5"><svg viewBox="0 0 24 24"><path d="m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z" fill="currentColor" /></svg></div><figcaption class="flex-1 truncate text-fd-muted-foreground">Terminal</figcaption><button type="button" class="inline-flex items-center justify-center rounded-md p-2 text-sm font-medium duration-100 disabled:pointer-events-none disabled:opacity-50 hover:bg-fd-accent hover:text-fd-accent-foreground transition-opacity group-hover:opacity-100 opacity-0 -me-2" aria-label="Copy Text"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-3.5 transition-transform scale-0"><path d="M20 6 9 17l-5-5"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy absolute size-3.5 transition-transform"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></button></div><div dir="ltr" class="overflow-hidden" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] max-h-[600px]" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><pre class="p-4 focus-visible:outline-none"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">anchor</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> completions</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> zsh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> tee</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> /usr/local/share/zsh/site-functions/_anchor</span></span>
149<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">avm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> completions</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> zsh</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> |</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> tee</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> /usr/local/share/zsh/site-functions/_avm</span></span>
150<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">exec</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> zsh</span></span></code></pre></div></div></div></figure></div><div role="none" class="flex-1"></div><div class="flex flex-row flex-wrap items-center justify-between gap-4 empty:hidden"></div><div class="grid grid-cols-2 gap-4 pb-6"><a class="flex w-full flex-col gap-2 rounded-lg border bg-fd-card p-4 text-sm transition-colors hover:bg-fd-accent/80 hover:text-fd-accent-foreground col-start-2 text-end" href="/docs/quickstart"><div class="inline-flex items-center gap-0.5 text-fd-muted-foreground flex-row-reverse"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right -me-1 size-4 shrink-0 rtl:rotate-180"><path d="m9 18 6-6-6-6"></path></svg><p>Next</p></div><p class="font-medium">Quickstart</p></a></div></article></div><div id="nd-toc" class="sticky top-fd-layout-top h-[var(--fd-toc-height)] pb-2 pt-12 max-xl:hidden" style="--fd-toc-height:calc(100dvh - var(--fd-banner-height) - var(--fd-nav-height))"><div class="flex h-full w-[var(--fd-toc-width)] max-w-full flex-col gap-3 pe-4"><h3 class="-ms-0.5 inline-flex items-center gap-1.5 text-sm text-fd-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-text size-4"><path d="M17 6.1H3"></path><path d="M21 12.1H3"></path><path d="M15.1 18H3"></path></svg>On this page</h3><div dir="ltr" class="overflow-hidden flex flex-col" style="position:relative;--radix-scroll-area-corner-width:0px;--radix-scroll-area-corner-height:0px"><style>[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}</style><div data-radix-scroll-area-viewport="" class="size-full rounded-[inherit] relative min-h-0 text-sm" style="overflow-x:hidden;overflow-y:hidden"><div style="min-width:100%;display:table"><div role="none" class="absolute start-0 mt-[var(--fd-top)] h-[var(--fd-height)] w-px bg-fd-primary transition-all"></div>
150<div class="flex flex-col border-s border-fd-foreground/10"><a data-active="false" href="#quick-installation" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-3.5">Quick Installation</a><a data-active="false" href="#install-dependencies" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-3.5">Install Dependencies</a><a data-active="false" href="#install-rust" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Install Rust</a><a data-active="false" href="#install-the-solana-cli" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Install the Solana CLI</a><a data-active="false" href="#install-anchor-cli" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Install Anchor CLI</a><a data-active="false" href="#solana-cli-basics" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-3.5">Solana CLI Basics</a><a data-active="false" href="#solana-config" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Solana Config</a><a data-active="false" href="#create-wallet" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Create Wallet</a><a data-active="false" href="#airdrop-sol" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Airdrop SOL</a><a data-active="false" href="#run-local-validator" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Run Local Validator</a><a data-active="false" href="#anchor-cli-basics" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-3.5">Anchor CLI Basics</a><a data-active="false" href="#initialize-project" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Initialize Project</a><a data-active="false" href="#build-program" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Build Program</a><a data-active="false" href="#deploy-program" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Deploy Program</a><a data-active="false" href="#test-program" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Test Program</a><a data-active="false" href="#shell-completions" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-3.5">Shell Completions</a><a data-active="false" href="#bash" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Bash</a><a data-active="false" href="#fish" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Fish</a><a data-active="false" href="#zsh" class="prose py-1.5 text-sm text-fd-muted-foreground transition-colors [overflow-wrap:anywhere] first:pt-0 last:pb-0 data-[active=true]:text-fd-primary ps-6">Zsh</a></div></div></div></div><a href="https://github.com/otter-sec/anchor/blob/master/docs/content/docs/installation.mdx" target="_blank" rel="noreferrer noopener" class="pt-2 flex items-center gap-2 text-sm text-fd-muted-foreground hover:text-fd-accent-foreground
150/80"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" width="18" height="18"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg><span>Edit on GitHub</span></a></div></div><!--$--><!--/$--></main><div id="inkeep-shadowradix-_R_1jb_" style="display:contents"></div><span></span>
150<script src="/_next/static/chunks/webpack-8382b99f806c718f.js" id="_R_" async=""></script>
150<script>(self.__next_f=self.__next_f||[]).push([0])</script>
150<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[5614,[\"56\",\"static/chunks/61bc4449-79446bb308e58e54.js\",\"550\",\"static/chunks/4d2379a7-728891ce7380ef14.js\",\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"383\",\"static/chunks/383-a4e61f7c5079fc90.js\",\"177\",\"static/chunks/app/layout-a4bf487c64a201f7.js\"],\"Provider\"]\n3:I[8887,[],\"\"]\n4:I[6251,[],\"\"]\n5:I[855,[\"56\",\"static/chunks/61bc4449-79446bb308e58e54.js\",\"550\",\"static/chunks/4d2379a7-728891ce7380ef14.js\",\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"383\",\"static/chunks/383-a4e61f7c5079fc90.js\",\"177\",\"static/chunks/app/layout-a4bf487c64a201f7.js\"],\"InkeepChatButton\"]\n6:I[3506,[\"56\",\"static/chunks/61bc4449-79446bb308e58e54.js\",\"550\",\"static/chunks/4d2379a7-728891ce7380ef14.js\",\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"383\",\"static/chunks/383-a4e61f7c5079fc90.js\",\"177\",\"static/chunks/app/layout-a4bf487c64a201f7.js\"],\"GoogleAnalytics\"]\n7:I[4409,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"TreeContextProvider\"]\nc:I[5357,[],\"\"]\n:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/ccb73e6320b6ece0.css\",\"style\"]\n:HL[\"/_next/static/css/f0b4f6c31c32f4c0.css\",\"style\"]\n"])</script>
150<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"BfukUQmaPdDQ5rbc7ogGs\",\"p\":\"\",\"c\":[\"\",\"docs\",\"installation\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[[\"slug\",\"installation\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ccb73e6320b6ece0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__className_f367f3\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"body\",null,{\"className\":\"flex flex-col min-h-screen\",\"children\":[[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L5\",null,{}]]}],[\"$\",\"$L6\",null,{\"gaId\":\"G-ZJYNM2WNM0\"}]]}]]}],{\"children\":[\"docs\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L7\",null,{\"tree\":{\"name\":\"docs\",\"children\":[{\"type\":\"separator\",\"name\":\"Getting Started\"},{\"type\":\"page\",\"name\":\"Installation\",\"url\":\"/docs/installation\",\"$ref\":{\"file\":\"installation.mdx\"}},{\"type\":\"folder\",\"name\":\"Quickstart\",\"index\":{\"type\":\"page\",\"name\":\"Quickstart\",\"url\":\"/docs/quickstart\",\"$ref\":{\"file\":\"quickstart/index.mdx\"}},\"children\":[{\"type\":\"page\",\"name\":\"Solana Playground\",\"url\":\"/docs/quickstart/solpg\",\"$ref\":{\"file\":\"quickstart/solpg.mdx\"}},{\"type\":\"page\",\"name\":\"Local Development\",\"url\":\"/docs/quickstart/local\",\"$ref\":{\"file\":\"quickstart/local.mdx\"}}],\"$ref\":{\"metaFile\":\"quickstart/meta.json\"}},{\"type\":\"separator\",\"name\":\"Core Concepts\"},{\"type\":\"folder\",\"name\":\"The Basics\",\"index\":{\"type\":\"page\",\"name\":\"Anchor Framework Basics\",\"url\":\"/docs/basics\",\"$ref\":{\"file\":\"basics/index.mdx\"}},\"children\":[{\"type\":\"page\",\"name\":\"Program Structure\",\"url\":\"/docs/basics/program-structure\",\"$ref\":{\"file\":\"basics/program-structure.mdx\"}},{\"type\":\"page\",\"name\":\"Program IDL File\",\"url\":\"/docs/basics/idl\",\"$ref\":{\"file\":\"basics/idl.mdx\"}},{\"type\":\"page\",\"name\":\"Program Derived Address\",\"url\":\"/docs/basics/pda\",\"$ref\":{\"file\":\"basics/pda.mdx\"}},{\"type\":\"page\",\"name\":\"Cross Program Invocation\",\"url\":\"/docs/basics/cpi\",\"$ref\":{\"file\":\"basics/cpi.mdx\"}}],\"$ref\":{\"metaFile\":\"basics/meta.json\"}},{\"type\":\"folder\",\"name\":\"Client Libraries\",\"index\":{\"type\":\"page\",\"name\":\"Clients\",\"url\":\"/docs/clients\",\"$ref\":{\"file\":\"clients/index.mdx\"}},\"children\":[{\"type\":\"page\",\"name\":\"TypeScript\",\"url\":\"/docs/clients/typescript\",\"$ref\":{\"file\":\"clients/typescript.mdx\"}},{\"type\":\"page\",\"name\":\"Rust\",\"url\":\"/docs/clients/rust\",\"$ref\":{\"file\":\"clients/rust.mdx\"}}],\"$ref\":{\"metaFile\":\"clients/meta.json\"}},{\"type\":\"folder\",\"name\":\"Testing Libraries\",\"index\":{\"type\":\"page\",\"name\":\"Testing\",\"url\":\"/docs/testing\",\"$ref\":{\"file\":\"testing/index.mdx\"}},\"children\":[{\"type\":\"page\",\"name\":\"LiteSVM\",\"url\":\"/docs/testing/litesvm\",\"$ref\":{\"file\":\"testing/litesvm.mdx\"}},{\"type\":\"page\",\"name\":\"Mollusk\",\"url\":\"/docs/testing/mollusk\",\"$ref\":{\"file\":\"testing/mollusk.mdx\"}},{\"type\":\"page\",\"name\":\"Fuzzing\",\"url\":\"/docs/testing/fuzzing\",\"$ref\":{\"file\":\"testing/fuzzing.mdx\"}}],\"$ref\":{\"metaFile\":\"testing/meta.json\"}},{\"type\":\"folder\",\"name\":\"Additional Features\",\"index\":{\"type\":\"page\",\"name\":\"Features\",\"url\":\"/docs/features\",\"$ref\":{\"file\":\"features/index.mdx\"}},\"children\":[{\"type\":\"page\",\"name\":\"Dependency Free Composability\",\"url\":\"/docs/features/declare-program\",\"$ref\":{\"file\":\"features/declare-program.mdx\"}},{\"type\":\"page\",\"name\":\"Custom Errors\",\"url\":\"/docs/features/errors\",\"$ref\":{\"file\":\"features/errors.mdx\"}},{\"type\":\"page\",\"name\":\"Emit Events\",\"url\":\"/docs/features/events\",\"$ref\":{\"file\":\"features/events.mdx\"}},{\"type\":\"page\",\"name\":\"Zero Copy\",\"url\":\"/docs/features/zero-copy\",\"$ref\":{\"file\":\"features/zero-copy.mdx\"}}],\"$ref\":{\"metaFile\":\"features/meta.json\"}},{\"type\":\"page\",\"name\":\"Footguns\",\"url\":\"/docs/footguns\",\"$ref\":{\"file\":\"footguns.mdx\"}},{\"type\":\"separator\",\"name\":\"SPL Tokens\"},{\"type\":\"folder\",\"name\":\"Interacting with Tokens\",\"index\":{\"type\":\"page\",\"name\":\"Token Integration with Anchor\",\"url\":\"/docs/tokens\",\"$ref\":{\"file\":\"tokens/index.mdx\"}},\"children\":[{\"type\":\"folder\",\"name\":\"Basics\",\"index\":{\"type\":\"page\",\"name\":\"SPL Token Basics\",\"url\":\"/docs/tokens/basics\",\"$ref\":{\"file\":\"tokens/basics/index.mdx\"}},\"children\":[{\"type\":\"page\",\"name\":\"Create a Token Mint\",\"url\":\"/docs/tokens/basics/create-mint\",\"$ref\":{\"file\":\"tokens/basics/create-mint.mdx\"}},{\"type\":\"page\",\"name\":\"Create a Token Account\",\"url\":\"/docs/tokens/basics/create-token-account\",\"$ref\":{\"file\":\"tokens/basics/create-token-account.mdx\"}},{\"type\":\"page\",\"name\":\"Mint Tokens\",\"url\":\"/docs/tokens/basics/mint-tokens\",\"$ref\":{\"file\":\"tokens/basics/mint-tokens.mdx\"}},{\"type\":\"page\",\"name\":\"Transfer Tokens\",\"url\":\"/docs/tokens/basics/transfer-tokens\",\"$ref\":{\"file\":\"tokens/basics/transfer-tokens.mdx\"}}],\"$ref\":{\"metaFile\":\"tokens/basics/meta.json\"}},{\"type\":\"page\",\"name\":\"Extensions\",\"url\":\"/docs/tokens/extensions\",\"$ref\":{\"file\":\"tokens/extensions.mdx\"}}],\"$ref\":{\"metaFile\":\"tokens/meta.json\"}},{\"type\":\"separator\",\"name\":\"References\"},{\"type\":\"folder\",\"name\":\"Program Development\",\"index\":{\"type\":\"page\",\"name\":\"Anchor References\",\"url\":\"/docs/references\",\"$ref\":{\"file\":\"references/index.mdx\"}},\"children\":[{\"type\":\"page\",\"name\":\"Account Types\",\"url\":\"/docs/references/account-types\",\"$ref\":{\"file\":\"references/account-types.mdx\"}},{\"type\":\"page\",\"name\":\"Account Constraints\",\"url\":\"/docs/references/account-constraints\",\"$ref\":{\"file\":\"references/account-constraints.mdx\"}},{\"type\":\"page\",\"name\":\"Anchor.toml Configuration\",\"url\":\"/docs/references/anchor-toml\",\"$ref\":{\"file\":\"references/anchor-toml.mdx\"}},{\"type\":\"page\",\"name\":\"Anchor CLI\",\"url\":\"/docs/references/cli\",\"$ref\":{\"file\":\"references/cli.mdx\"}},{\"type\":\"page\",\"name\":\"NO_DNA\",\"url\":\"/docs/references/no-dna\",\"$ref\":{\"file\":\"references/no-dna.mdx\"}},{\"type\":\"page\",\"name\":\"Anchor Version Manager\",\"url\":\"/docs/references/avm\",\"$ref\":{\"file\":\"references/avm.mdx\"}},{\"type\":\"page\",\"name\":\"Account Space\",\"url\":\"/docs/references/space\",\"$ref\":{\"file\":\"references/space.mdx\"}},{\"type\":\"page\",\"name\":\"Rust to JS Type Conversion\",\"url\":\"/docs/references/type-conversion\",\"$ref\":{\"file\":\"references/type-conversion.mdx\"}},{\"type\":\"page\",\"name\":\"Verifiable Builds\",\"url\":\"/docs/references/verifiable-builds\",\"$ref\":{\"file\":\"references/verifiable-builds.mdx\"}},{\"type\":\"page\",\"name\":\"Sealevel Attacks\",\"url\":\"/docs/references/security-exploits\",\"$ref\":{\"file\":\"references/security-exploits.mdx\"}},{\"type\":\"page\",\"name\":\"Example Programs\",\"url\":\"/docs/references/examples\",\"$ref\":{\"file\":\"references/examples.mdx\"}}],\"$ref\":{\"metaFile\":\"references/meta.json\"}},{\"type\":\"folder\",\"name\":\"Anchor Project Updates\",\"children\":[{\"type\":\"folder\",\"name\":\"Release Notes\",\"children\":[{\"type\":\"page\",\"name\":\"1.2.0\",\"url\":\"/docs/updates/release-notes/1-2-0\",\"$ref\":{\"file\":\"updates/release-notes/1-2-0.mdx\"}},{\"type\":\"page\",\"name\":\"1.1.2\",\"url\":\"/docs/updates/release-notes/1-1-2\",\"$ref\":{\"file\":\"updates/release-notes/1-1-2.mdx\"}},{\"type\":\"page\",\"name\":\"1.1.1\",\"url\":\"/docs/updates/release-notes/1-1-1\",\"$ref\":{\"file\":\"updates/release-notes/1-1-1.mdx\"}},{\"type\":\"page\",\"name\":\"1.0.3\",\"url\":\"/docs/updates/release-notes/1-0-3\",\"$ref\":{\"file\":\"updates/release-notes/1-0-3.mdx\"}},{\"type\":\"page\",\"name\":\"1.0.2\",\"url\":\"/docs/updates/release-notes/1-0-2\",\"$ref\":{\"file\":\"updates/release-notes/1-0-2.mdx\"}},{\"type\":\"page\",\"name\":\"1.0.1\",\"url\":\"/docs/updates/release-notes/1-0-1\",\"$ref\":{\"file\":\"updates/release-notes/1-0-1.mdx\"}},{\"type\":\"page\",\"name\":\"1.0.0\",\"url\":\"/docs/updates/release-notes/1-0-0\",\"$ref\":{\"file\":\"updates/release-notes/1-0-0.mdx\"}},{\"type\":\"page\",\"name\":\"0.32.2\",\"url\":\"/docs/updates/release-notes/0-32-2\",\"$ref\":{\"file\":\"updates/release-notes/0-32-2.mdx\"}},{\"type\":\"page\",\"name\":\"0.32.1\",\"url\":\"/docs/updates/release-notes/0-32-1\",\"$ref\":{\"file\":\"updates/release-notes/0-32-1.mdx\"}},{\"type\":\"page\",\"name\":\"0.32.0\",\"url\":\"/docs/updates/release-notes/0-32-0\",\"$ref\":{\"file\":\"updates/release-notes/0-32-0.mdx\"}},{\"type\":\"page\",\"name\":\"0.31.2\",\"url\":\"/docs/updates/release-notes/0-31-2\",\"$ref\":{\"file\":\"updates/release-notes/0-31-2.mdx\"}},{\"type\":\"page\",\"name\":\"0.31.1\",\"url\":\"/docs/updates/release-notes/0-31-1\",\"$ref\":{\"file\":\"updates/release-notes/0-31-1.mdx\"}},{\"type\":\"page\",\"name\":\"0.31.0\",\"url\":\"/docs/updates/release-notes/0-31-0\",\"$ref\":{\"file\":\"updates/release-notes/0-31-0.mdx\"}},{\"type\":\"page\",\"name\":\"0.30.2\",\"url\":\"/docs/updates/release-notes/0-30-2\",\"$ref\":{\"file\":\"updates/release-notes/0-30-2.mdx\"}},{\"type\":\"page\",\"name\":\"0.30.1\",\"url\":\"/docs/updates/release-notes/0-30-1\",\"$ref\":{\"file\":\"updates/release-notes/0-30-1.mdx\"}},{\"type\":\"page\",\"name\":\"0.30.0\",\"url\":\"/docs/updates/release-notes/0-30-0\",\"$ref\":{\"file\":\"updates/release-notes/0-30-0.mdx\"}},{\"type\":\"page\",\"name\":\"0.29.0\",\"url\":\"/docs/updates/release-notes/0-29-0\",\"$ref\":{\"file\":\"updates/release-notes/0-29-0.mdx\"}}],\"$ref\":{\"metaFile\":\"updates/release-notes/meta.json\"}},{\"type\":\"page\",\"name\":\"Changelog\",\"url\":\"/docs/updates/changelog\",\"$ref\":{\"file\":\"updates/changelog.mdx\"}},{\"type\":\"page\",\"name\":\"Contribution Guide\",\"url\":\"/docs/updates/contribution-guide\",\"$ref\":{\"file\":\"updates/contribution-guide.mdx\"}},{\"type\":\"page\",\"name\":\"Backport Workflow\",\"url\":\"/docs/updates/backport-workflow\",\"$ref\":{\"file\":\"updates/backport-workflow.mdx\"}}],\"$ref\":{\"metaFile\":\"updates/meta.json\"}}]},\"children\":\"$L8\"}]]}],{\"children\":[[\"slug\",\"installation\",\"oc\"],\"$L9\",{\"children\":[\"__PAGE__\",\"$La\",{}
150,null,false]},null,false]},null,false]},null,false],\"$Lb\",false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"s\":false,\"S\":true}\n"])</script>
150<script>self.__next_f.push([1,"d:I[5129,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"NavProvider\"]\ne:I[655,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"CollapsibleSidebar\"]\nf:I[655,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"SidebarHeader\"]\n10:I[7454,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"*\"]\n11:I[6131,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"Image\"]\n12:I[655,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-"])</script>
150<script>self.__next_f.push([1,"fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"SidebarCollapseTrigger\"]\n13:I[655,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"SidebarViewport\"]\n14:I[655,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"SidebarItem\"]\n1b:I[2606,[],\"OutletBoundary\"]\n1d:I[3715,[],\"AsyncMetadataOutlet\"]\n1f:I[2606,[],\"ViewportBoundary\"]\n21:I[2606,[],\"MetadataBoundary\"]\n22:\"$Sreact.suspense\"\n15:T403,"])</script>
150<script>self.__next_f.push([1,"M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0 13 13 0 0 0-.617-1.25.08.08 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.1.1 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.08.08 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13 13 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10 10 0 0 0 .372-.292.07.07 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.07.07 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.3 12.3 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.08.08 0 0 0 .084.028 19.8 19.8 0 0 0 6.002-3.03.08.08 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03M8.02 15.33c-1.182 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418"])</script>
150<script>self.__next_f.push([1,"8:[\"$\",\"$Ld\",null,{\"transparentMode\":\"$undefined\",\"children\":[\"$\",\"main\",null,{\"id\":\"nd-docs-layout\",\"className\":\"flex w-full flex-1 flex-row pe-[var(--fd-layout-offset)] [--fd-nav-height:3.5rem] [--fd-tocnav-height:36px] md:[--fd-sidebar-width:268px] xl:[--fd-toc-width:268px] xl:[--fd-tocnav-height:0px]\",\"style\":{\"--fd-layout-offset\":\"max(calc(50vw - var(--fd-layout-width) / 2), 0px)\"},\"children\":[[\"$\",\"$Le\",null,{\"defaultOpenLevel\":1,\"className\":\"md:ps-[var(--fd-layout-offset)] md:[--fd-nav-height:0px]\",\"children\":[[\"$\",\"$Lf\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-row items-center max-md:hidden\",\"children\":[[\"$\",\"$L10\",null,{\"href\":\"/docs\",\"className\":\"inline-flex items-center gap-2.5 py-1 font-medium md:px-2\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2 pl-2\",\"children\":[[\"$\",\"$L11\",null,{\"src\":\"/icons/anchor.png\",\"alt\":\"Logo\",\"width\":24,\"height\"
150:24}],[\"$\",\"span\",null,{\"children\":\"Anchor Docs\"}]]}]}],[\"$undefined\",[\"$\",\"$L12\",null,{\"className\":\"ms-auto text-fd-muted-foreground\"}]]]}],\"$undefined\",null]}],[\"$\",\"$L13\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-4 empty:hidden lg:hidden\",\"children\":[[\"$\",\"$L14\",\"0\",{\"href\":\"https://github.com/otter-sec/anchor\",\"icon\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"width\":\"1em\",\"height\":\"1em\",\"children\":[[\"$\",\"title\",null,{\"children\":\"GitHub\"}],[\"$\",\"path\",null,{\"d\":\"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"}]]}],\"external\":\"$undefined\",\"children\":\"Github\"}],[\"$\",\"$L14\",\"1\",{\"href\":\"https://discord.com/invite/NHHGSXAnXk\",\"icon\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"width\":\"1em\",\"height\":\"1em\",\"children\":[[\"$\",\"title\",null,{\"children\":\"Discord\"}],[\"$\",\"path\",null,{\"d\":\"$15\"}]]}],\"external\":\"$undefined\",\"children\":\"Discord\"}],[\"$\",\"$L14\",\"2\",{\"href\":\"https://solana.stackexchange.com/\",\"icon\":[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"width\":\"1em\",\"height\":\"1em\",\"children\":[[\"$\",\"title\",null,{\"children\":\"Stack Exchange\"}],[\"$\",\"path\",null,{\"d\":\"M21.728 15.577v1.036c0 1.754-1.395 3.177-3.1 3.177h-.904L13.645 24v-4.21H5.371c-1.704 0-3.099-1.423-3.099-3.181v-1.032zM2.275 10.463h19.323v3.979H2.275zm0-5.141h19.323v3.979H2.275zM18.575 0c1.681 0 3.023 1.42 3.023 3.178v1.034H2.275V3.178C2.275 1.422 3.67 0 5.375 0z\"}]]}],\"external\":\"$undefined\",\"children\":\"Stack Exchange\"}]]}],\"$L16\"]}],\"$L17\"]}],\"$L18\",\"$L19\"]}]}]\n"])</script>
150<script>self.__next_f.push([1,"9:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\na:[\"$\",\"$1\",\"c\",{\"children\":[\"$L1a\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/f0b4f6c31c32f4c0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L1b\",null,{\"children\":[\"$L1c\",[\"$\",\"$L1d\",null,{\"promise\":\"$@1e\"}]]}]]}]\nb:[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L1f\",null,{\"children\":\"$L20\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L21\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$22\",null,{\"fallback\":null,\"children\":\"$L23\"}]}]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"24:I[655,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"SidebarPageTree\"]\n25:I[655,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"SidebarFooter\"]\n26:I[588,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"ThemeToggle\"]\n27:I[1855,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"Navbar\"]\n28:I[7471,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"LargeSearchToggle\"]\n29:I[5129,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js"])</script>
150<script>self.__next_f.push([1,"\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"Title\"]\n2a:I[9477,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"BaseLinkItem\"]\n2b:I[7471,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"SearchToggle\"]\n2c:I[1855,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"NavbarSidebarTrigger\"]\n2d:I[2199,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"499\",\"static/chunks/app/docs/layout-d7620d5d495d28ad.js\"],\"StylesProvider\"]\n16:[\"$\",\"$L24\",null,{\"components\":\"$undefined\"}]\n17:[\"$\",\"$L25\",null,{\"className\":\"md:hidden\",\"children\":[[\"$\",\"$L26\",null,{\"className\":\"w-fit md:hidden\"}],\"$undefined\"]}]\n"])</script>
150<script>self.__next_f.push([1,"18:[\"$\",\"$L27\",null,{\"children\":[[\"$\",\"$L12\",null,{\"className\":\"-ms-1.5 text-fd-muted-foreground data-[collapsed=false]:hidden max-md:hidden\"}],[\"$\",\"$L28\",null,{\"hideIfDisabled\":true,\"className\":\"w-full max-w-[240px] rounded-lg max-md:hidden\"}],[\"$\",\"$L29\",null,{\"url\":\"/docs\",\"title\":\"$8:props:children:props:children:0:props:children:0:props:children:0:props:children:0:props:children\",\"className\":\"md:hidden\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-1 flex-row items-center gap-6 px-2\",\"children\":[[[\"$\",\"$L2a\",\"0\",{\"item\":{\"icon\":\"$8:props:children:props:children:0:props:children:1:props:children:0:props:children:0:props:icon\",\"text\":\"Github\",\"url\":\"https://github.com/otter-sec/anchor\",\"active\":\"none\"},\"className\":\"text-sm text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground max-lg:hidden\",\"children\":\"Github\"}],[\"$\",\"$L2a\",\"1\",{\"item\":{\"icon\":\"$8:props:children:props:children:0:props:children:1:props:children:0:props:children:1:props:icon\",\"text\":\"Discord\",\"url\":\"https://discord.com/invite/NHHGSXAnXk\",\"active\":\"none\"},\"className\":\"text-sm text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground max-lg:hidden\",\"children\":\"Discord\"}],[\"$\",\"$L2a\",\"2\",{\"item\":{\"icon\":\"$8:props:children:props:children:0:props:children:1:props:children:0:props:children:2:props:icon\",\"text\":\"Stack Exchange\",\"url\":\"https://solana.stackexchange.com/\",\"active\":\"none\"},\"className\":\"text-sm text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground max-lg:hidden\",\"children\":\"Stack Exchange\"}]],\"$undefined\"]}],[\"$\",\"$L2b\",null,{\"hideIfDisabled\":true,\"className\":\"md:hidden\"}],[\"$\",\"$L2c\",null,{\"className\":\"-me-1.5 md:hidden\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-row items-center empty:hidden max-lg:hidden\",\"children\":[]}],null,[\"$\",\"$L26\",null,{\"className\":\"max-md:hidden\",\"mode\":\"light-dark-system\"}]]}]\n"])</script>
150<script>self.__next_f.push([1,"19:[\"$\",\"$L2d\",null,{\"tocNav\":\"xl:hidden\",\"toc\":\"max-xl:hidden\",\"page\":\"mt-[var(--fd-nav-height)]\",\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]\n"])</script>
150<script>self.__next_f.push([1,"2e:I[7868,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"AnchorProvider\"]\n2f:I[6970,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"PageBody\"]\n30:I[6970,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"TocNav\"]\n31:I[8266,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"TocPopover\"]\n32:I[8266,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/"])</script>
150<script>self.__next_f.push([1,"app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"TocPopoverTrigger\"]\n33:I[8266,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"TocPopoverContent\"]\n34:I[8266,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"TOCItems\"]\n35:I[6970,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"PageArticle\"]\n36:I[6970,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"Breadcrumb\"]\n37:I[2023,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177"])</script>
150<script>self.__next_f.push([1,"470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"Pre\"]\n"])</script>
150<script>self.__next_f.push([1,"1a:[\"$\",\"$L2e\",null,{\"toc\":[{\"depth\":2,\"url\":\"#quick-installation\",\"title\":\"Quick Installation\"},{\"depth\":2,\"url\":\"#install-dependencies\",\"title\":\"Install Dependencies\"},{\"depth\":3,\"url\":\"#install-rust\",\"title\":\"Install Rust\"},{\"depth\":3,\"url\":\"#install-the-solana-cli\",\"title\":\"Install the Solana CLI\"},{\"depth\":3,\"url\":\"#install-anchor-cli\",\"title\":\"Install Anchor CLI\"},{\"depth\":2,\"url\":\"#solana-cli-basics\",\"title\":\"Solana CLI Basics\"},{\"depth\":3,\"url\":\"#solana-config\",\"title\":\"Solana Config\"},{\"depth\":3,\"url\":\"#create-wallet\",\"title\":\"Create Wallet\"},{\"depth\":3,\"url\":\"#airdrop-sol\",\"title\":\"Airdrop SOL\"},{\"depth\":3,\"url\":\"#run-local-validator\",\"title\":\"Run Local Validator\"},{\"depth\":2,\"url\":\"#anchor-cli-basics\",\"title\":\"Anchor CLI Basics\"},{\"depth\":3,\"url\":\"#initialize-project\",\"title\":\"Initialize Project\"},{\"depth\":3,\"url\":\"#build-program\",\"title\":\"Build Program\"},{\"depth\":3,\"url\":\"#deploy-program\",\"title\":\"Deploy Program\"},{\"depth\":3,\"url\":\"#test-program\",\"title\":\"Test Program\"},{\"depth\":2,\"url\":\"#shell-completions\",\"title\":\"Shell Completions\"},{\"depth\":3,\"url\":\"#bash\",\"title\":\"Bash\"},{\"depth\":3,\"url\":\"#fish\",\"title\":\"Fish\"},{\"depth\":3,\"url\":\"#zsh\",\"title\":\"Zsh\"}],\"single\":\"$undefined\",\"children\":[[\"$\",\"$L2f\",null,{\"className\":\"\",\"style\":{\"--fd-tocnav-height\":\"$undefined\"},\"children\":[[\"$\",\"$L30\",null,{\"children\":[\"$\",\"$L31\",null,{\"children\":[[\"$\",\"$L32\",null,{\"className\":\"size-full\",\"items\":\"$1a:props:toc\"}],[\"$\",\"$L33\",null,{\"children\":[\"$undefined\",[\"$\",\"$L34\",null,{\"items\":\"$1a:props:toc\",\"isMenu\":true}],\"$undefined\"]}]]}]}],[\"$\",\"$L35\",null,{\"className\":\"max-w-[860px]\",\"children\":[[\"$\",\"$L36\",null,{\"includePage\":\"$undefined\"}],[[\"$\",\"h1\",null,{\"ref\":\"$undefined\",\"children\":\"Installation\",\"className\":\"text-3xl font-bold\"}],[\"$\",\"p\",null,{\"ref\":\"$undefined\",\"children\":\"Learn how to install Rust, the Solana CLI, and Anchor Framework on Windows (WSL), Linux, or Mac.\",\"className\":\"mb-8 text-lg text-fd-muted-foreground\"}],[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"children\":[[[\"$\",\"p\",null,{\"children\":\"This section covers the steps to set up your local environment for Solana\\ndevelopment.\"}],\"\\n\",[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"quick-installation\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#quick-installation\",\"className\":\"peer\",\"children\":\"Quick Installation\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],\"\\n\",[\"$\",\"p\",null,{\"children\":\"On Mac and Linux, run this single command to install all dependencies.\"}],\"\\n\",[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\"
150:\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"curl\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --proto\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" '=https'\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --tlsv1.2\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -sSfL\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" https://solana-install.solana.workers.dev\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\" |\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\" bash\"}]]}]}]}],\"\\n\",\"$L38\",\"\\n\",\"$L39\",\"\\n\",\"$L3a\",\"\\n\",\"$L3b\",\"\\n\",\"$L3c\",\"\\n\",\"$L3d\",\"\\n\",\"$L3e\",\"\\n\",\"$L3f\",\"\\n\",\"$L40\",\"\\n\",\"$L41\",\"\\n\",\"$L42\",\"\\n\",\"$L43\",\"\\n\",\"$L44\",\"\\n\",\"$L45\",\"\\n\",\"$L46\",\"\\n\",\"$L47\",\"\\n\",\"$L48\",\"\\n\",\"$L49\",\"\\n\",\"$L4a\",\"\\n\",\"$L4b\",\"\\n\",\"$L4c\",\"\\n\",\"$L4d\",\"\\n\",\"$L4e\",\"\\n\",\"$L4f\",\"\\n\",\"$L50\",\"\\n\",\"$L51\"],null],\"className\":\"prose\"}]],\"$L52\",\"$L53\",\"$L54\"]}]]}],\"$L55\"]}]\n"])</script>
150<script>self.__next_f.push([1,"56:I[6935,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"Accordions\"]\n57:I[6935,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"Accordion\"]\n58:I[6389,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"ImageZoom\"]\n86:I[6970,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"Footer\"]\n87:I[8266,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/"])</script>
150<script>self.__next_f.push([1,"docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"Toc\"]\n88:I[2373,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"I18nLabel\"]\n"])</script>
150<script>self.__next_f.push([1,"38:[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-triangle-alert size-5 fill-orange-500 text-fd-card\",\"children\":[[\"$\",\"path\",\"wmoenq\",{\"d\":\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\"}],[\"$\",\"path\",\"juzpu7\",{\"d\":\"M12 9v4\"}],[\"$\",\"path\",\"p32p05\",{\"d\":\"M12 17h.01\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"text-fd-muted-foreground prose-no-margin\",\"children\":[\"$\",\"p\",null,{\"children\":[\"Windows Users: You must first install WSL (see \",[\"$\",\"$L10\",null,{\"ref\":\"$undefined\",\"href\":\"#install-dependencies\",\"prefetch\":\"$undefined\",\"replace\":\"$undefined\",\"children\":\"Install\\nDependencies\"}],\"). Then run the command above in the\\nUbuntu (Linux) terminal.\"]}]}]]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"39:[\"$\",\"p\",null,{\"children\":\"After installation, you should see output similar to the following:\"}]\n"])</script>
150<script>self.__next_f.push([1,"3a:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Installed Versions:\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Rust: rustc 1.85.0 (4d91de4e4 2025-02-17)\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Solana CLI: solana-cli 4.1.2 (src:182084b8; feat:c763ae0a, client:Agave)\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Anchor CLI: anchor-cli 1.2.0\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Node.js: v23.9.0\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Yarn: 1.22.1\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Installation complete. Please restart your terminal to apply all changes.\"}]}]]}]}]\n"])</script>
150<script>self.__next_f.push([1,"3b:[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-info size-5 fill-blue-500 text-fd-card\",\"children\":[[\"$\",\"circle\",\"1mglay\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"$\",\"path\",\"1dtifu\",{\"d\":\"M12 16v-4\"}],[\"$\",\"path\",\"e9boi3\",{\"d\":\"M12 8h.01\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"text-fd-muted-foreground prose-no-margin\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"If the quick installation command above doesn't work, please refer to the\\n\",[\"$\",\"$L10\",null,{\"ref\":\"$undefined\",\"href\":\"#install-dependencies\",\"prefetch\":\"$undefined\",\"replace\":\"$undefined\",\"children\":\"Install Dependencies\"}],\" section below for instructions to\\ninstall each dependency individually.\"]}],[\"$\",\"p\",null,{\"children\":[\"If the quick install command runs successfully, skip to the\\n\",[\"$\",\"$L10\",null,{\"ref\":\"$undefined\",\"href\":\"#solana-cli-basics\",\"prefetch\":\"$undefined\",\"replace\":\"$undefined\",\"children\":\"Solana CLI Basics\"}],\" and\\n\",[\"$\",\"$L10\",null,{\"ref\":\"$undefined\",\"href\":\"#anchor-cli-basics\",\"prefetch\":\"$undefined\",\"replace\":\"$undefined\",\"children\":\"Anchor CLI Basics\"}],\" sections below.\"]}]]}]]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"3c:[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"install-dependencies\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#install-dependencies\",\"className\":\"peer\",\"children\":\"Install Dependencies\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"3d:[\"$\",\"p\",null,{\"children\":\"The instructions below will guide you through installing each dependency\\nindividually.\"}]\n3e:[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Windows users must first install WSL (Windows subsystem for Linux) and then\\ninstall the dependencies specified in the Linux section below.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Linux users should first install the dependencies specified in the Linux\\nsection below.\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Mac users should start with the Rust installation instructions below.\"}],\"\\n\"]}]\n"])</script>
150<script>self.__next_f.push([1,"3f:[\"$\",\"$L56\",null,{\"children\":[[\"$\",\"$L57\",null,{\"title\":\"Windows Subsystem for Linux (WSL)\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"To develop Solana programs on Windows \",[\"$\",\"strong\",null,{\"children\":[\"you must use\\n\",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://learn.microsoft.com/en-us/windows/wsl/install\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"WSL\"}]]}],\" (Windows\\nsubsystem for Linux). All additional dependencies must be installed through the\\nLinux terminal.\"]}],[\"$\",\"p\",null,{\"children\":\"Once WSL is installed, install the dependencies specified in the Linux section\\nbelow before proceeding to install Rust, Solana CLI, and Anchor CLI.\"}],[\"$\",\"p\",null,{\"children\":\"To install WSL, run the following command in Windows PowerShell:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"wsl\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --install\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":\"The install process will prompt you to create a default user account.\"}],[\"$\",\"p\",null,{\"children\":[\"$\",\"$L58\",null,{\"alt\":\"WSL Install\",\"placeholder\":\"blur\",\"src\":{\"src\":\"/_next/static/media/wsl-install.a4d7442d.png\",\"height\":818,\"width\":1371,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAIVBMVEUQEBEGBQMlKS5WXGAdHRsWHSoICQ0wNTtkaW8UKj5FTFYJz2SmAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAKUlEQVR4nBXGyREAIAwDsbXJBf0XzEQvMWe9wZQkmXYA1Tg2MjczofwBDAgAfzfBau4AAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":5}}]}],[\"$\",\"p\",null,{\"children\":\"By default, WSL installs Ubuntu. You can open a Linux terminal by searching\\n\\\"Ubuntu\\\" in the Search bar.\"}],[\"$\",\"p\",null,{\"children\":[\"$\",\"$L58\",null,{\"alt\":\"WSL Ubuntu\",\"placeholder\":\"blur\",\"src\":{\"src\":\"/_next/static/media/wsl-ubuntu-search.0677e81f.png\",\"height\":1175,\"width\":1248,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAOVBMVEXb5/fS4fPm6vL+/v/p7PXw8fbj6/vh5vDz9vr4/P7v9fyrzvL23NXK2eu7zenH0ea5xtulvOqhsdyCndhCAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAPUlEQVR4nCXGSRIAIQgEsEZAFvf5/2OnSnMKBoFAZpieGb0HmqG6ut8UjcR5EXwGU4+CJlWYWXBo7T3H+gE82QHVJVhuFAAAAABJRU5ErkJggg==\",\"blurWidth\":8,\"blurHeight\":8}}]}],[\"$\",\"p\",null,{\"children\":[\"If your Ubuntu terminal looks like the image below, you may encounter an issue\\nwhere \",[\"$\",\"code\",null,{\"children\":\"ctrl + v\"}],\" (paste keyboard shortcut) doesn't work in the terminal.\"]}],[\"$\",\"p\",null,{\"children\":[\"$\",\"$L58\",null,{\"alt\":\"Ubuntu Terminal\",\"placeholder\":\"blur\",\"src\":{\"src\":\"/_next/static/media/wsl-ubuntu-terminal-1.c3820256.png\",\"height\":804,\"width\":1406,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAGFBMVEUNDQ4DAgELEB1gZmpOWWMmME45Rl+EkJo9BUnCAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAI0lEQVR4nCXGsQEAIADCMCio/3/sQKYoSds+eaJx5OUKQHA+B0cASJg2oG8AAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":5}}]}],[\"$\",\"p\",null,{\"children\":\"If you encounter this issue, open Windows Terminal by searching for \\\"Terminal\\\"\\nin the Search bar.\"}],[\"$\",\"p\",null,{\"children\":[\"$\",\"$L58\",null,{\"alt\":\"Windows Terminal\",\"placeholder\":\"blur\",\"src\":{\"src\":\"/_next/static/media/wsl-windows-terminal.f616b3c3.png\",\"height\"
150:1193,\"width\":1271,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAALVBMVEXb5PL+/v/L3/Tg5/bS3e3n7Pbx9PvK1Oj19/zs7fPH1u6/zeWtvuK1w9jOz9LawNPxAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAOElEQVR4nBXGyRHAIAwAsTW+MUn/5TLoJdZjnlhE1S+wVb36xfAuURK8QwYDj5BDoi0lh73mm0y7Kq0BTIwsxGsAAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":8}}]}],\"$L59\",\"$L5a\",\"$L5b\",\"$L5c\",\"$L5d\",\"$L5e\",\"$L5f\",\"$L60\",\"$L61\"]}],\"$L62\"]}]\n"])</script>
150<script>self.__next_f.push([1,"40:[\"$\",\"div\",null,{\"className\":\"fd-steps\",\"children\":[[\"$\",\"div\",null,{\"className\":\"fd-step\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"install-rust\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#install-rust\",\"className\":\"peer\",\"children\":\"Install Rust\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"children\":[\"Solana programs are written in the\\n\",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://www.rust-lang.org/\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"Rust programming language\"}],\".\"]}],[\"$\",\"p\",null,{\"children\":[\"The recommended installation method for Rust is\\n\",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://www.rust-lang.org/tools/install\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"rustup\"}],\".\"]}],[\"$\",\"p\",null,{\"children\":\"Run the following command to install Rust:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"curl\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --proto\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" '=https'\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --tlsv1.2\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -sSf\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" https://sh.rustup.rs\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\" |\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\" sh\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -s\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -y\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":\"You should see the following message after the installation completes:\"}],[\"$\",\"$L56\",null,{\"children\":[\"$\",\"$L57\",null,{\"title\":\"Successful Rust Install Message\",\"children\":[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\"
150:\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":\"$L63\"}],\"\\n\",\"$L64\",\"\\n\",\"$L65\",\"\\n\",\"$L66\",\"\\n\",\"$L67\",\"\\n\",\"$L68\",\"\\n\",\"$L69\",\"\\n\",\"$L6a\",\"\\n\",\"$L6b\",\"\\n\",\"$L6c\",\"\\n\",\"$L6d\",\"\\n\",\"$L6e\"]}]}]}]}],\"$L6f\",\"$L70\",\"$L71\",\"$L72\",\"$L73\",\"$L74\"]}],\"$L75\",\"$L76\"]}]\n"])</script>
150<script>self.__next_f.push([1,"41:[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"solana-cli-basics\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#solana-cli-basics\",\"className\":\"peer\",\"children\":\"Solana CLI Basics\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"42:[\"$\",\"p\",null,{\"children\":\"This section will walk through some common Solana CLI commands to get you\\nstarted.\"}]\n"])</script>
150<script>self.__next_f.push([1,"43:[\"$\",\"div\",null,{\"className\":\"fd-steps\",\"children\":[[\"$\",\"div\",null,{\"className\":\"fd-step\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"solana-config\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#solana-config\",\"className\":\"peer\",\"children\":\"Solana Config\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"children\":\"To see your current config:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"solana\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" config\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" get\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":\"You should see output similar to the following:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Config File: /Users/test/.config/solana/cli/config.yml\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"RPC URL: https://api.mainnet-beta.solana.com\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"WebSocket URL: wss://api.mainnet-beta.solana.com/ (computed)\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Keypair Path: /Users/test/.config/solana/id.json\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Commitment: confirmed\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":\"The RPC URL and Websocket URL specify the Solana cluster the CLI will make\\nrequests to. By default this will be mainnet-beta.\"}],[\"$\",\"p\",null,{\"children\":\"You can update the Solana CLI cluster using the following commands:\"}
150],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":\"$L77\"}],\"$L78\",\"$L79\",\"$L7a\"]}],\"$L7b\",\"$L7c\",\"$L7d\"]}]\n"])</script>
150<script>self.__next_f.push([1,"44:[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"anchor-cli-basics\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#anchor-cli-basics\",\"className\":\"peer\",\"children\":\"Anchor CLI Basics\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"45:[\"$\",\"p\",null,{\"children\":[\"This section will walk through some common Anchor CLI commands to get you\\nstarted. For more information on the Anchor CLI, see the\\n\",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://www.anchor-lang.com/docs\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"Anchor documentation\"}],\".\"]}]\n"])</script>
150<script>self.__next_f.push([1,"46:[\"$\",\"div\",null,{\"className\":\"fd-steps\",\"children\":[[\"$\",\"div\",null,{\"className\":\"fd-step\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"initialize-project\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#initialize-project\",\"className\":\"peer\",\"children\":\"Initialize Project\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"children\":\"To create a new Anchor project, run the following command:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"anchor\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" init\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\" \u003c\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"project-nam\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"e\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\"\u003e\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":[\"For example, to create a project called \",[\"$\",\"code\",null,{\"children\":\"my-project\"}],\", run:\"]}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"anchor\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" init\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" my-project\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":[\"This command creates a new directory with the project name and initializes a new\\nAnc
150hor project with a modular Rust program structure. By default, tests are\\nwritten in Rust using the \",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://github.com/LiteSVM/litesvm\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"LiteSVM\"}],\" crate.\\nUse \",[\"$\",\"code\",null,{\"children\":\"--test-template\"}],\" to choose a different template (\",[\"$\",\"code\",null,{\"children\":\"mollusk\"}],\", \",[\"$\",\"code\",null,{\"children\":\"mocha\"}],\", \",[\"$\",\"code\",null,{\"children\":\"jest\"}],\", etc):\"]}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":\"$L7e\"}],\"$L7f\",\"$L80\",\"$L81\",\"$L82\"]}],\"$L83\",\"$L84\",\"$L85\"]}]\n"])</script>
150<script>self.__next_f.push([1,"47:[\"$\",\"h2\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"shell-completions\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#shell-completions\",\"className\":\"peer\",\"children\":\"Shell Completions\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"48:[\"$\",\"p\",null,{\"children\":[\"Shell completions can be generated for \",[\"$\",\"$L10\",null,{\"ref\":\"$undefined\",\"href\":\"#bash\",\"prefetch\":\"$undefined\",\"replace\":\"$undefined\",\"children\":[\"$\",\"code\",null,{\"children\":\"bash\"}]}],\", \",[\"$\",\"$L10\",null,{\"ref\":\"$undefined\",\"href\":\"#fish\",\"prefetch\":\"$undefined\",\"replace\":\"$undefined\",\"children\":[\"$\",\"code\",null,{\"children\":\"fish\"}]}],\" and\\n\",[\"$\",\"$L10\",null,{\"ref\":\"$undefined\",\"href\":\"#zsh\",\"prefetch\":\"$undefined\",\"replace\":\"$undefined\",\"children\":[\"$\",\"code\",null,{\"children\":\"zsh\"}]}],\".\"]}]\n"])</script>
150<script>self.__next_f.push([1,"49:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"bash\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#bash\",\"className\":\"peer\",\"children\":\"Bash\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"4a:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"mkdir\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -p\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" $HOME\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"/.local/share/bash-completion/completions\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"anchor\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" completions\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" bash\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\" \u003e\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" $HOME\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"/.local/share/bash-completion/completions/anchor\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"avm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" completions\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" bash\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\" \u003e\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" $HOME\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"/.local/share/bash-completion/completions/avm\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"exec\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" bash\"}]]}]]}]}]\n"])</script>
150<script>self.__next_f.push([1,"4b:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"fish\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#fish\",\"className\":\"peer\",\"children\":\"Fish\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"4c:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"mkdir\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -p\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" $HOME\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"/.config/fish/completions\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"anchor\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" completions\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" fish\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\" \u003e\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" $HOME\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"/.config/fish/completions/anchor.fish\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"avm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" completions\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" fish\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\" \u003e\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" $HOME\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"/.config/fish/completions/avm.fish\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"source\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" $HOME\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"/.config/fish/config.fish\"}]]}]]}]}]\n"])</script>
150<script>self.__next_f.push([1,"4d:[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"zsh\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#zsh\",\"className\":\"peer\",\"children\":\"Zsh\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"4e:[\"$\",\"p\",null,{\"children\":[\"First ensure the following is in your \",[\"$\",\"code\",null,{\"children\":\".zshrc\"}],\" file. If using \",[\"$\",\"code\",null,{\"children\":\"oh-my-zsh\"}],\" this\\nstep can be skipped.\"]}]\n"])</script>
150<script>self.__next_f.push([1,"4f:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"autoload\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -U\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" compinit\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"compinit\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -i\"}]]}]]}]}]\n"])</script>
150<script>self.__next_f.push([1,"50:[\"$\",\"p\",null,{\"children\":\"Next run:\"}]\n"])</script>
150<script>self.__next_f.push([1,"51:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"anchor\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" completions\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" zsh\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\" |\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\" sudo\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" tee\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" /usr/local/share/zsh/site-functions/_anchor\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"avm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" completions\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" zsh\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\" |\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\" sudo\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" tee\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" /usr/local/share/zsh/site-functions/_avm\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"exec\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" zsh\"}]]}]]}]}]\n"])</script>
150<script>self.__next_f.push([1,"52:[\"$\",\"div\",null,{\"role\":\"none\",\"className\":\"flex-1\"}]\n53:[\"$\",\"div\",null,{\"className\":\"flex flex-row flex-wrap items-center justify-between gap-4 empty:hidden\",\"children\":[null,null]}]\n54:[\"$\",\"$L86\",null,{\"items\":\"$undefined\"}]\n"])</script>
150<script>self.__next_f.push([1,"55:[\"$\",\"$L87\",null,{\"children\":[\"$undefined\",[\"$\",\"h3\",null,{\"className\":\"-ms-0.5 inline-flex items-center gap-1.5 text-sm text-fd-muted-foreground\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-text size-4\",\"children\":[[\"$\",\"path\",\"wptmhv\",{\"d\":\"M17 6.1H3\"}],[\"$\",\"path\",\"1j38uz\",{\"d\":\"M21 12.1H3\"}],[\"$\",\"path\",\"1nb16a\",{\"d\":\"M15.1 18H3\"}],\"$undefined\"]}],[\"$\",\"$L88\",null,{\"label\":\"toc\"}]]}],[\"$\",\"$L34\",null,{\"items\":\"$1a:props:toc\"}],[\"$\",\"a\",null,{\"href\":\"https://github.com/otter-sec/anchor/blob/master/docs/content/docs/installation.mdx\",\"target\":\"_blank\",\"rel\":\"noreferrer noopener\",\"className\":\"pt-2 flex items-center gap-2 text-sm text-fd-muted-foreground hover:text-fd-accent-foreground/80\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"currentColor\",\"viewBox\":\"0 0 24 24\",\"width\":\"18\",\"height\":\"18\",\"children\":[\"$8:props:children:props:children:0:props:children:1:props:children:0:props:children:0:props:icon:props:children:0\",\"$8:props:children:props:children:0:props:children:1:props:children:0:props:children:0:props:icon:props:children:1\"]}],[\"$\",\"span\",null,{\"children\":\"Edit on GitHub\"}]]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"93:I[6877,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"Tabs\"]\n94:I[6877,[\"236\",\"static/chunks/236-6de31ac5479d9618.js\",\"793\",\"static/chunks/793-dfdc22f1387586ec.js\",\"939\",\"static/chunks/939-fa5e6a9da3abbb37.js\",\"454\",\"static/chunks/454-41d8c2c4df2b85ee.js\",\"508\",\"static/chunks/508-5c0121507e09ced4.js\",\"197\",\"static/chunks/197-177470f58c8923e6.js\",\"760\",\"static/chunks/760-05b86665263913f4.js\",\"870\",\"static/chunks/app/docs/%5B%5B...slug%5D%5D/page-47129cc8520d960a.js\"],\"Tab\"]\n59:[\"$\",\"p\",null,{\"children\":[\"Next, close the Windows Terminal and reopen a Linux terminal by searching for\\nUbuntu again. The terminal should now look like the image below, where\\n\",[\"$\",\"code\",null,{\"children\":\"ctrl + v\"}],\" (paste keyboard shortcut) works.\"]}]\n5a:[\"$\",\"p\",null,{\"children\":[\"$\",\"$L58\",null,{\"alt\":\"Ubuntu Terminal\",\"placeholder\":\"blur\",\"src\":{\"src\":\"/_next/static/media/wsl-ubuntu-terminal-2.372ed8aa.png\",\"height\":960,\"width\":1781,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAMAAACEE47CAAAADFBMVEUMDQ8ICAgXGx4nLTGkfSX7AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAHklEQVR4nGNgZgIDZgYmRjAAMRgYGBhADBDNwMgMAAO/ACswNgyFAAAAAElFTkSuQmCC\",\"blurWidth\":8,\"blurHeight\":4}}]}]\n5b:[\"$\",\"p\",null,{\"children\":[\"If you are using VS Code, the\\n\",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://code.visualstudio.com/docs/remote/wsl-tutorial\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"WSL extension\"}],\" enables\\nyou to use WSL and VS Code together.\"]}]\n5c:[\"$\",\"p\",null,{\"children\":[\"$\",\"$L58\",null,{\"alt\":\"WSL Setup in VS Code\",\"placeholder\":\"blur\",\"src\":{\"src\":\"/_next/static/media/wsl-vscode.c31b85aa.png\",\"height\":725,\"width\":1442,\"blurDataURL\":\"data:image/png;base64,iVB"])</script>
150<script>self.__next_f.push([1,"ORw0KGgoAAAANSUhEUgAAAAgAAAAECAMAAACEE47CAAAACVBMVEUkJScpLTMeHx9KdDRaAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAHUlEQVR4nGNgYgQBBgYGJhAJZjAwMYFIBogwEwMAAg8AG7qPDeMAAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":4}}]}]\n5d:[\"$\",\"p\",null,{\"children\":\"You should then see the following in the VS Code status bar:\"}]\n5e:[\"$\",\"p\",null,{\"children\":[\"$\",\"$L58\",null,{\"alt\":\"WSL: Ubuntu\",\"placeholder\":\"blur\",\"src\":{\"src\":\"/_next/static/media/wsl-vscode-ubuntu.e50013f5.png\",\"height\":180,\"width\":467,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAMAAACZFr56AAAAElBMVEUXFxciICAcGhgoJiZHV3g9R2fwNZBFAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAHElEQVR4nGNgZgADJgZGJmYmMIOVhYWZkZGREQABkgAkzjB75gAAAABJRU5ErkJggg==\",\"blurWidth\":8,\"blurHeight\":3}}]}]\n5f:[\"$\",\"p\",null,{\"children\":[\"Once you have WSL set up, all additional dependencies \",[\"$\",\"strong\",null,{\"children\":\"must\"}],\" be installed\\nthrough the Ubuntu (Linux) terminal.\"]}]\n60:[\"$\",\"p\",null,{\"children\":[\"To install the required Solana dependencies, first try running the\\n\",[\"$\",\"$L10\",null,{\"ref\":\"$undefined\",\"href\":\"#quick-installation\",\"prefetch\":\"$undefined\",\"replace\":\"$undefined\",\"children\":\"quick installation\"}],\" command above in the Ubuntu (Linux)\\nterminal.\"]}]\n"])</script>
150<script>self.__next_f.push([1,"61:[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-info size-5 fill-blue-500 text-fd-card\",\"children\":[[\"$\",\"circle\",\"1mglay\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"$\",\"path\",\"1dtifu\",{\"d\":\"M12 16v-4\"}],[\"$\",\"path\",\"e9boi3\",{\"d\":\"M12 8h.01\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"text-fd-muted-foreground prose-no-margin\",\"children\":[[\"$\",\"p\",null,{\"children\":\"If the quick install command doesn't work, install the dependencies specified in\\nthe Linux section below before proceeding to the individual steps for installing\\nRust, Solana CLI, and Anchor CLI.\"}],[\"$\",\"p\",null,{\"children\":[\"If the quick install command runs successfully, skip to the\\n\",[\"$\",\"$L10\",null,{\"ref\":\"$undefined\",\"href\":\"#solana-cli-basics\",\"prefetch\":\"$undefined\",\"replace\":\"$undefined\",\"children\":\"Solana CLI Basics\"}],\" and\\n\",[\"$\",\"$L10\",null,{\"ref\":\"$undefined\",\"href\":\"#anchor-cli-basics\",\"prefetch\":\"$undefined\",\"replace\":\"$undefined\",\"children\":\"Anchor CLI Basics\"}],\" sections below.\"]}]]}]]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"62:[\"$\",\"$L57\",null,{\"title\":\"Linux\",\"children\":[[\"$\",\"p\",null,{\"children\":\"The following dependencies are required for the Anchor CLI installation.\"}],[\"$\",\"p\",null,{\"children\":\"First, run the following command:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"sudo\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" apt-get\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" update\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":\"Next, install the following dependencies:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"sudo\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" apt-get\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" install\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -y\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" \\\\\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"    build-essential\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" \\\\\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"    pkg-config\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" \\\\\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"    libudev-dev\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" llvm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" libclang-dev\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" \\\\\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\"
150:\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"    protobuf-compiler\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" libssl-dev\"}]]}]]}]}],[\"$\",\"p\",null,{\"children\":[\"If you encounter the following error when installing \",[\"$\",\"code\",null,{\"children\":\"protobuf-compiler\"}],\", make\\nsure you first run \",[\"$\",\"code\",null,{\"children\":\"sudo apt-get update\"}],\":\"]}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":\"$L89\"}]]}]\n"])</script>
150<script>self.__next_f.push([1,"63:[\"$\",\"span\",null,{\"children\":\"Rust is installed now. Great!\"}]\n64:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{}]}]\n65:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"To get started you may need to restart your current shell.\"}]}]\n66:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"This would reload your PATH environment variable to include\"}]}]\n67:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Cargo's bin directory ($HOME/.cargo/bin).\"}]}]\n68:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{}]}]\n69:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"To configure your current shell, you need to source\"}]}]\n6a:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"the corresponding env file under $HOME/.cargo.\"}]}]\n6b:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{}]}]\n6c:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"This is usually done by running one of the following (note the leading DOT):\"}]}]\n6d:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\". \\\"$HOME/.cargo/env\\\"            # For sh/bash/zsh/ash/dash/pdksh\"}]}]\n6e:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"source \\\"$HOME/.cargo/env.fish\\\"  # For fish\"}]}]\n6f:[\"$\",\"p\",null,{\"children\":\"Run the following command to reload your PATH environment variable to include\\nCargo's bin directory:\"}]\n"])</script>
150<script>self.__next_f.push([1,"70:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\".\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" \\\"\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"$$HOME\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"/.cargo/env\\\"\"}]]}]}]}]\n"])</script>
150<script>self.__next_f.push([1,"71:[\"$\",\"p\",null,{\"children\":\"To verify that the installation was successful, check the Rust version:\"}]\n"])</script>
150<script>self.__next_f.push([1,"72:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"rustc\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --version\"}]]}]}]}]\n"])</script>
150<script>self.__next_f.push([1,"73:[\"$\",\"p\",null,{\"children\":\"You should see output similar to the following:\"}]\n"])</script>
150<script>self.__next_f.push([1,"74:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"rustc 1.84.1 (e71f9a9a9 2025-01-27)\"}]}]}]}]\n"])</script>
150<script>self.__next_f.push([1,"75:[\"$\",\"div\",null,{\"className\":\"fd-step\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"install-the-solana-cli\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#install-the-solana-cli\",\"className\":\"peer\",\"children\":\"Install the Solana CLI\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"children\":\"The Solana CLI provides all the tools required to build and deploy Solana\\nprograms.\"}],[\"$\",\"p\",null,{\"children\":\"Install the Solana CLI tool suite using the official install command:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"sh\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -c\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" \\\"$(\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"curl\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -sSfL\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" https://release.anza.xyz/stable/install)\\\"\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":[\"You can replace \",[\"$\",\"code\",null,{\"children\":\"stable\"}],\" with the release tag matching the software version of\\nyour desired release (i.e. \",[\"$\",\"code\",null,{\"children\":\"v2.0.3\"}],\"), or use one of the three symbolic channel\\nnames: \",[\"$\",\"code\",null,{\"children\":\"stable\"}],\", \",[\"$\",\"code\",null,{\"children\":\"beta\"}],\", or \",[\"$\",\"code\",null,{\"children\":\"edge\"}],\".\"]}],[\"$\",\"p\",null,{\"children\":[\"If it is your first time installing the Solana CLI, you may see the following\\nmessage prompting you to add a \",[\"$\",\"code\",null,{\"children\":\"PATH\"}],\" environment variable:\"]}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Close and reopen your terminal to apply the PATH changes or run the following in your existing shell:\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"export PATH=\\\"/Users/test/.local/share/solana/install/active_release/bin:$PATH\\\"\"}]}]]}]}],\"$L8a\",\"$L8b\",\"$L8c\",\"$L8d\",\"$L8e\",\"$L8f\",\"$L90\",\"$L91\",\"$L92\"]}]\n"])</script>
150<script>self.__next_f.push([1,"76:[\"$\",\"div\",null,{\"className\":\"fd-step\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"install-anchor-cli\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#install-anchor-cli\",\"className\":\"peer\",\"children\":\"Install Anchor CLI\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"children\":[[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://www.anchor-lang.com/\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"Anchor\"}],\" is a framework for developing Solana\\nprograms. The Anchor framework leverages Rust macros to simplify the process of\\nwriting Solana programs.\"]}],[\"$\",\"p\",null,{\"children\":\"There are two ways to install the Anchor CLI and tooling:\"}],[\"$\",\"ol\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Anchor Version Manager (AVM) - Recommended installation method\"}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Without AVM - Install directly from GitHub\"}],\"\\n\"]}],[\"$\",\"$L93\",null,{\"groupId\":\"anchor\",\"items\":[\"AVM\",\"Without AVM\"],\"children\":[[\"$\",\"$L94\",null,{\"value\":\"AVM\",\"children\":[[\"$\",\"p\",null,{\"children\":\"The Anchor version manager (AVM) allows you to install and manage different\\nAnchor versions on your system and easily update Anchor versions in the future.\"}],[\"$\",\"p\",null,{\"children\":\"Install AVM with the following command:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"cargo\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" install\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --git\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" https://github.com/otter-sec/anchor\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" avm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --force\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":\"Check that AVM was installed successfully:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\"
150:\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"avm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --version\"}]]}]}]}],\"$L95\",\"$L96\",\"$L97\",\"$L98\",\"$L99\"]}],\"$L9a\"]}],\"$L9b\",\"$L9c\",\"$L9d\",\"$L9e\",\"$L9f\",\"$La0\",\"$La1\",\"$La2\",\"$La3\",\"$La4\"]}]\n"])</script>
150<script>self.__next_f.push([1,"77:[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"solana config set --url mainnet-beta\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"solana config set --url devnet\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"solana config set --url localhost\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"solana config set --url testnet\"}]}]]}]\n78:[\"$\",\"p\",null,{\"children\":\"You can also use the following short options:\"}]\n"])</script>
150<script>self.__next_f.push([1,"79:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"solana config set -um    # For mainnet-beta\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"solana config set -ud    # For devnet\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"solana config set -ul    # For localhost\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"solana config set -ut    # For testnet\"}]}]]}]}]\n"])</script>
150<script>self.__next_f.push([1,"7a:[\"$\",\"p\",null,{\"children\":[\"The Keypair Path specifies the location of the default wallet used by the Solana\\nCLI (to pay transaction fees and deploy programs). The default path is\\n\",[\"$\",\"code\",null,{\"children\":\"~/.config/solana/id.json\"}],\". The next step walks through how to generate a\\nkeypair at the default location.\"]}]\n"])</script>
150<script>self.__next_f.push([1,"7b:[\"$\",\"div\",null,{\"className\":\"fd-step\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"create-wallet\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#create-wallet\",\"className\":\"peer\",\"children\":\"Create Wallet\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"children\":\"To interact with the Solana network using the Solana CLI, you need a Solana\\nwallet funded with SOL.\"}],[\"$\",\"p\",null,{\"children\":\"To generate a keypair at the default Keypair Path, run the following command:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"solana-keygen\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" new\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":\"You should see output similar to the following:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Generating a new keypair\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"For added security, enter a BIP39 passphrase\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"NOTE! This passphrase improves security of the recovery seed phrase NOT the\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"keypair file itself, which is stored as insecure plain text\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"BIP39 Passphrase (empty for none):\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Wrote new keypair to /Users/test/.config/solana/id.json\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"===========================================================================\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"pubkey: 8dBTPrjnkXyuQK3KDt9wrZBfizEZijmmUQXVHpFbVwGT\"}]}],\"\\n\",\"$La5\",\"\\n\",\"$La6\",\"\\n\",\"$La7\",\"\\n\",\"$La8\"]}]}],\"$La9\",\"$Laa\",\"$Lab\"]}]\n"])</script>
150<script>self.__next_f.push([1,"7c:[\"$\",\"div\",null,{\"className\":\"fd-step\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"airdrop-sol\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#airdrop-sol\",\"className\":\"peer\",\"children\":\"Airdrop SOL\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"children\":\"Once you've set up your local wallet, request an airdrop of SOL to fund your\\nwallet. You need SOL to pay for transaction fees and to deploy programs.\"}],[\"$\",\"p\",null,{\"children\":\"Set your cluster to the devnet:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"solana\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" config\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" set\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -ud\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":\"Then request an airdrop of devnet SOL:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"solana\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" airdrop\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" 2\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":\"To check your wallet's SOL balance, run the following command:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\"
150:\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"solana\"}],\"$Lac\"]}]}]}],\"$Lad\"]}]\n"])</script>
150<script>self.__next_f.push([1,"7d:[\"$\",\"div\",null,{\"className\":\"fd-step\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"run-local-validator\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#run-local-validator\",\"className\":\"peer\",\"children\":\"Run Local Validator\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"children\":[\"The Solana CLI comes with the\\n\",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://docs.anza.xyz/cli/examples/test-validator\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"test validator\"}],\"\\nbuilt-in. Running a local validator will allow you to deploy and test your\\nprograms locally.\"]}],[\"$\",\"p\",null,{\"children\":\"In a separate terminal, run the following command to start a local validator:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"solana-test-validator\"}]}]}]}],[\"$\",\"p\",null,{\"children\":\"Make sure to update the Solana CLI config to localhost before commands.\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"solana\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" config\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" set\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -ul\"}]]}]}]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"7e:[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"anchor\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" init\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" my-project\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --test-template\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" mollusk\"}]]}]}]\n"])</script>
150<script>self.__next_f.push([1,"7f:[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-info size-5 fill-blue-500 text-fd-card\",\"children\":[[\"$\",\"circle\",\"1mglay\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"$\",\"path\",\"1dtifu\",{\"d\":\"M12 16v-4\"}],[\"$\",\"path\",\"e9boi3\",{\"d\":\"M12 8h.01\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"text-fd-muted-foreground prose-no-margin\",\"children\":[\"$\",\"p\",null,{\"children\":[\"By default, Anchor uses a \",[\"$\",\"strong\",null,{\"children\":\"modular structure\"}],\" with separate files for\\ninstructions, state, constants, and errors. This organization improves code\\nmaintainability and is recommended for production code.\"]}]}]]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"80:[\"$\",\"p\",null,{\"children\":\"Navigate to the project directory:\"}]\n"])</script>
150<script>self.__next_f.push([1,"81:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"cd\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\" \u003c\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"project-nam\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"e\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\"\u003e\"}]]}]}]}]\n"])</script>
150<script>self.__next_f.push([1,"82:[\"$\",\"p\",null,{\"children\":[\"See the Anchor project's\\n\",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://www.anchor-lang.com/docs/quickstart/local#project-file-structure\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"file structure\"}],\".\"]}]\n"])</script>
150<script>self.__next_f.push([1,"83:[\"$\",\"div\",null,{\"className\":\"fd-step\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"build-program\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#build-program\",\"className\":\"peer\",\"children\":\"Build Program\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"children\":\"To build your project, run the following command:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"anchor\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" build\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":[\"The compiled program can be found in the \",[\"$\",\"code\",null,{\"children\":\"/target/deploy\"}],\" directory.\"]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"84:[\"$\",\"div\",null,{\"className\":\"fd-step\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"deploy-program\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#deploy-program\",\"className\":\"peer\",\"children\":\"Deploy Program\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"children\":\"To deploy your project, run the following command:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"anchor\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" deploy\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":[\"This command will deploy your program to the \",[\"$\",\"code\",null,{\"children\":\"cluster\"}],\" specified in the\\n\",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://www.anchor-lang.com/docs/references/anchor-toml\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":[\"$\",\"code\",null,{\"children\":\"Anchor.toml\"}]}],\" file.\"]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"85:[\"$\",\"div\",null,{\"className\":\"fd-step\",\"children\":[[\"$\",\"h3\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"test-program\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#test-program\",\"className\":\"peer\",\"children\":\"Test Program\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"children\":\"To test your project, run the following command:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"anchor\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" test\"}]]}]}]}],[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-info size-5 fill-blue-500 text-fd-card\",\"children\":[[\"$\",\"circle\",\"1mglay\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"$\",\"path\",\"1dtifu\",{\"d\":\"M12 16v-4\"}],[\"$\",\"path\",\"e9boi3\",{\"d\":\"M12 8h.01\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"text-fd-muted-foreground prose-no-margin\",\"children\":[[\"$\",\"p\",null,{\"children\":\"This command builds, deploys, and runs the tests for your project.\"}],[\"$\",\"p\",null,{\"children\":[\"When using \",[\"$\",\"code\",null,{\"children\":\"localnet\"}],\" as the \",[\"$\",\"code\",null,{\"children\":\"cluster\"}],\" in \",[\"$\",\"code\",null,{\"children\":\"Anchor.toml\"}],\", Anchor automatically\\nstarts a local validator, deploys your program, runs tests, and then stops the\\nvalidator.\"]}]]}]]}]]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"89:[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Package protobuf-compiler is not available, but is referred to by another package.\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"This may mean that the package is missing, has been obsoleted, or\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"is only available from another source\"}]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"8a:[\"$\",\"$L93\",null,{\"groupId\":\"language\",\"items\":[\"Linux\",\"Mac\"],\"children\":[[\"$\",\"$L94\",null,{\"value\":\"Linux\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"If you are using a Linux or WSL terminal, you can add the \",[\"$\",\"code\",null,{\"children\":\"PATH\"}],\" environment\\nvariable to your shell configuration file by running the command logged from the\\ninstallation or by restarting your terminal.\"]}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\"export\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\" PATH\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\"=\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"\\\"\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"$$HOME\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"/.local/share/solana/install/active_release/bin:\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},\"children\":\"$$PATH\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\"\\\"\"}]]}]}]}]]}],[\"$\",\"$L94\",null,{\"value\":\"Mac\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"If you're on Mac using \",[\"$\",\"code\",null,{\"children\":\"zsh\"}],\", running the default \",[\"$\",\"code\",null,{\"children\":\"export PATH\"}],\" command logged\\nfrom the installation does not persist once you close your terminal.\"]}],[\"$\",\"p\",null,{\"children\":\"Instead, you can add the PATH to your shell configuration file by running the\\nfollowing command:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"echo\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" 'export PATH=\\\"$HOME/.local/share/solana/install/active_release/bin:$PATH\\\"'\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\" \u003e\u003e\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" ~/.zshrc\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":\"Then run the following command to refresh the terminal session or restart your\\nterminal.\"}
150],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":\"$Lae\"}]]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"8b:[\"$\",\"p\",null,{\"children\":\"To verify that the installation was successful, check the Solana CLI version:\"}]\n"])</script>
150<script>self.__next_f.push([1,"8c:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"solana\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --version\"}]]}]}]}]\n"])</script>
150<script>self.__next_f.push([1,"8d:[\"$\",\"p\",null,{\"children\":\"You should see output similar to the following:\"}]\n"])</script>
150<script>self.__next_f.push([1,"8e:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"solana-cli 2.0.26 (src:3dccb3e7; feat:607245837, client:Agave)\"}]}]}]}]\n"])</script>
150<script>self.__next_f.push([1,"8f:[\"$\",\"p\",null,{\"children\":[\"You can view all available versions on the\\n\",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://github.com/anza-xyz/agave/releases\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"Agave Github repo\"}],\".\"]}]\n"])</script>
150<script>self.__next_f.push([1,"90:[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-info size-5 fill-blue-500 text-fd-card\",\"children\":[[\"$\",\"circle\",\"1mglay\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"$\",\"path\",\"1dtifu\",{\"d\":\"M12 16v-4\"}],[\"$\",\"path\",\"e9boi3\",{\"d\":\"M12 8h.01\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"text-fd-muted-foreground prose-no-margin\",\"children\":[\"$\",\"p\",null,{\"children\":[\"Agave is the validator client from \",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://www.anza.xyz/\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"Anza\"}],\", formerly known\\nas Solana Labs validator client.\"]}]}]]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"91:[\"$\",\"p\",null,{\"children\":\"To later update the Solana CLI to the latest version, you can use the following\\ncommand:\"}]\n"])</script>
150<script>self.__next_f.push([1,"92:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"agave-install\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" update\"}]]}]}]}]\n"])</script>
150<script>self.__next_f.push([1,"95:[\"$\",\"p\",null,{\"children\":\"Install the latest version of Anchor CLI using AVM:\"}]\n"])</script>
150<script>self.__next_f.push([1,"96:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"avm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" install\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" latest\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"avm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" use\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" latest\"}]]}]]}]}]\n"])</script>
150<script>self.__next_f.push([1,"97:[\"$\",\"p\",null,{\"children\":\"Alternatively, you can install a specific version of Anchor CLI by specifying\\nthe version number:\"}]\n"])</script>
150<script>self.__next_f.push([1,"98:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"avm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" install\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" 1.2.0\"}]]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"avm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" use\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" 1.2.0\"}]]}]]}]}]\n"])</script>
150<script>self.__next_f.push([1,"99:[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-info size-5 fill-blue-500 text-fd-card\",\"children\":[[\"$\",\"circle\",\"1mglay\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"$\",\"path\",\"1dtifu\",{\"d\":\"M12 16v-4\"}],[\"$\",\"path\",\"e9boi3\",{\"d\":\"M12 8h.01\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"text-fd-muted-foreground prose-no-margin\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"Don't forget to run the \",[\"$\",\"code\",null,{\"children\":\"avm use\"}],\" command to declare which Anchor CLI version\\nshould be used on your system.\"]}],[\"$\",\"ul\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[\"If you installed the \",[\"$\",\"code\",null,{\"children\":\"latest\"}],\" version, run \",[\"$\",\"code\",null,{\"children\":\"avm use latest\"}],\".\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":[\"If you installed the version \",[\"$\",\"code\",null,{\"children\":\"1.2.0\"}],\", run \",[\"$\",\"code\",null,{\"children\":\"avm use 1.2.0\"}],\".\"]}],\"\\n\"]}]]}]]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"9a:[\"$\",\"$L94\",null,{\"value\":\"Without AVM\",\"children\":[[\"$\",\"p\",null,{\"children\":\"Install a specific version of the Anchor CLI with the following command:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"cargo\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" install\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --git\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" https://github.com/otter-sec/anchor\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --tag\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" v1.2.0\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" anchor-cli\"}]]}]}]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"9b:[\"$\",\"p\",null,{\"children\":\"To verify that the installation was successful, check the Anchor CLI version:\"}]\n"])</script>
150<script>self.__next_f.push([1,"9c:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"anchor\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --version\"}]]}]}]}]\n"])</script>
150<script>self.__next_f.push([1,"9d:[\"$\",\"p\",null,{\"children\":\"You should see output similar to the following:\"}]\n"])</script>
150<script>self.__next_f.push([1,"9e:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"anchor-cli 1.2.0\"}]}]}]}]\n"])</script>
150<script>self.__next_f.push([1,"9f:[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-triangle-alert size-5 fill-orange-500 text-fd-card\",\"children\":[[\"$\",\"path\",\"wmoenq\",{\"d\":\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\"}],[\"$\",\"path\",\"juzpu7\",{\"d\":\"M12 9v4\"}],[\"$\",\"path\",\"p32p05\",{\"d\":\"M12 17h.01\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"text-fd-muted-foreground prose-no-margin\",\"children\":[[\"$\",\"p\",null,{\"children\":\"When installing the Anchor CLI on Linux or WSL, you may encounter this error:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"error: could not exec the linker cc = note: Permission denied (os error 13)\"}]}]}]}],[\"$\",\"p\",null,{\"children\":\"If you see this error message, follow these steps:\"}],[\"$\",\"ol\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":[\"Install the dependencies listed in the\\n\",[\"$\",\"$L10\",null,{\"ref\":\"$undefined\",\"href\":\"#install-dependencies\",\"prefetch\":\"$undefined\",\"replace\":\"$undefined\",\"children\":\"Linux\"}],\" section at the top of\\nthis page.\"]}],\"\\n\",[\"$\",\"li\",null,{\"children\":\"Retry installing the Anchor CLI.\"}],\"\\n\"]}]]}]]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"a0:[\"$\",\"h4\",null,{\"className\":\"flex scroll-m-28 flex-row items-center gap-2\",\"id\":\"nodejs-and-yarn\",\"children\":[[\"$\",\"a\",null,{\"data-card\":\"\",\"href\":\"#nodejs-and-yarn\",\"className\":\"peer\",\"children\":\"Node.js and Yarn\"}],[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-link size-3.5 shrink-0 text-fd-muted-foreground opacity-0 transition-opacity peer-hover:opacity-100\",\"aria-label\":\"Link to section\",\"children\":[[\"$\",\"path\",\"1cjeqo\",{\"d\":\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"}],[\"$\",\"path\",\"19qd67\",{\"d\":\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"}],\"$undefined\"]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"a1:[\"$\",\"p\",null,{\"children\":[\"Node.js and Yarn are required for project initialization and when using\\na TypeScript-based test template (\",[\"$\",\"code\",null,{\"children\":\"mocha\"}],\", \",[\"$\",\"code\",null,{\"children\":\"jest\"}],\"). The default test template\\n(\",[\"$\",\"code\",null,{\"children\":\"litesvm\"}],\") does not run TypeScript tests, so they are not needed for\\nday-to-day development once initialization is complete. They are expected to\\nbecome fully optional in a future release.\"]}]\n"])</script>
150<script>self.__next_f.push([1,"a2:[\"$\",\"$L56\",null,{\"children\":[[\"$\",\"$L57\",null,{\"title\":\"Node Installation\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"The recommended way to install node is using\\n\",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://github.com/nvm-sh/nvm\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"Node Version Manager (nvm)\"}],\".\"]}],[\"$\",\"p\",null,{\"children\":\"Install nvm using the following command:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"curl\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -o-\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},\"children\":\" |\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\" bash\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":\"Restart your terminal and verify that nvm is installed:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"command\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -v\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" nvm\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":[\"Next, use \",[\"$\",\"code\",null,{\"children\":\"nvm\"}],\" to install node:\"]}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\"
150:\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"nvm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" install\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" node\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":\"To verify that the installation was successful, check the Node version:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":\"$Laf\"}],\"$Lb0\",\"$Lb1\"]}],\"$Lb2\"]}]\n"])</script>
150<script>self.__next_f.push([1,"a3:[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-triangle-alert size-5 fill-orange-500 text-fd-card\",\"children\":[[\"$\",\"path\",\"wmoenq\",{\"d\":\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\"}],[\"$\",\"path\",\"juzpu7\",{\"d\":\"M12 9v4\"}],[\"$\",\"path\",\"p32p05\",{\"d\":\"M12 17h.01\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"text-fd-muted-foreground prose-no-margin\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"When running \",[\"$\",\"code\",null,{\"children\":\"anchor build\"}],\", if you encounter the following errors:\"]}],[\"$\",\"$L56\",null,{\"children\":[[\"$\",\"$L57\",null,{\"title\":\"error: not a directory\",\"children\":[[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"error: not a directory: '.../solana-release/bin/sdk/sbf/dependencies/platform-tools/rust/lib'\"}]}]}]}],[\"$\",\"p\",null,{\"children\":\"Try these solutions:\"}],[\"$\",\"ol\",null,{\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"Force install using the following command:\"}],\"\\n\"]}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"cargo\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" build-sbf\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --force-tools-install\"}]]}]}]}],[\"$\",\"ol\",null,{\"start\":\"2\",\"children\":[\"\\n\",[\"$\",\"li\",null,{\"children\":\"If the solution above doesn't work, clear the Solana cache:\"}],\"\\n\"]}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\"
150:\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"rm\"}],\"$Lb3\",\"$Lb4\",\"$Lb5\"]}]}]}]]}],\"$Lb6\"]}],\"$Lb7\"]}]]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"a4:[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-triangle-alert size-5 fill-orange-500 text-fd-card\",\"children\":[[\"$\",\"path\",\"wmoenq\",{\"d\":\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\"}],[\"$\",\"path\",\"juzpu7\",{\"d\":\"M12 9v4\"}],[\"$\",\"path\",\"p32p05\",{\"d\":\"M12 17h.01\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"text-fd-muted-foreground prose-no-margin\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"When running \",[\"$\",\"code\",null,{\"children\":\"anchor test\"}],\" after creating a new Anchor project on Linux or WSL,\\nyou may encounter the following errors if Node.js or Yarn are not installed:\"]}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Permission denied (os error 13)\"}]}]}]}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"No such file or directory (os error 2)\"}]}]}]}]]}]]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"a5:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"===========================================================================\"}]}]\na6:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"Save this seed phrase and your BIP39 passphrase to recover your new keypair:\"}]}]\na7:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"cream bleak tortoise ocean nasty game gift forget fancy salon mimic amazing\"}]}]\na8:[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"===========================================================================\"}]}]\na9:[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md\",\"children\":[\"$undefined\",[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"text-fd-muted-foreground prose-no-margin\",\"children\":[\"$\",\"p\",null,{\"children\":[\"If you already have a file system wallet saved at the default location, this\\ncommand will \",[\"$\",\"strong\",null,{\"children\":\"NOT\"}],\" override it unless you explicitly force override using the\\n\",[\"$\",\"code\",null,{\"children\":\"--force\"}],\" flag.\"]}]}]]}]]}]\naa:[\"$\",\"p\",null,{\"children\":\"Once a keypair is generated, you can get the address (public key) of the keypair\\nwith the following command:\"}]\n"])</script>
150<script>self.__next_f.push([1,"ab:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"solana\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" address\"}]]}]}]}]\n"])</script>
150<script>self.__next_f.push([1,"ac:[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" balance\"}]\n"])</script>
150<script>self.__next_f.push([1,"ad:[\"$\",\"div\",null,{\"ref\":\"$undefined\",\"className\":\"my-6 flex flex-row gap-2 rounded-lg border bg-fd-card p-3 text-sm text-fd-card-foreground shadow-md\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-info size-5 fill-blue-500 text-fd-card\",\"children\":[[\"$\",\"circle\",\"1mglay\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"$\",\"path\",\"1dtifu\",{\"d\":\"M12 16v-4\"}],[\"$\",\"path\",\"e9boi3\",{\"d\":\"M12 8h.01\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"min-w-0 flex-1\",\"children\":[null,[\"$\",\"div\",null,{\"className\":\"text-fd-muted-foreground prose-no-margin\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"The \",[\"$\",\"code\",null,{\"children\":\"solana airdrop\"}],\" command is currently limited to 5 SOL per request on\\ndevnet. Errors are likely due to rate limits.\"]}],[\"$\",\"p\",null,{\"children\":[\"Alternatively, you can get devnet SOL using the\\n\",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://faucet.solana.com\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"Solana Web Faucet\"}],\".\"]}]]}]]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"ae:[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"source\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" ~/.zshrc\"}]]}]}]\naf:[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"node\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --version\"}]]}]}]\nb0:[\"$\",\"p\",null,{\"children\":\"You should see output similar to the following:\"}]\n"])</script>
150<script>self.__next_f.push([1,"b1:[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"v23.7.0\"}]}]}]}]\n"])</script>
150<script>self.__next_f.push([1,"b2:[\"$\",\"$L57\",null,{\"title\":\"Yarn Installation\",\"children\":[[\"$\",\"p\",null,{\"children\":\"Install Yarn:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"npm\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" install\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --global\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" yarn\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":\"To verify that the installation was successful, check the Yarn version:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Terminal\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},\"children\":\"yarn\"}],[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" --version\"}]]}]}]}],[\"$\",\"p\",null,{\"children\":\"You should see the following output:\"}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"children\":\"1.22.1\"}]}]}]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"b3:[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\" -rf\"}]\nb4:[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},\"children\":\" ~/.cache/solana/\"}]\nb5:[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},\"children\":\"*\"}]\n"])</script>
150<script>self.__next_f.push([1,"b6:[\"$\",\"$L57\",null,{\"title\":\"lock file version 4 requires `-Znext-lockfile-bump\",\"children\":[[\"$\",\"p\",null,{\"children\":[\"You can fix this by changing the version field of \",[\"$\",\"code\",null,{\"children\":\"Cargo.lock\"}],\" file from 4 to 3:\"]}],[\"$\",\"$L37\",null,{\"className\":\"shiki shiki-themes github-light github-dark\",\"style\":{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},\"tabIndex\":\"0\",\"title\":\"Cargo.lock\",\"icon\":\"\u003csvg viewBox=\\\"0 0 24 24\\\"\u003e\u003cpath d=\\\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\\\" fill=\\\"currentColor\\\" /\u003e\u003c/svg\u003e\",\"children\":[\"$\",\"code\",null,{\"children\":[[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#B31D28\",\"--shiki-dark\":\"#FDAEB7\"},\"children\":\"-version = 4\"}]}],\"\\n\",[\"$\",\"span\",null,{\"className\":\"line\",\"children\":[\"$\",\"span\",null,{\"style\":{\"--shiki-light\":\"#22863A\",\"--shiki-dark\":\"#85E89D\"},\"children\":\"+version = 3\"}]}]]}]}],[\"$\",\"p\",null,{\"children\":[\"See \",[\"$\",\"a\",null,{\"ref\":\"$undefined\",\"href\":\"https://github.com/otter-sec/anchor/issues/3392\",\"rel\":\"noreferrer noopener\",\"target\":\"_blank\",\"children\":\"this issue\"}],\" for more\\ninformation.\"]}]]}]\n"])</script>
150<script>self.__next_f.push([1,"b7:[\"$\",\"p\",null,{\"children\":[\"After applying the solution above, attempt to run \",[\"$\",\"code\",null,{\"children\":\"anchor build\"}],\" again.\"]}]\n"])</script>
150<script>self.__next_f.push([1,"20:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n1c:null\n"])</script>
150<script>self.__next_f.push([1,"b8:I[2443,[],\"IconMark\"]\n1e:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Installation\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Learn how to install Rust, the Solana CLI, and Anchor Framework on Windows (WSL), Linux, or Mac.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon.ico?aa590cbe56eb8b33\",\"type\":\"image/x-icon\",\"sizes\":\"512x512\"}],[\"$\",\"$Lb8\",\"3\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script>
150<script>self.__next_f.push([1,"23:\"$1e:metadata\"\n"])</script>
150</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.