import{_ as u,r as l,o as i,c as r,a as n,b as t,w as a,F as k,d as s,e as b}from"./app.55b1b60c.js";const m={},d=n("h1",{id:"local-development",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#local-development","aria-hidden":"true"},"#"),s(" Local Development")],-1),g=n("h2",{id:"\u0E40\u0E23\u0E34\u0E48\u0E21\u0E43\u0E0A\u0E49-local-validator",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#\u0E40\u0E23\u0E34\u0E48\u0E21\u0E43\u0E0A\u0E49-local-validator","aria-hidden":"true"},"#"),s(" \u0E40\u0E23\u0E34\u0E48\u0E21\u0E43\u0E0A\u0E49 Local Validator")],-1),h=n("p",null,"\u0E01\u0E32\u0E23\u0E17\u0E14\u0E2A\u0E2D\u0E1A program \u0E17\u0E35\u0E48 local \u0E08\u0E30\u0E40\u0E2A\u0E16\u0E35\u0E22\u0E23\u0E01\u0E27\u0E48\u0E32\u0E01\u0E32\u0E23\u0E17\u0E14\u0E2A\u0E2D\u0E1A\u0E1A\u0E19 devnet \u0E41\u0E25\u0E30\u0E21\u0E31\u0E19\u0E22\u0E31\u0E07\u0E0A\u0E48\u0E27\u0E22\u0E40\u0E23\u0E32\u0E17\u0E14\u0E2A\u0E2D\u0E1A\u0E01\u0E48\u0E2D\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E44\u0E1B\u0E25\u0E2D\u0E07\u0E1A\u0E19 devnet \u0E2D\u0E35\u0E01\u0E14\u0E49\u0E27\u0E22",-1),_=s("\u0E40\u0E23\u0E32\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E15\u0E34\u0E14\u0E15\u0E31\u0E49\u0E07 local-test-validator \u0E42\u0E14\u0E22\u0E01\u0E32\u0E23\u0E25\u0E07 "),w=s("solana tool suite"),y=s(" \u0E41\u0E25\u0E30 run \u0E04\u0E33\u0E2A\u0E31\u0E48\u0E07\u0E19\u0E35\u0E49"),f=b(`<div class="language-console ext-console line-numbers-mode"><pre class="language-console"><code>solana-test-validator
</code></pre><div class="line-numbers" aria-hidden="true"><span class="line-number">1</span><br></div></div><p>\u0E1B\u0E23\u0E30\u0E42\u0E22\u0E0A\u0E19\u0E4C\u0E02\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E43\u0E0A\u0E49 local-test-validator \u0E04\u0E37\u0E2D:</p><ul><li>\u0E44\u0E21\u0E48\u0E21\u0E35\u0E02\u0E49\u0E2D\u0E08\u0E33\u0E01\u0E31\u0E14 (rate-limits) \u200B\u0E43\u0E19\u0E01\u0E32\u0E23\u0E40\u0E23\u0E35\u0E22\u0E01 RPC</li><li>\u0E44\u0E21\u0E48\u0E21\u0E35\u0E02\u0E49\u0E2D\u0E08\u0E33\u0E01\u0E31\u0E14\u0E43\u0E19\u0E01\u0E32\u0E23\u0E02\u0E2D airdrop</li><li>deploy program on-chain \u0E44\u0E14\u0E49\u0E42\u0E14\u0E22\u0E15\u0E23\u0E07 (<code>--bpf-program ...</code>)</li><li>\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16 clone accounts \u0E41\u0E25\u0E30 programs \u0E08\u0E32\u0E01 public cluster \u0E44\u0E14\u0E49 (<code>--clone ...</code>)</li><li>\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32 transaction history retention \u0E44\u0E14\u0E49 (<code>--limit-ledger-size ...</code>)</li><li>\u0E15\u0E31\u0E49\u0E07\u0E04\u0E48\u0E32\u0E04\u0E27\u0E32\u0E21\u0E22\u0E32\u0E27 epoch \u0E44\u0E14\u0E49 (<code>--slots-per-epoch ...</code>)</li><li>\u0E02\u0E49\u0E32\u0E21\u0E44\u0E1B slot \u0E44\u0E2B\u0E19\u0E01\u0E47\u0E44\u0E14\u0E49\u0E15\u0E32\u0E21\u0E43\u0E08 (<code>--warp-slot ...</code>)</li></ul><h2 id="connecting-to-environments" tabindex="-1"><a class="header-anchor" href="#connecting-to-environments" aria-hidden="true">#</a> Connecting to Environments</h2><p>\u0E40\u0E27\u0E25\u0E32 dev \u0E1A\u0E19 Solana development \u0E40\u0E23\u0E32\u0E15\u0E49\u0E2D\u0E07 connect \u0E44\u0E1B\u0E17\u0E35\u0E48 RPC API endpoint \u0E0B\u0E36\u0E48\u0E07 Solana \u0E08\u0E30\u0E21\u0E35\u0E2D\u0E22\u0E39\u0E48 3 public development environments:</p><ul><li>mainnet-beta https://api.mainnet-beta.solana.com</li><li>devnet https://api.devnet.solana.com</li><li>testnet https://api.testnet.solana.com</li></ul>`,6),v=n("div",{class:"language-typescript ext-ts line-numbers-mode"},[n("pre",{class:"language-typescript"},[n("code",null,[n("span",{class:"token keyword"},"import"),s(),n("span",{class:"token punctuation"},"{"),s(" clusterApiUrl"),n("span",{class:"token punctuation"},","),s(" Connection "),n("span",{class:"token punctuation"},"}"),s(),n("span",{class:"token keyword"},"from"),s(),n("span",{class:"token string"},'"@solana/web3.js"'),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token punctuation"},"("),n("span",{class:"token keyword"},"async"),s(),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"=>"),s(),n("span",{class:"token punctuation"},"{"),s(`
  `),n("span",{class:"token keyword"},"const"),s(" connection "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"new"),s(),n("span",{class:"token class-name"},"Connection"),n("span",{class:"token punctuation"},"("),n("span",{class:"token function"},"clusterApiUrl"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"mainnet-beta"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token string"},'"confirmed"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br")])],-1),C=n("div",{class:"language-typescript ext-ts line-numbers-mode"},[n("pre",{class:"language-typescript"},[n("code",null,[n("span",{class:"token keyword"},"const"),s(" connection "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"new"),s(),n("span",{class:"token class-name"},"Connection"),n("span",{class:"token punctuation"},"("),n("span",{class:"token function"},"clusterApiUrl"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"mainnet-beta"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token string"},'"confirmed"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),x=n("div",{class:"language-python ext-py line-numbers-mode"},[n("pre",{class:"language-python"},[n("code",null,[n("span",{class:"token keyword"},"from"),s(" solana"),n("span",{class:"token punctuation"},"."),s("rpc"),n("span",{class:"token punctuation"},"."),s("api "),n("span",{class:"token keyword"},"import"),s(` Client

client `),n("span",{class:"token operator"},"="),s(" Client"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"https://api.mainnet-beta.solana.com"'),n("span",{class:"token punctuation"},")"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br")])],-1),S=n("div",{class:"language-python ext-py line-numbers-mode"},[n("pre",{class:"language-python"},[n("code",null,[s("client "),n("span",{class:"token operator"},"="),s(" Client"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"https://api.mainnet-beta.solana.com"'),n("span",{class:"token punctuation"},")"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),A=n("div",{class:"language-cpp ext-cpp line-numbers-mode"},[n("pre",{class:"language-cpp"},[n("code",null,[n("span",{class:"token macro property"},[n("span",{class:"token directive-hash"},"#"),n("span",{class:"token directive keyword"},"include"),s(),n("span",{class:"token string"},'"solana.hpp"')]),s(`

`),n("span",{class:"token keyword"},"using"),s(),n("span",{class:"token keyword"},"namespace"),s(" many"),n("span",{class:"token double-colon punctuation"},"::"),s("solana"),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token keyword"},"int"),s(),n("span",{class:"token function"},"main"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
    Connection `),n("span",{class:"token function"},"connection"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"https://api.mainnet-beta.solana.com"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token keyword"},"return"),s(),n("span",{class:"token number"},"0"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token punctuation"},"}"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br")])],-1),R=n("div",{class:"language-cpp ext-cpp line-numbers-mode"},[n("pre",{class:"language-cpp"},[n("code",null,[s("Connection "),n("span",{class:"token function"},"connection"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"https://api.mainnet-beta.solana.com"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),L=n("div",{class:"language-rust ext-rs line-numbers-mode"},[n("pre",{class:"language-rust"},[n("code",null,[n("span",{class:"token keyword"},"use"),s(),n("span",{class:"token namespace"},[s("solana_client"),n("span",{class:"token punctuation"},"::"),s("rpc_client"),n("span",{class:"token punctuation"},"::")]),n("span",{class:"token class-name"},"RpcClient"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token keyword"},"use"),s(),n("span",{class:"token namespace"},[s("solana_sdk"),n("span",{class:"token punctuation"},"::"),s("commitment_config"),n("span",{class:"token punctuation"},"::")]),n("span",{class:"token class-name"},"CommitmentConfig"),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token keyword"},"fn"),s(),n("span",{class:"token function-definition function"},"main"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
    `),n("span",{class:"token keyword"},"let"),s(" rpc_url "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"String"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"from"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"https://api.mainnet-beta.solana.com"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token keyword"},"let"),s(" client "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"RpcClient"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"new_with_commitment"),n("span",{class:"token punctuation"},"("),s("rpc_url"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token class-name"},"CommitmentConfig"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"confirmed"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token punctuation"},"}"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br")])],-1),P=n("div",{class:"language-rust ext-rs line-numbers-mode"},[n("pre",{class:"language-rust"},[n("code",null,[n("span",{class:"token keyword"},"let"),s(" rpc_url "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"String"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"from"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"https://api.mainnet-beta.solana.com"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token keyword"},"let"),s(" client "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"RpcClient"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"new_with_commitment"),n("span",{class:"token punctuation"},"("),s("rpc_url"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token class-name"},"CommitmentConfig"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"confirmed"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br")])],-1),T=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,[s("solana config "),n("span",{class:"token builtin class-name"},"set"),s(` --url https://api.mainnet-beta.solana.com
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),I=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,[s("solana config "),n("span",{class:"token builtin class-name"},"set"),s(` --url https://api.mainnet-beta.solana.com
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),M=n("p",null,"Finally, you \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16 also connect to a private cluster, either one local or running remotely with the following:",-1),O=n("div",{class:"language-typescript ext-ts line-numbers-mode"},[n("pre",{class:"language-typescript"},[n("code",null,[n("span",{class:"token keyword"},"import"),s(),n("span",{class:"token punctuation"},"{"),s(" Connection "),n("span",{class:"token punctuation"},"}"),s(),n("span",{class:"token keyword"},"from"),s(),n("span",{class:"token string"},'"@solana/web3.js"'),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token punctuation"},"("),n("span",{class:"token keyword"},"async"),s(),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"=>"),s(),n("span",{class:"token punctuation"},"{"),s(`
  `),n("span",{class:"token comment"},"// This will connect you to your local validator"),s(`
  `),n("span",{class:"token keyword"},"const"),s(" connection "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"new"),s(),n("span",{class:"token class-name"},"Connection"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"http://127.0.0.1:8899"'),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token string"},'"confirmed"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br")])],-1),K=n("div",{class:"language-typescript ext-ts line-numbers-mode"},[n("pre",{class:"language-typescript"},[n("code",null,[n("span",{class:"token keyword"},"const"),s(" connection "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"new"),s(),n("span",{class:"token class-name"},"Connection"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"http://127.0.0.1:8899"'),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token string"},'"confirmed"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),E=n("div",{class:"language-python ext-py line-numbers-mode"},[n("pre",{class:"language-python"},[n("code",null,[n("span",{class:"token keyword"},"from"),s(" solana"),n("span",{class:"token punctuation"},"."),s("rpc"),n("span",{class:"token punctuation"},"."),s("api "),n("span",{class:"token keyword"},"import"),s(` Client

client `),n("span",{class:"token operator"},"="),s(" Client"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"http://127.0.0.1:8899"'),n("span",{class:"token punctuation"},")"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br")])],-1),U=n("div",{class:"language-python ext-py line-numbers-mode"},[n("pre",{class:"language-python"},[n("code",null,[s("client "),n("span",{class:"token operator"},"="),s(" Client"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"http://127.0.0.1:8899"'),n("span",{class:"token punctuation"},")"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),j=n("div",{class:"language-cpp ext-cpp line-numbers-mode"},[n("pre",{class:"language-cpp"},[n("code",null,[n("span",{class:"token macro property"},[n("span",{class:"token directive-hash"},"#"),n("span",{class:"token directive keyword"},"include"),s(),n("span",{class:"token string"},'"solana.hpp"')]),s(`

`),n("span",{class:"token keyword"},"using"),s(),n("span",{class:"token keyword"},"namespace"),s(" many"),n("span",{class:"token double-colon punctuation"},"::"),s("solana"),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token keyword"},"int"),s(),n("span",{class:"token function"},"main"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
    Connection `),n("span",{class:"token function"},"connection"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"http://127.0.0.1:8899"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token keyword"},"return"),s(),n("span",{class:"token number"},"0"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token punctuation"},"}"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br")])],-1),V=n("div",{class:"language-cpp ext-cpp line-numbers-mode"},[n("pre",{class:"language-cpp"},[n("code",null,[s("Connection "),n("span",{class:"token function"},"connection"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"http://127.0.0.1:8899"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),W=n("div",{class:"language-rust ext-rs line-numbers-mode"},[n("pre",{class:"language-rust"},[n("code",null,[n("span",{class:"token keyword"},"use"),s(),n("span",{class:"token namespace"},[s("solana_client"),n("span",{class:"token punctuation"},"::"),s("rpc_client"),n("span",{class:"token punctuation"},"::")]),n("span",{class:"token class-name"},"RpcClient"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token keyword"},"use"),s(),n("span",{class:"token namespace"},[s("solana_sdk"),n("span",{class:"token punctuation"},"::"),s("commitment_config"),n("span",{class:"token punctuation"},"::")]),n("span",{class:"token class-name"},"CommitmentConfig"),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token keyword"},"fn"),s(),n("span",{class:"token function-definition function"},"main"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
    `),n("span",{class:"token keyword"},"let"),s(" rpc_url "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"String"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"from"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"http://127.0.0.1:8899"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token keyword"},"let"),s(" client "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"RpcClient"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"new_with_commitment"),n("span",{class:"token punctuation"},"("),s("rpc_url"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token class-name"},"CommitmentConfig"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"confirmed"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token punctuation"},"}"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br")])],-1),q=n("div",{class:"language-rust ext-rs line-numbers-mode"},[n("pre",{class:"language-rust"},[n("code",null,[n("span",{class:"token keyword"},"let"),s(" rpc_url "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"String"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"from"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"http://127.0.0.1:8899"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token keyword"},"let"),s(" client "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"RpcClient"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"new_with_commitment"),n("span",{class:"token punctuation"},"("),s("rpc_url"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token class-name"},"CommitmentConfig"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"confirmed"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br")])],-1),G=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,[s("solana config "),n("span",{class:"token builtin class-name"},"set"),s(` --url http://privaterpc.com
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),N=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,[s("solana config "),n("span",{class:"token builtin class-name"},"set"),s(` --url http://privaterpc.com
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),X=n("h2",{id:"subscribing-to-events",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#subscribing-to-events","aria-hidden":"true"},"#"),s(" Subscribing to Events")],-1),H=n("p",null,"Websockets \u0E08\u0E30\u0E21\u0E35 pub/sub interface \u0E17\u0E35\u0E48\u0E40\u0E23\u0E32\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E1F\u0E31\u0E07 events \u0E17\u0E35\u0E48\u0E40\u0E23\u0E32\u0E2A\u0E19\u0E43\u0E08\u0E41\u0E17\u0E19\u0E17\u0E35\u0E48\u0E08\u0E30\u0E04\u0E2D\u0E22\u0E27\u0E19\u0E46 \u0E40\u0E23\u0E35\u0E22\u0E01 HTTP endpoint \u0E1A\u0E48\u0E2D\u0E22\u0E46 \u0E40\u0E23\u0E32\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E23\u0E31\u0E1A\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E40\u0E09\u0E1E\u0E32\u0E30\u0E15\u0E2D\u0E19\u0E21\u0E31\u0E19\u0E40\u0E01\u0E34\u0E14\u0E02\u0E36\u0E49\u0E19\u0E44\u0E14\u0E49",-1),B=s("Solana's web3 "),D={href:"https://solana-labs.github.io/solana-web3.js/classes/Connection.html",target:"_blank",rel:"noopener noreferrer"},Z=n("code",null,"Connection",-1),F=s(" \u0E08\u0E30\u0E21\u0E35 websocket endpoint \u0E41\u0E25\u0E30\u0E08\u0E30 registers \u0E15\u0E31\u0E27 websocket client \u0E40\u0E21\u0E37\u0E48\u0E2D\u0E40\u0E23\u0E32 new "),z=n("code",null,"Connection",-1),Q=s(" \u0E02\u0E36\u0E49\u0E19\u0E21\u0E32\u0E43\u0E2B\u0E21\u0E48 (\u0E14\u0E39 source code "),J={href:"https://github.com/solana-labs/solana-web3.js/blob/45923ca00e4cc1ed079d8e55ecbee83e5b4dc174/src/connection.ts#L2100",target:"_blank",rel:"noopener noreferrer"},Y=s("\u0E17\u0E35\u0E48\u0E19\u0E35\u0E48"),$=s(")."),nn=n("code",null,"Connection",-1),sn=s(" class \u0E08\u0E30\u0E21\u0E35 pub/sub methods - \u0E17\u0E35\u0E48\u0E08\u0E30\u0E21\u0E35\u0E0A\u0E37\u0E48\u0E2D\u0E40\u0E23\u0E34\u0E48\u0E21\u0E14\u0E49\u0E27\u0E22 "),an=n("code",null,"on",-1),tn=s(" \u0E40\u0E2B\u0E21\u0E37\u0E2D\u0E19 event emitters \u0E17\u0E31\u0E48\u0E27\u0E44\u0E1B \u0E40\u0E27\u0E25\u0E32\u0E40\u0E23\u0E32\u0E40\u0E23\u0E35\u0E22\u0E01 listener methods \u0E1E\u0E27\u0E01\u0E19\u0E35\u0E49 \u0E21\u0E31\u0E19\u0E08\u0E30 registers subscription \u0E43\u0E2B\u0E21\u0E48\u0E44\u0E1B\u0E17\u0E35\u0E48 websocket client \u0E02\u0E2D\u0E07 "),en=n("code",null,"Connection",-1),on=s(" \u0E19\u0E31\u0E49\u0E19\u0E46 \u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E02\u0E2D\u0E07 pub/sub method \u0E17\u0E35\u0E48\u0E40\u0E23\u0E32\u0E43\u0E0A\u0E49\u0E14\u0E49\u0E32\u0E19\u0E25\u0E48\u0E32\u0E07\u0E04\u0E37\u0E2D "),cn={href:"https://solana-labs.github.io/solana-web3.js/classes/Connection.html#onAccountChange",target:"_blank",rel:"noopener noreferrer"},ln=n("code",null,"onAccountChange",-1),pn=s(". \u0E2A\u0E48\u0E27\u0E19 callback \u0E08\u0E30\u0E43\u0E2B\u0E49 updated state data \u0E1C\u0E48\u0E32\u0E19 arguments (\u0E14\u0E39\u0E15\u0E31\u0E27\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E44\u0E14\u0E49\u0E17\u0E35\u0E48 "),un={href:"https://solana-labs.github.io/solana-web3.js/modules.html#AccountChangeCallback",target:"_blank",rel:"noopener noreferrer"},rn=n("code",null,"AccountChangeCallback",-1),kn=s(")."),bn=n("div",{class:"language-typescript ext-ts line-numbers-mode"},[n("pre",{class:"language-typescript"},[n("code",null,[n("span",{class:"token keyword"},"import"),s(),n("span",{class:"token punctuation"},"{"),s(" clusterApiUrl"),n("span",{class:"token punctuation"},","),s(" Connection"),n("span",{class:"token punctuation"},","),s(" Keypair "),n("span",{class:"token punctuation"},"}"),s(),n("span",{class:"token keyword"},"from"),s(),n("span",{class:"token string"},'"@solana/web3.js"'),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token punctuation"},"("),n("span",{class:"token keyword"},"async"),s(),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"=>"),s(),n("span",{class:"token punctuation"},"{"),s(`
  `),n("span",{class:"token comment"},"// Establish new connect to devnet - websocket client connected to devnet will also be registered here"),s(`
  `),n("span",{class:"token keyword"},"const"),s(" connection "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"new"),s(),n("span",{class:"token class-name"},"Connection"),n("span",{class:"token punctuation"},"("),n("span",{class:"token function"},"clusterApiUrl"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"devnet"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token string"},'"confirmed"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

  `),n("span",{class:"token comment"},"// Create a test wallet to listen to"),s(`
  `),n("span",{class:"token keyword"},"const"),s(" wallet "),n("span",{class:"token operator"},"="),s(" Keypair"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"generate"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

  `),n("span",{class:"token comment"},"// Register a callback to listen to the wallet (ws subscription)"),s(`
  connection`),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"onAccountChange"),n("span",{class:"token punctuation"},"("),s(`
    wallet`),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"publicKey"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(`
    `),n("span",{class:"token punctuation"},"("),s("updatedAccountInfo"),n("span",{class:"token punctuation"},","),s(" context"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"=>"),s(`
      `),n("span",{class:"token builtin"},"console"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"log"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"Updated account info: "'),n("span",{class:"token punctuation"},","),s(" updatedAccountInfo"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(`
    `),n("span",{class:"token string"},'"confirmed"'),s(`
  `),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br"),n("span",{class:"line-number"},"9"),n("br"),n("span",{class:"line-number"},"10"),n("br"),n("span",{class:"line-number"},"11"),n("br"),n("span",{class:"line-number"},"12"),n("br"),n("span",{class:"line-number"},"13"),n("br"),n("span",{class:"line-number"},"14"),n("br"),n("span",{class:"line-number"},"15"),n("br"),n("span",{class:"line-number"},"16"),n("br"),n("span",{class:"line-number"},"17"),n("br")])],-1),mn=n("div",{class:"language-typescript ext-ts line-numbers-mode"},[n("pre",{class:"language-typescript"},[n("code",null,[n("span",{class:"token comment"},"// Establish new connect to devnet - websocket client connected to devnet will also be registered here"),s(`
`),n("span",{class:"token keyword"},"const"),s(" connection "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"new"),s(),n("span",{class:"token class-name"},"Connection"),n("span",{class:"token punctuation"},"("),n("span",{class:"token function"},"clusterApiUrl"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"devnet"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token string"},'"confirmed"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token comment"},"// Create a test wallet to listen to"),s(`
`),n("span",{class:"token keyword"},"const"),s(" wallet "),n("span",{class:"token operator"},"="),s(" Keypair"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"generate"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token comment"},"// Register a callback to listen to the wallet (ws subscription)"),s(`
connection`),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"onAccountChange"),n("span",{class:"token punctuation"},"("),s(`
  wallet`),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"publicKey"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(`
  `),n("span",{class:"token punctuation"},"("),s("updatedAccountInfo"),n("span",{class:"token punctuation"},","),s(" context"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"=>"),s(`
    `),n("span",{class:"token builtin"},"console"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"log"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"Updated account info: "'),n("span",{class:"token punctuation"},","),s(" updatedAccountInfo"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(`
  `),n("span",{class:"token string"},'"confirmed"'),s(`
`),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br"),n("span",{class:"line-number"},"9"),n("br"),n("span",{class:"line-number"},"10"),n("br"),n("span",{class:"line-number"},"11"),n("br"),n("span",{class:"line-number"},"12"),n("br"),n("span",{class:"line-number"},"13"),n("br")])],-1),dn=n("div",{class:"language-python ext-py line-numbers-mode"},[n("pre",{class:"language-python"},[n("code",null,[n("span",{class:"token keyword"},"import"),s(` asyncio
`),n("span",{class:"token keyword"},"from"),s(" solders"),n("span",{class:"token punctuation"},"."),s("keypair "),n("span",{class:"token keyword"},"import"),s(` Keypair
`),n("span",{class:"token keyword"},"from"),s(" solana"),n("span",{class:"token punctuation"},"."),s("rpc"),n("span",{class:"token punctuation"},"."),s("websocket_api "),n("span",{class:"token keyword"},"import"),s(` connect

`),n("span",{class:"token keyword"},"async"),s(),n("span",{class:"token keyword"},"def"),s(),n("span",{class:"token function"},"main"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},":"),s(`
    `),n("span",{class:"token keyword"},"async"),s(),n("span",{class:"token keyword"},"with"),s(" connect"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"wss://api.devnet.solana.com"'),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token keyword"},"as"),s(" websocket"),n("span",{class:"token punctuation"},":"),s(`
        `),n("span",{class:"token comment"},"# Create a Test Wallet"),s(`
        wallet `),n("span",{class:"token operator"},"="),s(" Keypair"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(`
        `),n("span",{class:"token comment"},"# Subscribe to the Test wallet to listen for events"),s(`
        `),n("span",{class:"token keyword"},"await"),s(" websocket"),n("span",{class:"token punctuation"},"."),s("account_subscribe"),n("span",{class:"token punctuation"},"("),s("wallet"),n("span",{class:"token punctuation"},"."),s("pubkey"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},")"),s(`
        `),n("span",{class:"token comment"},"# Capture response from account subscription "),s(`
        first_resp `),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"await"),s(" websocket"),n("span",{class:"token punctuation"},"."),s("recv"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(`
        `),n("span",{class:"token keyword"},"print"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"Subscription successful with id {}, listening for events \\n"'),n("span",{class:"token punctuation"},"."),n("span",{class:"token builtin"},"format"),n("span",{class:"token punctuation"},"("),s("first_resp"),n("span",{class:"token punctuation"},"."),s("result"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},")"),s(`
        updated_account_info `),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"await"),s(" websocket"),n("span",{class:"token punctuation"},"."),s("recv"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(`
        `),n("span",{class:"token keyword"},"print"),n("span",{class:"token punctuation"},"("),s("updated_account_info"),n("span",{class:"token punctuation"},")"),s(`
        
asyncio`),n("span",{class:"token punctuation"},"."),s("run"),n("span",{class:"token punctuation"},"("),s("main"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},")"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br"),n("span",{class:"line-number"},"9"),n("br"),n("span",{class:"line-number"},"10"),n("br"),n("span",{class:"line-number"},"11"),n("br"),n("span",{class:"line-number"},"12"),n("br"),n("span",{class:"line-number"},"13"),n("br"),n("span",{class:"line-number"},"14"),n("br"),n("span",{class:"line-number"},"15"),n("br"),n("span",{class:"line-number"},"16"),n("br"),n("span",{class:"line-number"},"17"),n("br")])],-1),gn=n("div",{class:"language-python ext-py line-numbers-mode"},[n("pre",{class:"language-python"},[n("code",null,[n("span",{class:"token keyword"},"async"),s(),n("span",{class:"token keyword"},"with"),s(" connect"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"wss://api.devnet.solana.com"'),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token keyword"},"as"),s(" websocket"),n("span",{class:"token punctuation"},":"),s(`
    `),n("span",{class:"token comment"},"# Create a Test Wallet"),s(`
    wallet `),n("span",{class:"token operator"},"="),s(" Keypair"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(`
    `),n("span",{class:"token comment"},"# Subscribe to the Test wallet to listen for events"),s(`
    `),n("span",{class:"token keyword"},"await"),s(" websocket"),n("span",{class:"token punctuation"},"."),s("account_subscribe"),n("span",{class:"token punctuation"},"("),s("wallet"),n("span",{class:"token punctuation"},"."),s("pubkey"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},")"),s(`
    `),n("span",{class:"token comment"},"# Capture response from account subscription "),s(`
    first_resp `),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"await"),s(" websocket"),n("span",{class:"token punctuation"},"."),s("recv"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(`
    `),n("span",{class:"token keyword"},"print"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"Subscription successful with id {}, listening for events \\n"'),n("span",{class:"token punctuation"},"."),n("span",{class:"token builtin"},"format"),n("span",{class:"token punctuation"},"("),s("first_resp"),n("span",{class:"token punctuation"},"."),s("result"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},")"),s(`
    updated_account_info `),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"await"),s(" websocket"),n("span",{class:"token punctuation"},"."),s("recv"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(`
    `),n("span",{class:"token keyword"},"print"),n("span",{class:"token punctuation"},"("),s("updated_account_info"),n("span",{class:"token punctuation"},")"),s(`    
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br"),n("span",{class:"line-number"},"9"),n("br"),n("span",{class:"line-number"},"10"),n("br")])],-1),hn=n("div",{class:"language-cpp ext-cpp line-numbers-mode"},[n("pre",{class:"language-cpp"},[n("code",null,[n("span",{class:"token comment"},"// clang++ on_account_change.cpp -o on_account_change -std=c++17 -lssl -lcrypto -lsodium"),s(`

`),n("span",{class:"token macro property"},[n("span",{class:"token directive-hash"},"#"),n("span",{class:"token directive keyword"},"include"),s(),n("span",{class:"token string"},'"solana.hpp"')]),s(`

`),n("span",{class:"token keyword"},"using"),s(),n("span",{class:"token keyword"},"namespace"),s(" many"),n("span",{class:"token double-colon punctuation"},"::"),s("solana"),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token keyword"},"int"),s(),n("span",{class:"token function"},"main"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
  Connection `),n("span",{class:"token function"},"connection"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"https://api.devnet.solana.com"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

  `),n("span",{class:"token keyword"},"auto"),s(" key_pair "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"Keypair"),n("span",{class:"token double-colon punctuation"},"::"),n("span",{class:"token function"},"generate"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

  `),n("span",{class:"token keyword"},"int"),s(" subscriptionId "),n("span",{class:"token operator"},"="),s(" connection"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"on_account_change"),n("span",{class:"token punctuation"},"("),s("key_pair"),n("span",{class:"token punctuation"},"."),s("public_key"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token punctuation"},"["),n("span",{class:"token operator"},"&"),n("span",{class:"token punctuation"},"]"),n("span",{class:"token punctuation"},"("),s("Result"),n("span",{class:"token operator"},"<"),s("Account"),n("span",{class:"token operator"},">"),s(" result"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
    Account account `),n("span",{class:"token operator"},"="),s(" result"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"unwrap"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    std`),n("span",{class:"token double-colon punctuation"},"::"),s("cout "),n("span",{class:"token operator"},"<<"),s(),n("span",{class:"token string"},'"owner = "'),s(),n("span",{class:"token operator"},"<<"),s(" account"),n("span",{class:"token punctuation"},"."),s("owner"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"to_base58"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"<<"),s(" std"),n("span",{class:"token double-colon punctuation"},"::"),s("endl"),n("span",{class:"token punctuation"},";"),s(`
    std`),n("span",{class:"token double-colon punctuation"},"::"),s("cout "),n("span",{class:"token operator"},"<<"),s(),n("span",{class:"token string"},'"lamports = "'),s(),n("span",{class:"token operator"},"<<"),s(" account"),n("span",{class:"token punctuation"},"."),s("lamports "),n("span",{class:"token operator"},"<<"),s(" std"),n("span",{class:"token double-colon punctuation"},"::"),s("endl"),n("span",{class:"token punctuation"},";"),s(`
    std`),n("span",{class:"token double-colon punctuation"},"::"),s("cout "),n("span",{class:"token operator"},"<<"),s(),n("span",{class:"token string"},'"data = "'),s(),n("span",{class:"token operator"},"<<"),s(" account"),n("span",{class:"token punctuation"},"."),s("data "),n("span",{class:"token operator"},"<<"),s(" std"),n("span",{class:"token double-colon punctuation"},"::"),s("endl"),n("span",{class:"token punctuation"},";"),s(`
    std`),n("span",{class:"token double-colon punctuation"},"::"),s("cout "),n("span",{class:"token operator"},"<<"),s(),n("span",{class:"token string"},'"executable = "'),s(),n("span",{class:"token operator"},"<<"),s(),n("span",{class:"token punctuation"},"("),s("account"),n("span",{class:"token punctuation"},"."),s("executable "),n("span",{class:"token operator"},"?"),s(),n("span",{class:"token string"},'"true"'),s(),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"false"'),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"<<"),s(" std"),n("span",{class:"token double-colon punctuation"},"::"),s("endl"),n("span",{class:"token punctuation"},";"),s(`
  `),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

  `),n("span",{class:"token function"},"sleep"),n("span",{class:"token punctuation"},"("),n("span",{class:"token number"},"1"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

  std`),n("span",{class:"token double-colon punctuation"},"::"),s("string tx_hash "),n("span",{class:"token operator"},"="),s(" connection"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"request_airdrop"),n("span",{class:"token punctuation"},"("),s("key_pair"),n("span",{class:"token punctuation"},"."),s("public_key"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"unwrap"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
  std`),n("span",{class:"token double-colon punctuation"},"::"),s("cout "),n("span",{class:"token operator"},"<<"),s(),n("span",{class:"token string"},'"tx hash = "'),s(),n("span",{class:"token operator"},"<<"),s(" tx_hash "),n("span",{class:"token operator"},"<<"),s(" std"),n("span",{class:"token double-colon punctuation"},"::"),s("endl"),n("span",{class:"token punctuation"},";"),s(`

  `),n("span",{class:"token keyword"},"for"),s(),n("span",{class:"token punctuation"},"("),n("span",{class:"token keyword"},"int"),s(" i "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token number"},"0"),n("span",{class:"token punctuation"},";"),s(" i "),n("span",{class:"token operator"},"<"),s(),n("span",{class:"token number"},"10"),n("span",{class:"token punctuation"},";"),s(" i"),n("span",{class:"token operator"},"++"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
    connection`),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"poll"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token function"},"sleep"),n("span",{class:"token punctuation"},"("),n("span",{class:"token number"},"1"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
  `),n("span",{class:"token punctuation"},"}"),s(`

  connection`),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"remove_account_listener"),n("span",{class:"token punctuation"},"("),s("subscriptionId"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

  `),n("span",{class:"token keyword"},"return"),s(),n("span",{class:"token number"},"0"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token punctuation"},"}"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br"),n("span",{class:"line-number"},"9"),n("br"),n("span",{class:"line-number"},"10"),n("br"),n("span",{class:"line-number"},"11"),n("br"),n("span",{class:"line-number"},"12"),n("br"),n("span",{class:"line-number"},"13"),n("br"),n("span",{class:"line-number"},"14"),n("br"),n("span",{class:"line-number"},"15"),n("br"),n("span",{class:"line-number"},"16"),n("br"),n("span",{class:"line-number"},"17"),n("br"),n("span",{class:"line-number"},"18"),n("br"),n("span",{class:"line-number"},"19"),n("br"),n("span",{class:"line-number"},"20"),n("br"),n("span",{class:"line-number"},"21"),n("br"),n("span",{class:"line-number"},"22"),n("br"),n("span",{class:"line-number"},"23"),n("br"),n("span",{class:"line-number"},"24"),n("br"),n("span",{class:"line-number"},"25"),n("br"),n("span",{class:"line-number"},"26"),n("br"),n("span",{class:"line-number"},"27"),n("br"),n("span",{class:"line-number"},"28"),n("br"),n("span",{class:"line-number"},"29"),n("br"),n("span",{class:"line-number"},"30"),n("br"),n("span",{class:"line-number"},"31"),n("br"),n("span",{class:"line-number"},"32"),n("br"),n("span",{class:"line-number"},"33"),n("br")])],-1),_n=n("div",{class:"language-cpp ext-cpp line-numbers-mode"},[n("pre",{class:"language-cpp"},[n("code",null,[n("span",{class:"token keyword"},"auto"),s(" key_pair "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"Keypair"),n("span",{class:"token double-colon punctuation"},"::"),n("span",{class:"token function"},"generate"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token keyword"},"int"),s(" subscriptionId "),n("span",{class:"token operator"},"="),s(" connection"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"on_account_change"),n("span",{class:"token punctuation"},"("),s("key_pair"),n("span",{class:"token punctuation"},"."),s("public_key"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token punctuation"},"["),n("span",{class:"token operator"},"&"),n("span",{class:"token punctuation"},"]"),n("span",{class:"token punctuation"},"("),s("Result"),n("span",{class:"token operator"},"<"),s("Account"),n("span",{class:"token operator"},">"),s(" result"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
    Account account `),n("span",{class:"token operator"},"="),s(" result"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"unwrap"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    std`),n("span",{class:"token double-colon punctuation"},"::"),s("cout "),n("span",{class:"token operator"},"<<"),s(),n("span",{class:"token string"},'"owner = "'),s(),n("span",{class:"token operator"},"<<"),s(" account"),n("span",{class:"token punctuation"},"."),s("owner"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"to_base58"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"<<"),s(" std"),n("span",{class:"token double-colon punctuation"},"::"),s("endl"),n("span",{class:"token punctuation"},";"),s(`
    std`),n("span",{class:"token double-colon punctuation"},"::"),s("cout "),n("span",{class:"token operator"},"<<"),s(),n("span",{class:"token string"},'"lamports = "'),s(),n("span",{class:"token operator"},"<<"),s(" account"),n("span",{class:"token punctuation"},"."),s("lamports "),n("span",{class:"token operator"},"<<"),s(" std"),n("span",{class:"token double-colon punctuation"},"::"),s("endl"),n("span",{class:"token punctuation"},";"),s(`
    std`),n("span",{class:"token double-colon punctuation"},"::"),s("cout "),n("span",{class:"token operator"},"<<"),s(),n("span",{class:"token string"},'"data = "'),s(),n("span",{class:"token operator"},"<<"),s(" account"),n("span",{class:"token punctuation"},"."),s("data "),n("span",{class:"token operator"},"<<"),s(" std"),n("span",{class:"token double-colon punctuation"},"::"),s("endl"),n("span",{class:"token punctuation"},";"),s(`
    std`),n("span",{class:"token double-colon punctuation"},"::"),s("cout "),n("span",{class:"token operator"},"<<"),s(),n("span",{class:"token string"},'"executable = "'),s(),n("span",{class:"token operator"},"<<"),s(),n("span",{class:"token punctuation"},"("),s("account"),n("span",{class:"token punctuation"},"."),s("executable "),n("span",{class:"token operator"},"?"),s(),n("span",{class:"token string"},'"true"'),s(),n("span",{class:"token operator"},":"),s(),n("span",{class:"token string"},'"false"'),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"<<"),s(" std"),n("span",{class:"token double-colon punctuation"},"::"),s("endl"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token keyword"},"for"),s(),n("span",{class:"token punctuation"},"("),n("span",{class:"token keyword"},"int"),s(" i "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token number"},"0"),n("span",{class:"token punctuation"},";"),s(" i "),n("span",{class:"token operator"},"<"),s(),n("span",{class:"token number"},"10"),n("span",{class:"token punctuation"},";"),s(" i"),n("span",{class:"token operator"},"++"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
    connection`),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"poll"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token function"},"sleep"),n("span",{class:"token punctuation"},"("),n("span",{class:"token number"},"1"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token punctuation"},"}"),s(`

connection`),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"remove_account_listener"),n("span",{class:"token punctuation"},"("),s("subscriptionId"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br"),n("span",{class:"line-number"},"9"),n("br"),n("span",{class:"line-number"},"10"),n("br"),n("span",{class:"line-number"},"11"),n("br"),n("span",{class:"line-number"},"12"),n("br"),n("span",{class:"line-number"},"13"),n("br"),n("span",{class:"line-number"},"14"),n("br"),n("span",{class:"line-number"},"15"),n("br"),n("span",{class:"line-number"},"16"),n("br")])],-1),wn=n("div",{class:"language-rust ext-rs line-numbers-mode"},[n("pre",{class:"language-rust"},[n("code",null,[n("span",{class:"token keyword"},"use"),s(),n("span",{class:"token namespace"},[s("solana_client"),n("span",{class:"token punctuation"},"::"),s("pubsub_client"),n("span",{class:"token punctuation"},"::")]),n("span",{class:"token class-name"},"PubsubClient"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token keyword"},"use"),s(),n("span",{class:"token namespace"},[s("solana_client"),n("span",{class:"token punctuation"},"::"),s("rpc_config"),n("span",{class:"token punctuation"},"::")]),n("span",{class:"token class-name"},"RpcAccountInfoConfig"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token keyword"},"use"),s(),n("span",{class:"token namespace"},[s("solana_sdk"),n("span",{class:"token punctuation"},"::"),s("commitment_config"),n("span",{class:"token punctuation"},"::")]),n("span",{class:"token class-name"},"CommitmentConfig"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token keyword"},"use"),s(),n("span",{class:"token namespace"},[s("solana_sdk"),n("span",{class:"token punctuation"},"::"),s("signature"),n("span",{class:"token punctuation"},"::")]),n("span",{class:"token punctuation"},"{"),n("span",{class:"token class-name"},"Keypair"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token class-name"},"Signer"),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token keyword"},"fn"),s(),n("span",{class:"token function-definition function"},"main"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
    `),n("span",{class:"token keyword"},"let"),s(" wallet "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"Keypair"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"new"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token keyword"},"let"),s(" pubkey "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"Signer"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"pubkey"),n("span",{class:"token punctuation"},"("),n("span",{class:"token operator"},"&"),s("wallet"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token keyword"},"let"),s(" ws_url "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"String"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"from"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"wss://api.devnet.solana.com/"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token macro property"},"println!"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"{}"'),n("span",{class:"token punctuation"},","),s(" ws_url"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token keyword"},"if"),s(),n("span",{class:"token keyword"},"let"),s(),n("span",{class:"token class-name"},"Ok"),n("span",{class:"token punctuation"},"("),s("subscription"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"PubsubClient"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"account_subscribe"),n("span",{class:"token punctuation"},"("),s(`
        `),n("span",{class:"token operator"},"&"),s("ws_url"),n("span",{class:"token punctuation"},","),s(`
        `),n("span",{class:"token operator"},"&"),s("pubkey"),n("span",{class:"token punctuation"},","),s(`
        `),n("span",{class:"token class-name"},"Some"),n("span",{class:"token punctuation"},"("),n("span",{class:"token class-name"},"RpcAccountInfoConfig"),s(),n("span",{class:"token punctuation"},"{"),s(`
            encoding`),n("span",{class:"token punctuation"},":"),s(),n("span",{class:"token class-name"},"None"),n("span",{class:"token punctuation"},","),s(`
            data_slice`),n("span",{class:"token punctuation"},":"),s(),n("span",{class:"token class-name"},"None"),n("span",{class:"token punctuation"},","),s(`
            commitment`),n("span",{class:"token punctuation"},":"),s(),n("span",{class:"token class-name"},"Some"),n("span",{class:"token punctuation"},"("),n("span",{class:"token class-name"},"CommitmentConfig"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"confirmed"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(`
        `),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(`
    `),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
        `),n("span",{class:"token keyword"},"let"),s(),n("span",{class:"token punctuation"},"("),n("span",{class:"token keyword"},"mut"),s(" ws_client"),n("span",{class:"token punctuation"},","),s(" receiver"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"="),s(" subscription"),n("span",{class:"token punctuation"},";"),s(`
        `),n("span",{class:"token macro property"},"println!"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"Subscription successful, listening for events"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
        `),n("span",{class:"token keyword"},"let"),s(" handle "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token namespace"},[s("std"),n("span",{class:"token punctuation"},"::"),s("thread"),n("span",{class:"token punctuation"},"::")]),n("span",{class:"token function"},"spawn"),n("span",{class:"token punctuation"},"("),n("span",{class:"token keyword"},"move"),s(),n("span",{class:"token closure-params"},[n("span",{class:"token closure-punctuation punctuation"},"|"),n("span",{class:"token closure-punctuation punctuation"},"|")]),s(),n("span",{class:"token keyword"},"loop"),s(),n("span",{class:"token punctuation"},"{"),s(`
            `),n("span",{class:"token macro property"},"println!"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"Waiting for a message"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
            `),n("span",{class:"token keyword"},"match"),s(" receiver"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"recv"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
                `),n("span",{class:"token class-name"},"Ok"),n("span",{class:"token punctuation"},"("),s("message"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"=>"),s(),n("span",{class:"token macro property"},"println!"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"{:?}"'),n("span",{class:"token punctuation"},","),s(" message"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(`
                `),n("span",{class:"token class-name"},"Err"),n("span",{class:"token punctuation"},"("),s("err"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"=>"),s(),n("span",{class:"token punctuation"},"{"),s(`
                    `),n("span",{class:"token macro property"},"println!"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"Connection broke with {:}"'),n("span",{class:"token punctuation"},","),s(" err"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
                    `),n("span",{class:"token keyword"},"break"),n("span",{class:"token punctuation"},";"),s(`
                `),n("span",{class:"token punctuation"},"}"),s(`
            `),n("span",{class:"token punctuation"},"}"),s(`
        `),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
        handle`),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"join"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"unwrap"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
        ws_client`),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"shutdown"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"unwrap"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(`
    `),n("span",{class:"token punctuation"},"}"),s(),n("span",{class:"token keyword"},"else"),s(),n("span",{class:"token punctuation"},"{"),s(`
        `),n("span",{class:"token macro property"},"println!"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"Errooooor"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token punctuation"},"}"),s(`
`),n("span",{class:"token punctuation"},"}"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br"),n("span",{class:"line-number"},"9"),n("br"),n("span",{class:"line-number"},"10"),n("br"),n("span",{class:"line-number"},"11"),n("br"),n("span",{class:"line-number"},"12"),n("br"),n("span",{class:"line-number"},"13"),n("br"),n("span",{class:"line-number"},"14"),n("br"),n("span",{class:"line-number"},"15"),n("br"),n("span",{class:"line-number"},"16"),n("br"),n("span",{class:"line-number"},"17"),n("br"),n("span",{class:"line-number"},"18"),n("br"),n("span",{class:"line-number"},"19"),n("br"),n("span",{class:"line-number"},"20"),n("br"),n("span",{class:"line-number"},"21"),n("br"),n("span",{class:"line-number"},"22"),n("br"),n("span",{class:"line-number"},"23"),n("br"),n("span",{class:"line-number"},"24"),n("br"),n("span",{class:"line-number"},"25"),n("br"),n("span",{class:"line-number"},"26"),n("br"),n("span",{class:"line-number"},"27"),n("br"),n("span",{class:"line-number"},"28"),n("br"),n("span",{class:"line-number"},"29"),n("br"),n("span",{class:"line-number"},"30"),n("br"),n("span",{class:"line-number"},"31"),n("br"),n("span",{class:"line-number"},"32"),n("br"),n("span",{class:"line-number"},"33"),n("br"),n("span",{class:"line-number"},"34"),n("br"),n("span",{class:"line-number"},"35"),n("br"),n("span",{class:"line-number"},"36"),n("br"),n("span",{class:"line-number"},"37"),n("br")])],-1),yn=n("div",{class:"language-rust ext-rs line-numbers-mode"},[n("pre",{class:"language-rust"},[n("code",null,[n("span",{class:"token keyword"},"let"),s(" ws_url "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"String"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"from"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"wss://api.devnet.solana.com/"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token keyword"},"let"),s(),n("span",{class:"token punctuation"},"("),n("span",{class:"token keyword"},"mut"),s(" client"),n("span",{class:"token punctuation"},","),s(" receiver"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"PubsubClient"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"account_subscribe"),n("span",{class:"token punctuation"},"("),s(`
    `),n("span",{class:"token operator"},"&"),s("ws_url"),n("span",{class:"token punctuation"},","),s(`
    `),n("span",{class:"token operator"},"&"),s("pubkey"),n("span",{class:"token punctuation"},","),s(`
    `),n("span",{class:"token class-name"},"Some"),n("span",{class:"token punctuation"},"("),n("span",{class:"token class-name"},"RpcAccountInfoConfig"),s(),n("span",{class:"token punctuation"},"{"),s(`
        encoding`),n("span",{class:"token punctuation"},":"),s(),n("span",{class:"token class-name"},"None"),n("span",{class:"token punctuation"},","),s(`
        data_slice`),n("span",{class:"token punctuation"},":"),s(),n("span",{class:"token class-name"},"None"),n("span",{class:"token punctuation"},","),s(`
        commitment`),n("span",{class:"token punctuation"},":"),s(),n("span",{class:"token class-name"},"Some"),n("span",{class:"token punctuation"},"("),n("span",{class:"token class-name"},"CommitmentConfig"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"confirmed"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(`
    `),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(`
`),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"unwrap"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token keyword"},"let"),s(" message "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"match"),s(" receiver"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"recv"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"unwrap"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token macro property"},"println!"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"{:?}"'),n("span",{class:"token punctuation"},","),s(" message"),n("span",{class:"token punctuation"},")"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br"),n("span",{class:"line-number"},"9"),n("br"),n("span",{class:"line-number"},"10"),n("br"),n("span",{class:"line-number"},"11"),n("br"),n("span",{class:"line-number"},"12"),n("br")])],-1),fn=n("h2",{id:"getting-test-sol",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#getting-test-sol","aria-hidden":"true"},"#"),s(" Getting Test SOL")],-1),vn=n("p",null,"\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E40\u0E23\u0E32\u0E17\u0E33\u0E07\u0E32\u0E19\u0E17\u0E35\u0E48 local \u0E40\u0E23\u0E32\u0E08\u0E30\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23 SOL \u0E43\u0E19\u0E01\u0E32\u0E23\u0E2A\u0E48\u0E07 transactions \u0E1A\u0E19 non-mainnet environments \u0E40\u0E23\u0E32\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E02\u0E2D SOL \u0E44\u0E14\u0E49\u0E14\u0E49\u0E27\u0E22\u0E01\u0E32\u0E23 airdrop \u0E44\u0E1B\u0E17\u0E35\u0E48 address \u0E02\u0E2D\u0E07\u0E40\u0E23\u0E32",-1),Cn=n("div",{class:"language-typescript ext-ts line-numbers-mode"},[n("pre",{class:"language-typescript"},[n("code",null,[n("span",{class:"token keyword"},"import"),s(),n("span",{class:"token punctuation"},"{"),s(" Connection"),n("span",{class:"token punctuation"},","),s(" Keypair"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token constant"},"LAMPORTS_PER_SOL"),s(),n("span",{class:"token punctuation"},"}"),s(),n("span",{class:"token keyword"},"from"),s(),n("span",{class:"token string"},'"@solana/web3.js"'),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token punctuation"},"("),n("span",{class:"token keyword"},"async"),s(),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"=>"),s(),n("span",{class:"token punctuation"},"{"),s(`
  `),n("span",{class:"token keyword"},"const"),s(" keypair "),n("span",{class:"token operator"},"="),s(" Keypair"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"generate"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

  `),n("span",{class:"token keyword"},"const"),s(" connection "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"new"),s(),n("span",{class:"token class-name"},"Connection"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"http://127.0.0.1:8899"'),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token string"},'"confirmed"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

  `),n("span",{class:"token keyword"},"const"),s(" signature "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"await"),s(" connection"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"requestAirdrop"),n("span",{class:"token punctuation"},"("),s(`
    keypair`),n("span",{class:"token punctuation"},"."),s("publicKey"),n("span",{class:"token punctuation"},","),s(`
    `),n("span",{class:"token constant"},"LAMPORTS_PER_SOL"),s(`
  `),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
  `),n("span",{class:"token keyword"},"const"),s(),n("span",{class:"token punctuation"},"{"),s(" blockhash"),n("span",{class:"token punctuation"},","),s(" lastValidBlockHeight "),n("span",{class:"token punctuation"},"}"),s(),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"await"),s(" connection"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"getLatestBlockhash"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
  `),n("span",{class:"token keyword"},"await"),s(" connection"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"confirmTransaction"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},"{"),s(`
      blockhash`),n("span",{class:"token punctuation"},","),s(`
      lastValidBlockHeight`),n("span",{class:"token punctuation"},","),s(`
      signature
    `),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br"),n("span",{class:"line-number"},"9"),n("br"),n("span",{class:"line-number"},"10"),n("br"),n("span",{class:"line-number"},"11"),n("br"),n("span",{class:"line-number"},"12"),n("br"),n("span",{class:"line-number"},"13"),n("br"),n("span",{class:"line-number"},"14"),n("br"),n("span",{class:"line-number"},"15"),n("br"),n("span",{class:"line-number"},"16"),n("br"),n("span",{class:"line-number"},"17"),n("br"),n("span",{class:"line-number"},"18"),n("br")])],-1),xn=n("div",{class:"language-typescript ext-ts line-numbers-mode"},[n("pre",{class:"language-typescript"},[n("code",null,[n("span",{class:"token keyword"},"const"),s(" airdropSignature "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token keyword"},"await"),s(" connection"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"requestAirdrop"),n("span",{class:"token punctuation"},"("),s(`
  keypair`),n("span",{class:"token punctuation"},"."),s("publicKey"),n("span",{class:"token punctuation"},","),s(`
  `),n("span",{class:"token constant"},"LAMPORTS_PER_SOL"),s(`
`),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token keyword"},"await"),s(" connection"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"confirmTransaction"),n("span",{class:"token punctuation"},"("),s("airdropSignature"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br")])],-1),Sn=n("div",{class:"language-python ext-py line-numbers-mode"},[n("pre",{class:"language-python"},[n("code",null,[n("span",{class:"token keyword"},"from"),s(" solders"),n("span",{class:"token punctuation"},"."),s("keypair "),n("span",{class:"token keyword"},"import"),s(` Keypair
`),n("span",{class:"token keyword"},"from"),s(" solana"),n("span",{class:"token punctuation"},"."),s("rpc"),n("span",{class:"token punctuation"},"."),s("api "),n("span",{class:"token keyword"},"import"),s(` Client

wallet `),n("span",{class:"token operator"},"="),s(" Keypair"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(`

client `),n("span",{class:"token operator"},"="),s(" Client"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"https://api.devnet.solana.com"'),n("span",{class:"token punctuation"},")"),s(`

`),n("span",{class:"token comment"},"#Input Airdrop amount in LAMPORTS"),s(`
client`),n("span",{class:"token punctuation"},"."),s("request_airdrop"),n("span",{class:"token punctuation"},"("),s("wallet"),n("span",{class:"token punctuation"},"."),s("pubkey"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token number"},"1000000000"),n("span",{class:"token punctuation"},")"),s(`

`),n("span",{class:"token comment"},"#Airdrops 1 SOL"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br"),n("span",{class:"line-number"},"9"),n("br"),n("span",{class:"line-number"},"10"),n("br"),n("span",{class:"line-number"},"11"),n("br")])],-1),An=n("div",{class:"language-python ext-py line-numbers-mode"},[n("pre",{class:"language-python"},[n("code",null,[n("span",{class:"token comment"},"#Input Airdrop amount in LAMPORTS"),s(`
client`),n("span",{class:"token punctuation"},"."),s("request_airdrop"),n("span",{class:"token punctuation"},"("),s("wallet"),n("span",{class:"token punctuation"},"."),s("pubkey"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token number"},"1000000000"),n("span",{class:"token punctuation"},")"),s(`

`),n("span",{class:"token comment"},"#Airdrops 1 SOL"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br")])],-1),Rn=n("div",{class:"language-cpp ext-cpp line-numbers-mode"},[n("pre",{class:"language-cpp"},[n("code",null,[n("span",{class:"token comment"},"// clang++ request_airdrop.cpp -o request_airdrop -std=c++17 -lssl -lcrypto -lsodium"),s(`

`),n("span",{class:"token macro property"},[n("span",{class:"token directive-hash"},"#"),n("span",{class:"token directive keyword"},"include"),s(),n("span",{class:"token string"},'"solana.hpp"')]),s(`

`),n("span",{class:"token keyword"},"using"),s(),n("span",{class:"token keyword"},"namespace"),s(" many"),n("span",{class:"token double-colon punctuation"},"::"),s("solana"),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token keyword"},"int"),s(),n("span",{class:"token function"},"main"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
  Connection `),n("span",{class:"token function"},"connection"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"https://api.devnet.solana.com"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

  `),n("span",{class:"token keyword"},"auto"),s(" key_pair "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"Keypair"),n("span",{class:"token double-colon punctuation"},"::"),n("span",{class:"token function"},"generate"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

  std`),n("span",{class:"token double-colon punctuation"},"::"),s("string tx_hash "),n("span",{class:"token operator"},"="),s(" connection"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"request_airdrop"),n("span",{class:"token punctuation"},"("),s("key_pair"),n("span",{class:"token punctuation"},"."),s("public_key"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"unwrap"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`

  std`),n("span",{class:"token double-colon punctuation"},"::"),s("cout "),n("span",{class:"token operator"},"<<"),s(),n("span",{class:"token string"},'"tx hash = "'),s(),n("span",{class:"token operator"},"<<"),s(" tx_hash "),n("span",{class:"token operator"},"<<"),s(" std"),n("span",{class:"token double-colon punctuation"},"::"),s("endl"),n("span",{class:"token punctuation"},";"),s(`

  `),n("span",{class:"token keyword"},"return"),s(),n("span",{class:"token number"},"0"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token punctuation"},"}"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br"),n("span",{class:"line-number"},"9"),n("br"),n("span",{class:"line-number"},"10"),n("br"),n("span",{class:"line-number"},"11"),n("br"),n("span",{class:"line-number"},"12"),n("br"),n("span",{class:"line-number"},"13"),n("br"),n("span",{class:"line-number"},"14"),n("br"),n("span",{class:"line-number"},"15"),n("br"),n("span",{class:"line-number"},"16"),n("br"),n("span",{class:"line-number"},"17"),n("br")])],-1),Ln=n("div",{class:"language-cpp ext-cpp line-numbers-mode"},[n("pre",{class:"language-cpp"},[n("code",null,[s("connection"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"request_airdrop"),n("span",{class:"token punctuation"},"("),s("key_pair"),n("span",{class:"token punctuation"},"."),s("public_key"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"unwrap"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),Pn=n("div",{class:"language-rust ext-rs line-numbers-mode"},[n("pre",{class:"language-rust"},[n("code",null,[n("span",{class:"token keyword"},"use"),s(),n("span",{class:"token namespace"},[s("solana_client"),n("span",{class:"token punctuation"},"::"),s("rpc_client"),n("span",{class:"token punctuation"},"::")]),n("span",{class:"token class-name"},"RpcClient"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token keyword"},"use"),s(),n("span",{class:"token namespace"},[s("solana_sdk"),n("span",{class:"token punctuation"},"::"),s("commitment_config"),n("span",{class:"token punctuation"},"::")]),n("span",{class:"token class-name"},"CommitmentConfig"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token keyword"},"use"),s(),n("span",{class:"token namespace"},[s("solana_sdk"),n("span",{class:"token punctuation"},"::"),s("native_token"),n("span",{class:"token punctuation"},"::")]),n("span",{class:"token constant"},"LAMPORTS_PER_SOL"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token keyword"},"use"),s(),n("span",{class:"token namespace"},[s("solana_sdk"),n("span",{class:"token punctuation"},"::"),s("signature"),n("span",{class:"token punctuation"},"::")]),n("span",{class:"token punctuation"},"{"),n("span",{class:"token class-name"},"Keypair"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token class-name"},"Signer"),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},";"),s(`

`),n("span",{class:"token keyword"},"fn"),s(),n("span",{class:"token function-definition function"},"main"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
    `),n("span",{class:"token keyword"},"let"),s(" wallet "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"Keypair"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"new"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token keyword"},"let"),s(" pubkey "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"Signer"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"pubkey"),n("span",{class:"token punctuation"},"("),n("span",{class:"token operator"},"&"),s("wallet"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token keyword"},"let"),s(" rpc_url "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"String"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"from"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"https://api.devnet.solana.com"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token keyword"},"let"),s(" client "),n("span",{class:"token operator"},"="),s(),n("span",{class:"token class-name"},"RpcClient"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"new_with_commitment"),n("span",{class:"token punctuation"},"("),s("rpc_url"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token class-name"},"CommitmentConfig"),n("span",{class:"token punctuation"},"::"),n("span",{class:"token function"},"confirmed"),n("span",{class:"token punctuation"},"("),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
    `),n("span",{class:"token keyword"},"match"),s(" client"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"request_airdrop"),n("span",{class:"token punctuation"},"("),n("span",{class:"token operator"},"&"),s("pubkey"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token constant"},"LAMPORTS_PER_SOL"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
        `),n("span",{class:"token class-name"},"Ok"),n("span",{class:"token punctuation"},"("),s("sig"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"=>"),s(),n("span",{class:"token keyword"},"loop"),s(),n("span",{class:"token punctuation"},"{"),s(`
            `),n("span",{class:"token keyword"},"if"),s(),n("span",{class:"token keyword"},"let"),s(),n("span",{class:"token class-name"},"Ok"),n("span",{class:"token punctuation"},"("),s("confirmed"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"="),s(" client"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"confirm_transaction"),n("span",{class:"token punctuation"},"("),n("span",{class:"token operator"},"&"),s("sig"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
                `),n("span",{class:"token keyword"},"if"),s(" confirmed "),n("span",{class:"token punctuation"},"{"),s(`
                    `),n("span",{class:"token macro property"},"println!"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"Transaction: {} Status: {}"'),n("span",{class:"token punctuation"},","),s(" sig"),n("span",{class:"token punctuation"},","),s(" confirmed"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
                    `),n("span",{class:"token keyword"},"break"),n("span",{class:"token punctuation"},";"),s(`
                `),n("span",{class:"token punctuation"},"}"),s(`
            `),n("span",{class:"token punctuation"},"}"),s(`
        `),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},","),s(`
        `),n("span",{class:"token class-name"},"Err"),n("span",{class:"token punctuation"},"("),s("_"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"=>"),s(),n("span",{class:"token macro property"},"println!"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"Error requesting airdrop"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(`
    `),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},";"),s(`
`),n("span",{class:"token punctuation"},"}"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br"),n("span",{class:"line-number"},"9"),n("br"),n("span",{class:"line-number"},"10"),n("br"),n("span",{class:"line-number"},"11"),n("br"),n("span",{class:"line-number"},"12"),n("br"),n("span",{class:"line-number"},"13"),n("br"),n("span",{class:"line-number"},"14"),n("br"),n("span",{class:"line-number"},"15"),n("br"),n("span",{class:"line-number"},"16"),n("br"),n("span",{class:"line-number"},"17"),n("br"),n("span",{class:"line-number"},"18"),n("br"),n("span",{class:"line-number"},"19"),n("br"),n("span",{class:"line-number"},"20"),n("br"),n("span",{class:"line-number"},"21"),n("br"),n("span",{class:"line-number"},"22"),n("br")])],-1),Tn=n("div",{class:"language-rust ext-rs line-numbers-mode"},[n("pre",{class:"language-rust"},[n("code",null,[n("span",{class:"token keyword"},"match"),s(" client"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"request_airdrop"),n("span",{class:"token punctuation"},"("),n("span",{class:"token operator"},"&"),s("pubkey"),n("span",{class:"token punctuation"},","),s(),n("span",{class:"token constant"},"LAMPORTS_PER_SOL"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
    `),n("span",{class:"token class-name"},"Ok"),n("span",{class:"token punctuation"},"("),s("sig"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"=>"),s(),n("span",{class:"token keyword"},"loop"),s(),n("span",{class:"token punctuation"},"{"),s(`
        `),n("span",{class:"token keyword"},"if"),s(),n("span",{class:"token keyword"},"let"),s(),n("span",{class:"token class-name"},"Ok"),n("span",{class:"token punctuation"},"("),s("confirmed"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"="),s(" client"),n("span",{class:"token punctuation"},"."),n("span",{class:"token function"},"confirm_transaction"),n("span",{class:"token punctuation"},"("),n("span",{class:"token operator"},"&"),s("sig"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token punctuation"},"{"),s(`
            `),n("span",{class:"token keyword"},"if"),s(" confirmed "),n("span",{class:"token punctuation"},"{"),s(`
                `),n("span",{class:"token macro property"},"println!"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"Transaction: {} Status: {}"'),n("span",{class:"token punctuation"},","),s(" sig"),n("span",{class:"token punctuation"},","),s(" confirmed"),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},";"),s(`
                `),n("span",{class:"token keyword"},"break"),n("span",{class:"token punctuation"},";"),s(`
            `),n("span",{class:"token punctuation"},"}"),s(`
        `),n("span",{class:"token punctuation"},"}"),s(`
    `),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},","),s(`
    `),n("span",{class:"token class-name"},"Err"),n("span",{class:"token punctuation"},"("),s("_"),n("span",{class:"token punctuation"},")"),s(),n("span",{class:"token operator"},"=>"),s(),n("span",{class:"token macro property"},"println!"),n("span",{class:"token punctuation"},"("),n("span",{class:"token string"},'"Error requesting airdrop"'),n("span",{class:"token punctuation"},")"),n("span",{class:"token punctuation"},","),s(`
`),n("span",{class:"token punctuation"},"}"),n("span",{class:"token punctuation"},";"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br"),n("span",{class:"line-number"},"5"),n("br"),n("span",{class:"line-number"},"6"),n("br"),n("span",{class:"line-number"},"7"),n("br"),n("span",{class:"line-number"},"8"),n("br"),n("span",{class:"line-number"},"9"),n("br"),n("span",{class:"line-number"},"10"),n("br"),n("span",{class:"line-number"},"11"),n("br")])],-1),In=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,[s("solana airdrop "),n("span",{class:"token number"},"1"),s(`

`),n("span",{class:"token comment"},"# Return"),s(`
`),n("span",{class:"token comment"},'# "1 SOL"'),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br"),n("span",{class:"line-number"},"3"),n("br"),n("span",{class:"line-number"},"4"),n("br")])],-1),Mn=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,[s("solana airdrop "),n("span",{class:"token number"},"1"),s(`
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),On=n("h2",{id:"\u0E27\u0E34\u0E18\u0E35\u0E43\u0E0A\u0E49-mainnet-accounts-\u0E41\u0E25\u0E30-programs",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#\u0E27\u0E34\u0E18\u0E35\u0E43\u0E0A\u0E49-mainnet-accounts-\u0E41\u0E25\u0E30-programs","aria-hidden":"true"},"#"),s(" \u0E27\u0E34\u0E18\u0E35\u0E43\u0E0A\u0E49 Mainnet Accounts \u0E41\u0E25\u0E30 Programs")],-1),Kn=n("p",null,"local tests \u0E21\u0E31\u0E01\u0E08\u0E30\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E0A\u0E49 programs \u0E41\u0E25\u0E30 accounts \u0E17\u0E35\u0E48\u0E21\u0E35\u0E2D\u0E22\u0E39\u0E48\u0E41\u0E25\u0E49\u0E27\u0E1A\u0E19 mainnet Solana CLI \u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E17\u0E35\u0E48\u0E08\u0E30:",-1),En=n("ul",null,[n("li",null,"Download Programs \u0E41\u0E25\u0E30 Accounts"),n("li",null,"Load Programs \u0E41\u0E25\u0E30 Accounts \u0E21\u0E32\u0E17\u0E35\u0E48 local validator")],-1),Un=n("h3",{id:"\u0E27\u0E34\u0E18\u0E35-load-accounts-\u0E08\u0E32\u0E01-mainnet",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#\u0E27\u0E34\u0E18\u0E35-load-accounts-\u0E08\u0E32\u0E01-mainnet","aria-hidden":"true"},"#"),s(" \u0E27\u0E34\u0E18\u0E35 load accounts \u0E08\u0E32\u0E01 mainnet")],-1),jn=n("p",null,"\u0E40\u0E23\u0E32\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16 download SRM token mint account \u0E21\u0E32\u0E40\u0E1B\u0E47\u0E19 file \u0E44\u0E14\u0E49\u0E15\u0E32\u0E21\u0E19\u0E35\u0E49:",-1),Vn=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,[n("span",{class:"token comment"},"# solana account -u <source cluster> --output <output format> --output-file <destination file name/path> <address of account to fetch>"),s(`
solana account -u m --output json-compact --output-file SRM_token.json SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br")])],-1),Wn=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,`solana account -u m --output json-compact --output-file SRM_token.json SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt
`)]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),qn=n("p",null,"\u0E01\u0E32\u0E23 load \u0E21\u0E32\u0E17\u0E35\u0E48 localnet \u0E02\u0E2D\u0E07\u0E40\u0E23\u0E32\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E17\u0E33\u0E44\u0E14\u0E49\u0E42\u0E14\u0E22\u0E01\u0E32\u0E23\u0E2A\u0E48\u0E07 account's file \u0E41\u0E25\u0E30 address \u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22(\u0E44\u0E1B\u0E22\u0E31\u0E07 local cluster) \u0E15\u0E2D\u0E19\u0E40\u0E23\u0E34\u0E48\u0E21\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49 validator:",-1),Gn=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,`solana-test-validator --account SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt SRM_token.json --reset
`)]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),Nn=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,[n("span",{class:"token comment"},"# solana-test-validator --account <address to load the account to> <path to account file> --reset"),s(`
solana-test-validator --account SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt SRM_token.json --reset
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br")])],-1),Xn=n("h3",{id:"\u0E27\u0E34\u0E18\u0E35-load-programs-from-mainnet",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#\u0E27\u0E34\u0E18\u0E35-load-programs-from-mainnet","aria-hidden":"true"},"#"),s(" \u0E27\u0E34\u0E18\u0E35 load programs from mainnet")],-1),Hn=n("p",null,"\u0E41\u0E25\u0E30\u0E40\u0E0A\u0E48\u0E19\u0E01\u0E31\u0E19\u0E40\u0E23\u0E32\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16 download Serum Dex v3 program \u0E44\u0E14\u0E49:",-1),Bn=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,[n("span",{class:"token comment"},"# solana program dump -u <source cluster> <address of account to fetch> <destination file name/path>"),s(`
solana program dump -u m 9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin serum_dex_v3.so
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br")])],-1),Dn=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,`solana program dump -u m 9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin serum_dex_v3.so
`)]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),Zn=n("p",null,"\u0E01\u0E32\u0E23 load \u0E21\u0E32\u0E17\u0E35\u0E48 localnet \u0E02\u0E2D\u0E07\u0E40\u0E23\u0E32\u0E2A\u0E32\u0E21\u0E32\u0E23\u0E16\u0E17\u0E33\u0E44\u0E14\u0E49\u0E42\u0E14\u0E22\u0E01\u0E32\u0E23\u0E2A\u0E48\u0E07 account's file \u0E41\u0E25\u0E30 address \u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22(\u0E44\u0E1B\u0E22\u0E31\u0E07 local cluster) \u0E15\u0E2D\u0E19\u0E40\u0E23\u0E34\u0E48\u0E21\u0E40\u0E1B\u0E34\u0E14\u0E43\u0E0A\u0E49 validator:",-1),Fn=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,`solana-test-validator --bpf-program 9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin serum_dex_v3.so --reset
`)]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br")])],-1),zn=n("div",{class:"language-bash ext-sh line-numbers-mode"},[n("pre",{class:"language-bash"},[n("code",null,[n("span",{class:"token comment"},"# solana-test-validator --bpf-program <address to load the program to> <path to program file> --reset"),s(`
solana-test-validator --bpf-program 9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin serum_dex_v3.so --reset
`)])]),n("div",{class:"line-numbers","aria-hidden":"true"},[n("span",{class:"line-number"},"1"),n("br"),n("span",{class:"line-number"},"2"),n("br")])],-1);function Qn(Jn,Yn){const p=l("RouterLink"),e=l("SolanaCodeGroupItem"),o=l("SolanaCodeGroup"),c=l("ExternalLinkIcon");return i(),r(k,null,[d,g,h,n("p",null,[_,t(p,{to:"/getting-started/installation.html#install-cli"},{default:a(()=>[w]),_:1}),y]),f,t(o,null,{default:a(()=>[t(e,{title:"TS",active:""},{default:a(()=>[v]),preview:a(()=>[C]),_:1}),t(e,{title:"Python"},{default:a(()=>[x]),preview:a(()=>[S]),_:1}),t(e,{title:"C++"},{default:a(()=>[A]),preview:a(()=>[R]),_:1}),t(e,{title:"Rust"},{default:a(()=>[L]),preview:a(()=>[P]),_:1}),t(e,{title:"CLI"},{default:a(()=>[T]),preview:a(()=>[I]),_:1})]),_:1}),M,t(o,null,{default:a(()=>[t(e,{title:"TS",active:""},{default:a(()=>[O]),preview:a(()=>[K]),_:1}),t(e,{title:"Python"},{default:a(()=>[E]),preview:a(()=>[U]),_:1}),t(e,{title:"C++"},{default:a(()=>[j]),preview:a(()=>[V]),_:1}),t(e,{title:"Rust"},{default:a(()=>[W]),preview:a(()=>[q]),_:1}),t(e,{title:"CLI"},{default:a(()=>[G]),preview:a(()=>[N]),_:1})]),_:1}),X,H,n("p",null,[B,n("a",D,[Z,t(c)]),F,z,Q,n("a",J,[Y,t(c)]),$]),n("p",null,[nn,sn,an,tn,en,on,n("a",cn,[ln,t(c)]),pn,n("a",un,[rn,t(c)]),kn]),t(o,null,{default:a(()=>[t(e,{title:"TS",active:""},{default:a(()=>[bn]),preview:a(()=>[mn]),_:1}),t(e,{title:"Python"},{default:a(()=>[dn]),preview:a(()=>[gn]),_:1}),t(e,{title:"C++"},{default:a(()=>[hn]),preview:a(()=>[_n]),_:1}),t(e,{title:"Rust"},{default:a(()=>[wn]),preview:a(()=>[yn]),_:1})]),_:1}),fn,vn,t(o,null,{default:a(()=>[t(e,{title:"TS",active:""},{default:a(()=>[Cn]),preview:a(()=>[xn]),_:1}),t(e,{title:"Python"},{default:a(()=>[Sn]),preview:a(()=>[An]),_:1}),t(e,{title:"C++"},{default:a(()=>[Rn]),preview:a(()=>[Ln]),_:1}),t(e,{title:"Rust"},{default:a(()=>[Pn]),preview:a(()=>[Tn]),_:1}),t(e,{title:"CLI"},{default:a(()=>[In]),preview:a(()=>[Mn]),_:1})]),_:1}),On,Kn,En,Un,jn,t(o,null,{default:a(()=>[t(e,{title:"CLI"},{default:a(()=>[Vn]),preview:a(()=>[Wn]),_:1})]),_:1}),qn,t(o,null,{default:a(()=>[t(e,{title:"CLI"},{preview:a(()=>[Gn]),default:a(()=>[Nn]),_:1})]),_:1}),Xn,Hn,t(o,null,{default:a(()=>[t(e,{title:"CLI"},{default:a(()=>[Bn]),preview:a(()=>[Dn]),_:1})]),_:1}),Zn,t(o,null,{default:a(()=>[t(e,{title:"CLI"},{preview:a(()=>[Fn]),default:a(()=>[zn]),_:1})]),_:1})],64)}var ns=u(m,[["render",Qn]]);export{ns as default};
