{"id":73107,"date":"2024-08-11T23:19:33","date_gmt":"2024-08-11T19:49:33","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/creating-a-token-faucet-on-stellar-a-beginners-tutorial-2hla\/"},"modified":"2024-08-11T23:19:33","modified_gmt":"2024-08-11T19:49:33","slug":"creating-a-token-faucet-on-stellar-a-beginners-tutorial-2hla","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/creating-a-token-faucet-on-stellar-a-beginners-tutorial-2hla\/","title":{"rendered":"# \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0634\u06cc\u0631 \u0622\u0628 \u062a\u0648\u06a9\u0646 \u062f\u0631 \u0627\u0633\u062a\u0644\u0627\u0631: \u0622\u0645\u0648\u0632\u0634 \u0645\u0628\u062a\u062f\u06cc\u0627\u0646 \ud83d\udeb0\ud83d\udca7"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang<br \/>\n            \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f\u060c \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0622\u06cc\u0646\u062f\u0647 Stellar! \u0627\u0645\u0631\u0648\u0632\u060c \u0645\u0627 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u06cc\u06a9 \u0633\u0641\u0631 \u0647\u06cc\u062c\u0627\u0646 \u0627\u0646\u06af\u06cc\u0632 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0634\u06cc\u0631 \u0622\u0628 \u062a\u0648\u06a9\u0646 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0627\u0633\u062a\u0644\u0627\u0631 \u0622\u063a\u0627\u0632 \u06a9\u0646\u06cc\u0645. \u062f\u0633\u062a \u0648 \u067e\u0646\u062c\u0647 \u0646\u0631\u0645 \u06a9\u0646\u06cc\u062f\u060c \u0632\u06cc\u0631\u0627 \u062f\u0631 \u067e\u0627\u06cc\u0627\u0646 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u062a\u0648\u06a9\u0646\u200c\u0647\u0627\u06cc \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644\u06cc \u0628\u0627\u0631\u0627\u0646\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0633\u0627\u062e\u062a! \ud83c\udf27\ufe0f\ud83d\udcb0<\/p>\n<p>  \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<p>\u0645\u0642\u062f\u0645\u0647: \u0634\u06cc\u0631 \u0622\u0628 \u062a\u0648\u06a9\u0646 \u0686\u06cc\u0633\u062a\u061f<br \/>\n\u062a\u0646\u0638\u06cc\u0645 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0633\u062a\u0627\u0631\u0647 \u0627\u06cc \u0634\u0645\u0627<br \/>\n\u0627\u06cc\u062c\u0627\u062f \u0646\u0634\u0627\u0646\u0647 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0645\u0627<br \/>\n\u0633\u0627\u062e\u062a \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0634\u06cc\u0631 \u0622\u0628<br \/>\n\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u062a\u0633\u062a \u0633\u062a\u0627\u0631\u0647 \u0627\u06cc<br \/>\n\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u0648\u0628<br \/>\n\u062a\u0633\u062a \u0634\u06cc\u0631 \u200b\u200b\u0622\u0628 \u0645\u0627<br \/>\n\u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc \u0648 \u0645\u0631\u0627\u062d\u0644 \u0628\u0639\u062f\u06cc<\/p>\n<p>  \u0645\u0642\u062f\u0645\u0647: \u0634\u06cc\u0631 \u0622\u0628 \u062a\u0648\u06a9\u0646 \u0686\u06cc\u0633\u062a\u061f \ud83e\udd14<\/p>\n<p>\u06cc\u06a9 \u0622\u0628\u0646\u0645\u0627\u06cc \u062c\u0627\u062f\u0648\u06cc\u06cc \u0631\u0627 \u062a\u0635\u0648\u0631 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u062c\u0627\u06cc \u0622\u0628\u060c \u062a\u0648\u06a9\u0646 \u0647\u0627\u06cc \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644\u06cc \u067e\u062e\u0634 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u062f\u0631 \u0627\u0635\u0644 \u0647\u0645\u0627\u0646 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u06cc\u06a9 \u0634\u06cc\u0631 \u0622\u0628 \u0646\u0645\u0627\u062f\u06cc\u0646 \u0627\u0633\u062a! \u0627\u06cc\u0646 \u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0647\u0631 \u06a9\u0633\u06cc \u06a9\u0647 \u0628\u062e\u0648\u0627\u0647\u062f \u062a\u0639\u062f\u0627\u062f \u06a9\u0645\u06cc \u062a\u0648\u06a9\u0646 \u0645\u06cc \u062f\u0647\u062f. \u0634\u06cc\u0631\u0647\u0627\u06cc \u062a\u0648\u06a9\u0646 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0632\u06cc\u0639 \u062a\u0648\u06a9\u0646 \u0647\u0627 \u0628\u0631\u0627\u06cc \u0627\u0647\u062f\u0627\u0641 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0645\u0648\u0631\u062f \u0645\u0627\u060c \u0645\u0627 \u06cc\u06a9 \u0634\u06cc\u0631 \u0622\u0628 \u0628\u0631\u0627\u06cc &#8220;Tokens \u06a9\u06cc\u0647\u0627\u0646\u06cc&#8221; (CSM) \u0627\u06cc\u062c\u0627\u062f \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f &#8211; \u0632\u06cc\u0631\u0627 \u0686\u0647 \u06a9\u0633\u06cc \u062a\u0648\u06a9\u0646 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u0627\u0632 \u0641\u0636\u0627\u06cc \u0628\u06cc\u0631\u0648\u0646\u06cc \u0646\u0645\u06cc \u062e\u0648\u0627\u0647\u062f\u061f \ud83c\udf20<\/p>\n<p>  \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0633\u062a\u0627\u0631\u0647 \u0627\u06cc \u062e\u0648\u062f \ud83d\udee0\ufe0f<\/p>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0648\u0627\u0631\u062f \u06a9\u062f \u0634\u0648\u06cc\u0645\u060c \u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u06cc\u062f \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u062e\u0648\u062f \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645. \u0645\u0627 \u0627\u0632 Soroban\u060c \u067e\u0644\u062a\u0641\u0631\u0645 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f Stellar \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\n<p>Rust and Cargo \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>   curl &#8211;proto &#8216;=https&#8217; &#8211;tlsv1.2 -sSf https:\/\/sh.rustup.rs | sh<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>Soroban CLI \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>   cargo install &#8211;locked &#8211;version 20.0.0-rc2 soroban-cli<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u062c\u062f\u06cc\u062f \u0633\u0648\u0631\u0648\u0628\u0627\u0646:<\/p>\n<p>   soroban contract init cosmic-faucet<br \/>\n   cd cosmic-faucet<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u06a9\u0627\u0631 \u0639\u0627\u0644\u06cc! \u0627\u06a9\u0646\u0648\u0646 \u0622\u0645\u0627\u062f\u0647 \u0627\u06cc\u062c\u0627\u062f \u0686\u0646\u062f \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0633\u062a\u0627\u0631\u0647 \u0627\u06cc \u0647\u0633\u062a\u06cc\u062f! \ud83c\udf1f<\/p>\n<p>  \u0627\u06cc\u062c\u0627\u062f \u0646\u0634\u0627\u0646\u0647 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0645\u0627<\/p>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u0634\u06cc\u0631 \u0622\u0628 \u062e\u0648\u062f \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u0645\u060c \u0628\u0627\u06cc\u062f \u062a\u0648\u06a9\u0646\u06cc \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0622\u0646 \u0631\u0627 \u062a\u0648\u0632\u06cc\u0639 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u0631\u0645\u0632 \u0633\u0627\u062f\u0647 \u06a9\u06cc\u0647\u0627\u0646\u06cc (CSM) \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u062e\u0648\u062f \u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f src\/lib.rs \u0641\u0627\u06cc\u0644:<\/p>\n<p>#![no_std]\nuse soroban_sdk::{contractimpl, symbol_short, token, Address, Env, Symbol};<\/p>\n<p>#[derive(Clone)]\npub struct CosmicToken;<\/p>\n<p>#[contractimpl]\nimpl CosmicToken {<br \/>\n    pub fn initialize(env: Env, admin: Address) -&gt; Self {<br \/>\n        let token = token::Interface::new(&amp;env, &amp;env.current_contract_address());<br \/>\n        token.initialize(&amp;admin, &amp;7, &amp;&#8221;Cosmic Token&#8221;, &amp;&#8221;CSM&#8221;);<br \/>\n        Self<br \/>\n    }<\/p>\n<p>    pub fn balance(env: Env, id: Address) -&gt; i128 {<br \/>\n        let token = token::Interface::new(&amp;env, &amp;env.current_contract_address());<br \/>\n        token.balance(&amp;id)<br \/>\n    }<\/p>\n<p>    pub fn transfer(env: Env, from: Address, to: Address, amount: i128) {<br \/>\n        let token = token::Interface::new(&amp;env, &amp;env.current_contract_address());<br \/>\n        token.transfer(&amp;from, &amp;to, &amp;amount);<br \/>\n    }<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u06cc\u0646 \u06a9\u062f \u06cc\u06a9 \u062a\u0648\u06a9\u0646 \u0627\u0633\u0627\u0633\u06cc \u0628\u0627 initialize\u060c balance\u060c \u0648 transfer \u062a\u0648\u0627\u0628\u0639 \u0645\u062b\u0644 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u067e\u0648\u0644 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u062f! \ud83c\udf0c\ud83d\udcb0<\/p>\n<p>  \u0633\u0627\u062e\u062a \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0634\u06cc\u0631 \u0622\u0628 \ud83d\udeb0<\/p>\n<p>\u062d\u0627\u0644\u0627 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0634\u06cc\u0631 \u0622\u0628 \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645. \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f src\/faucet.rs:<\/p>\n<p>#![no_std]\nuse soroban_sdk::{contractimpl, token, Address, Env};<\/p>\n<p>const FAUCET_AMOUNT: i128 = 100; \/\/ Amount of tokens to dispense<br \/>\nconst COOLDOWN_PERIOD: u64 = 86400; \/\/ 24 hours in seconds<\/p>\n<p>#[derive(Clone)]\npub struct CosmicFaucet;<\/p>\n<p>#[contractimpl]\nimpl CosmicFaucet {<br \/>\n    pub fn initialize(env: Env, token: Address) -&gt; Self {<br \/>\n        env.storage().set(&amp;Symbol::short(&#8220;token&#8221;), &amp;token);<br \/>\n        Self<br \/>\n    }<\/p>\n<p>    pub fn drip(env: Env, to: Address) -&gt; i128 {<br \/>\n        let token: Address = env.storage().get(&amp;Symbol::short(&#8220;token&#8221;)).unwrap();<br \/>\n        let token_client = token::Client::new(&amp;env, &amp;token);<\/p>\n<p>        \/\/ Check if user is on cooldown<br \/>\n        let last_drip: u64 = env.storage().get(&amp;to).unwrap_or(0);<br \/>\n        let current_time = env.ledger().timestamp();<br \/>\n        if current_time &#8211; last_drip  COOLDOWN_PERIOD {<br \/>\n            panic!(&#8220;You&#8217;re still on cooldown! Try again later.&#8221;);<br \/>\n        }<\/p>\n<p>        \/\/ Update last drip time<br \/>\n        env.storage().set(&amp;to, &amp;current_time);<\/p>\n<p>        \/\/ Transfer tokens<br \/>\n        token_client.transfer(&amp;env.current_contract_address(), &amp;to, &amp;FAUCET_AMOUNT);<br \/>\n        FAUCET_AMOUNT<br \/>\n    }<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u06cc\u0646 \u0634\u06cc\u0631 \u0622\u0628 100 \u062a\u0648\u06a9\u0646 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0631\u0627 \u0628\u0627 \u06cc\u06a9 \u062f\u0648\u0631\u0647 \u062e\u0646\u06a9 \u0634\u062f\u0646 24 \u0633\u0627\u0639\u062a\u0647 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0647\u0631 \u06a9\u0627\u0631\u0628\u0631 \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u062f. \u0645\u062b\u0644 \u06cc\u06a9 \u0645\u0627\u0634\u06cc\u0646 \u0641\u0631\u0648\u0634 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0631\u0648\u0632\u0627\u0646\u0647 \u062f\u0648\u0628\u0627\u0631\u0647 \u067e\u0631 \u0645\u06cc \u0634\u0648\u062f! \ud83c\udfb0\ud83c\udf20<\/p>\n<p>  \u062f\u0631 \u062d\u0627\u0644 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0633\u062a\u0644\u0627\u0631 \ud83d\ude80<\/p>\n<p>\u0632\u0645\u0627\u0646 \u0622\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0622\u0641\u0631\u06cc\u0646\u0634 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0634\u0628\u06a9\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0633\u062a\u0627\u0631\u0647 \u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645!<\/p>\n<p>\u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u062f:<\/p>\n<p>   soroban contract build<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u06cc\u06a9 \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc Stellar \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<p>   soroban config identity generate alice<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062d\u0633\u0627\u0628 \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u062a\u0633\u062a \u0646\u062a \u062a\u0627\u0645\u06cc\u0646 \u0645\u0627\u0644\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<p>   soroban config network add testnet &#8211;rpc-url https:\/\/soroban-testnet.stellar.org<br \/>\n   soroban config identity fund alice &#8211;network testnet<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f:<\/p>\n<p>   soroban contract deploy &#8211;wasm target\/wasm32-unknown-unknown\/release\/cosmic_token.wasm &#8211;source alice &#8211;network testnet<br \/>\n   soroban contract deploy &#8211;wasm target\/wasm32-unknown-unknown\/release\/cosmic_faucet.wasm &#8211;source alice &#8211;network testnet<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0634\u0646\u0627\u0633\u0647 \u0647\u0627\u06cc \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0628\u0631\u06af\u0634\u062a\u06cc \u0631\u0627 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a \u06a9\u0646\u06cc\u062f. \u0634\u0645\u0627 \u0628\u0647 \u062a\u0627\u0632\u06af\u06cc \u0622\u0641\u0631\u06cc\u0646\u0634 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc Stellar \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f! \ud83c\udf89<\/p>\n<p>  \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u0648\u0628 \ud83d\udda5\ufe0f<\/p>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u0648\u0628 \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0634\u06cc\u0631 \u0622\u0628 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 HTML\u060c CSS \u0648 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645. \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f index.html \u0641\u0627\u06cc\u0644:<\/p>\n<p> lang=&#8221;en&#8221;&gt;<\/p>\n<p>     charset=&#8221;UTF-8&#8243;&gt;<br \/>\n     name=&#8221;viewport&#8221; content=&#8221;width=device-width, initial-scale=1.0&#8243;&gt;<br \/>\n    Cosmic Token Faucet<\/p>\n<p>        body {<br \/>\n            font-family: Arial, sans-serif;<br \/>\n            display: flex;<br \/>\n            justify-content: center;<br \/>\n            align-items: center;<br \/>\n            height: 100vh;<br \/>\n            margin: 0;<br \/>\n            background-color: #1a1a2e;<br \/>\n            color: #fff;<br \/>\n        }<br \/>\n        .container {<br \/>\n            text-align: center;<br \/>\n            background-color: #16213e;<br \/>\n            padding: 2rem;<br \/>\n            border-radius: 10px;<br \/>\n            box-shadow: 0 0 10px rgba(0,0,0,0.5);<br \/>\n        }<br \/>\n        button {<br \/>\n            background-color: #0f3460;<br \/>\n            color: white;<br \/>\n            border: none;<br \/>\n            padding: 10px 20px;<br \/>\n            margin-top: 20px;<br \/>\n            border-radius: 5px;<br \/>\n            cursor: pointer;<br \/>\n            transition: background-color 0.3s;<br \/>\n        }<br \/>\n        button:hover {<br \/>\n            background-color: #e94560;<br \/>\n        }<\/p>\n<p>    src=]]>&#8221;https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/stellar-sdk\/10.4.1\/stellar-sdk.js&#8221;&gt;<\/p>\n<p>        const server = new StellarSdk.Server(&#8216;https:\/\/horizon-testnet.stellar.org&#8217;);<br \/>\n        const faucetId = &#8216;YOUR_FAUCET_CONTRACT_ID&#8217;;<\/p>\n<p>        async function requestTokens() {<br \/>\n            const address = document.getElementById(&#8216;address&#8217;).value;<br \/>\n            const resultElement = document.getElementById(&#8216;result&#8217;);<\/p>\n<p>            try {<br \/>\n                const account = await server.loadAccount(address);<br \/>\n                const transaction = new StellarSdk.TransactionBuilder(account, {<br \/>\n                    fee: StellarSdk.BASE_FEE,<br \/>\n                    networkPassphrase: StellarSdk.Networks.TESTNET<br \/>\n                })<br \/>\n                .addOperation(StellarSdk.Operation.invokeHostFunction({<br \/>\n                    function: &#8216;drip&#8217;,<br \/>\n                    parameters: [StellarSdk.xdr.ScVal.scvAddress(StellarSdk.Address.fromString(address))],<br \/>\n                    contractId: faucetId<br \/>\n                }))<br \/>\n                .setTimeout(30)<br \/>\n                .build();<\/p>\n<p>                \/\/ You would typically sign this transaction with the user&#8217;s key<br \/>\n                \/\/ For simplicity, we&#8217;re just displaying the XDR here<br \/>\n                const xdr = transaction.toXDR();<br \/>\n                resultElement.innerText = `Transaction XDR: ${xdr}`;<br \/>\n            } catch (error) {<br \/>\n                resultElement.innerText = `Error: ${error.message}`;<br \/>\n            }<br \/>\n        }<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f &#8216;YOUR_FAUCET_CONTRACT_ID&#8217; \u0628\u0627 \u0634\u0646\u0627\u0633\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0648\u0627\u0642\u0639\u06cc \u0634\u06cc\u0631 \u0622\u0628 \u0645\u0633\u062a\u0642\u0631 \u0634\u0645\u0627.<\/p>\n<p>\u0627\u06cc\u0646 \u06cc\u06a9 \u0635\u0641\u062d\u0647 \u0648\u0628 \u0628\u0627 \u0645\u0636\u0645\u0648\u0646 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0622\u062f\u0631\u0633 Stellar \u062e\u0648\u062f \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0647 \u0648 \u062a\u0648\u06a9\u0646 \u0647\u0627 \u0631\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0646\u0646\u062f. \u0645\u062b\u0644 \u06cc\u06a9 \u062f\u0633\u062a\u06af\u0627\u0647 \u062e\u0648\u062f\u067e\u0631\u062f\u0627\u0632 \u0639\u0635\u0631 \u0641\u0636\u0627\u0633\u062a! \ud83c\udfe7\ud83d\ude80<\/p>\n<p>  \u062a\u0633\u062a \u0634\u06cc\u0631 \u200b\u200b\u0622\u0628 \u0645\u0627 \ud83d\udca7<\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0632\u0645\u0627\u0646 \u0622\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0622\u0641\u0631\u06cc\u0646\u0634 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u062e\u0648\u062f \u0631\u0627 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u0645:<\/p>\n<p>\u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f index.html \u0641\u0627\u06cc\u0644 \u062f\u0631 \u06cc\u06a9 \u0645\u0631\u0648\u0631\u06af\u0631 \u0648\u0628<br \/>\n\u0622\u062f\u0631\u0633 Stellar testnet \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f.<br \/>\n\u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 &#8220;Drip Tokens&#8221; \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<br \/>\n\u0628\u0627\u06cc\u062f \u06cc\u06a9 \u062a\u0631\u0627\u06a9\u0646\u0634 XDR \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f. \u062f\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648\u0627\u0642\u0639\u06cc\u060c \u0634\u0645\u0627 \u0627\u06cc\u0646 \u0645\u0639\u0627\u0645\u0644\u0647 \u0631\u0627 \u0627\u0645\u0636\u0627 \u0648 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>\u062a\u0628\u0631\u06cc\u06a9 \u0645\u06cc \u06af\u0648\u06cc\u0645! \u0634\u0645\u0627 \u0628\u0647 \u062a\u0627\u0632\u06af\u06cc \u06cc\u06a9 \u0634\u06cc\u0631 \u0622\u0628 \u062a\u0648\u06a9\u0646 \u062f\u0631 Stellar \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f! \ud83c\udf89<\/p>\n<p>  \u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc \u0648 \u0645\u0631\u0627\u062d\u0644 \u0628\u0639\u062f\u06cc \ud83d\ude80<\/p>\n<p>\u0634\u0645\u0627 \u0627\u0648\u0644\u06cc\u0646 \u0642\u062f\u0645 \u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u062f\u0646\u06cc\u0627\u06cc \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f Stellar \u0628\u0631\u062f\u0627\u0634\u062a\u0647 \u0627\u06cc\u062f! \u0634\u0645\u0627 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u0647 \u0627\u06cc\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647:<\/p>\n<p>\u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 Stellar \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n\u06cc\u06a9 \u062a\u0648\u06a9\u0646 \u0633\u0641\u0627\u0631\u0634\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n\u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0634\u06cc\u0631 \u0622\u0628 \u0628\u0633\u0627\u0632\u06cc\u062f<br \/>\n\u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc Stellar \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f<br \/>\n\u06cc\u06a9 \u0631\u0627\u0628\u0637 \u0648\u0628 \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0634\u06cc\u0631 \u0622\u0628 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0627\u0645\u0627 \u0627\u06cc\u0646 \u062a\u0627\u0632\u0647 \u0622\u063a\u0627\u0632 \u0633\u0641\u0631 \u0633\u062a\u0627\u0631\u0647 \u0627\u06cc \u0634\u0645\u0627\u0633\u062a! \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0686\u0646\u062f \u0627\u06cc\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u0631\u062a\u0642\u0627\u06cc \u0622\u0641\u0631\u06cc\u0646\u0634 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0634\u0645\u0627 \u0628\u0647 \u0633\u0637\u062d \u0628\u0639\u062f\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f:<\/p>\n<p>\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0627\u0642\u062a\u0635\u0627\u062f \u0631\u0645\u0632 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u062a\u0631 (\u0645\u062b\u0644\u0627\u064b \u0628\u0647\u0631\u0647\u060c \u0633\u0647\u0627\u0645)<br \/>\n\u0627\u0642\u062f\u0627\u0645\u0627\u062a \u0627\u0645\u0646\u06cc\u062a\u06cc \u0627\u0636\u0627\u0641\u06cc \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f<br \/>\n\u06cc\u06a9 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u062a\u0639\u0627\u0645\u0644\u06cc \u062a\u0631 \u0648 \u062c\u0630\u0627\u0628 \u062a\u0631 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<br \/>\n\u0633\u0627\u06cc\u0631 \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f Stellar \u0631\u0627 \u06a9\u0627\u0648\u0634 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c \u062f\u0631 \u062f\u0646\u06cc\u0627\u06cc \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646\u060c \u0622\u0633\u0645\u0627\u0646 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0646\u06cc\u0633\u062a\u060c \u0628\u0644\u06a9\u0647 \u0641\u0642\u0637 \u0634\u0631\u0648\u0639 \u0627\u0633\u062a! \u0628\u0647 \u06a9\u0627\u0648\u0634 \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u062f\u060c \u0628\u0647 \u0633\u0627\u062e\u062a\u0646 \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u062f \u0648 \u0628\u0647 \u0633\u062a\u0627\u0631\u0647 \u0647\u0627 \u0628\u0631\u0633\u06cc\u062f! \ud83c\udf20\ud83d\udc68\u200d\ud83d\ude80\ud83d\udc69\u200d\ud83d\ude80<\/p>\n<p>\u0645\u0634\u062a\u0627\u0642\u0627\u0646\u0647 \u0645\u0646\u062a\u0638\u0631 \u062e\u0648\u0627\u0646\u062f\u0646 \u0646\u0638\u0631\u0627\u062a \u0634\u0645\u0627 \u0647\u0633\u062a\u0645.<\/p>\n<div data-article-id=\"1942863\" id=\"article-body\">\n<p>\u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f\u060c \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0622\u06cc\u0646\u062f\u0647 Stellar! \u0627\u0645\u0631\u0648\u0632\u060c \u0645\u0627 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u06cc\u06a9 \u0633\u0641\u0631 \u0647\u06cc\u062c\u0627\u0646 \u0627\u0646\u06af\u06cc\u0632 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0634\u06cc\u0631 \u0622\u0628 \u062a\u0648\u06a9\u0646 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0627\u0633\u062a\u0644\u0627\u0631 \u0622\u063a\u0627\u0632 \u06a9\u0646\u06cc\u0645. \u062f\u0633\u062a \u0648 \u067e\u0646\u062c\u0647 \u0646\u0631\u0645 \u06a9\u0646\u06cc\u062f\u060c \u0632\u06cc\u0631\u0627 \u062f\u0631 \u067e\u0627\u06cc\u0627\u0646 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u062a\u0648\u06a9\u0646\u200c\u0647\u0627\u06cc \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644\u06cc \u0628\u0627\u0631\u0627\u0646\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0633\u0627\u062e\u062a! \ud83c\udf27\ufe0f\ud83d\udcb0<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u062a\u063a\u06cc\u06cc\u0631 \u0648\u0636\u0639\u06cc\u062a \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/creating-a-token-faucet-on-stellar-a-beginners-tutorial-2hla\/#%D9%81%D9%87%D8%B1%D8%B3%D8%AA_%D9%85%D8%B7%D8%A7%D9%84%D8%A8\" >\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/creating-a-token-faucet-on-stellar-a-beginners-tutorial-2hla\/#%D9%85%D9%82%D8%AF%D9%85%D9%87_%D8%B4%DB%8C%D8%B1_%D8%A2%D8%A8_%D8%AA%D9%88%DA%A9%D9%86_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F_%F0%9F%A4%94\" >\u0645\u0642\u062f\u0645\u0647: \u0634\u06cc\u0631 \u0622\u0628 \u062a\u0648\u06a9\u0646 \u0686\u06cc\u0633\u062a\u061f \ud83e\udd14<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/creating-a-token-faucet-on-stellar-a-beginners-tutorial-2hla\/#%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%85%D8%AD%DB%8C%D8%B7_%D8%AA%D9%88%D8%B3%D8%B9%D9%87_%D8%B3%D8%AA%D8%A7%D8%B1%D9%87_%D8%A7%DB%8C_%D8%AE%D9%88%D8%AF_%F0%9F%9B%A0%EF%B8%8F\" >\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0633\u062a\u0627\u0631\u0647 \u0627\u06cc \u062e\u0648\u062f \ud83d\udee0\ufe0f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/creating-a-token-faucet-on-stellar-a-beginners-tutorial-2hla\/#%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%D9%86%D8%B4%D8%A7%D9%86%D9%87_%DA%A9%DB%8C%D9%87%D8%A7%D9%86%DB%8C_%D9%85%D8%A7\" >\u0627\u06cc\u062c\u0627\u062f \u0646\u0634\u0627\u0646\u0647 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0645\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/creating-a-token-faucet-on-stellar-a-beginners-tutorial-2hla\/#%D8%B3%D8%A7%D8%AE%D8%AA_%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF_%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF_%D8%B4%DB%8C%D8%B1_%D8%A2%D8%A8_%F0%9F%9A%B0\" >\u0633\u0627\u062e\u062a \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0634\u06cc\u0631 \u0622\u0628 \ud83d\udeb0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/creating-a-token-faucet-on-stellar-a-beginners-tutorial-2hla\/#%D8%AF%D8%B1_%D8%AD%D8%A7%D9%84_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_%D8%AF%D8%B1_%D8%B4%D8%A8%DA%A9%D9%87_%D8%A2%D8%B2%D9%85%D8%A7%DB%8C%D8%B4%DB%8C_%D8%A7%D8%B3%D8%AA%D9%84%D8%A7%D8%B1_%F0%9F%9A%80\" >\u062f\u0631 \u062d\u0627\u0644 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0633\u062a\u0644\u0627\u0631 \ud83d\ude80<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/creating-a-token-faucet-on-stellar-a-beginners-tutorial-2hla\/#%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DB%8C%DA%A9_%D8%B1%D8%A7%D8%A8%D8%B7_%D9%88%D8%A8_%F0%9F%96%A5%EF%B8%8F\" >\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u0648\u0628 \ud83d\udda5\ufe0f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/creating-a-token-faucet-on-stellar-a-beginners-tutorial-2hla\/#%D8%AA%D8%B3%D8%AA_%D8%B4%DB%8C%D8%B1_%E2%80%8B%E2%80%8B%D8%A2%D8%A8_%D9%85%D8%A7_%F0%9F%92%A7\" >\u062a\u0633\u062a \u0634\u06cc\u0631 \u200b\u200b\u0622\u0628 \u0645\u0627 \ud83d\udca7<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/creating-a-token-faucet-on-stellar-a-beginners-tutorial-2hla\/#%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C_%D9%88_%D9%85%D8%B1%D8%A7%D8%AD%D9%84_%D8%A8%D8%B9%D8%AF%DB%8C_%F0%9F%9A%80\" >\u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc \u0648 \u0645\u0631\u0627\u062d\u0644 \u0628\u0639\u062f\u06cc \ud83d\ude80<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%81%D9%87%D8%B1%D8%B3%D8%AA_%D9%85%D8%B7%D8%A7%D9%84%D8%A8\"><\/span>\n<p>  \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol>\n<li>\u0645\u0642\u062f\u0645\u0647: \u0634\u06cc\u0631 \u0622\u0628 \u062a\u0648\u06a9\u0646 \u0686\u06cc\u0633\u062a\u061f<\/li>\n<li>\u062a\u0646\u0638\u06cc\u0645 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0633\u062a\u0627\u0631\u0647 \u0627\u06cc \u0634\u0645\u0627<\/li>\n<li>\u0627\u06cc\u062c\u0627\u062f \u0646\u0634\u0627\u0646\u0647 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0645\u0627<\/li>\n<li>\u0633\u0627\u062e\u062a \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0634\u06cc\u0631 \u0622\u0628<\/li>\n<li>\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u062a\u0633\u062a \u0633\u062a\u0627\u0631\u0647 \u0627\u06cc<\/li>\n<li>\u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u0648\u0628<\/li>\n<li>\u062a\u0633\u062a \u0634\u06cc\u0631 \u200b\u200b\u0622\u0628 \u0645\u0627<\/li>\n<li>\u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc \u0648 \u0645\u0631\u0627\u062d\u0644 \u0628\u0639\u062f\u06cc<\/li>\n<\/ol>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D9%82%D8%AF%D9%85%D9%87_%D8%B4%DB%8C%D8%B1_%D8%A2%D8%A8_%D8%AA%D9%88%DA%A9%D9%86_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F_%F0%9F%A4%94\"><\/span>\n<p>  \u0645\u0642\u062f\u0645\u0647: \u0634\u06cc\u0631 \u0622\u0628 \u062a\u0648\u06a9\u0646 \u0686\u06cc\u0633\u062a\u061f \ud83e\udd14<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u06cc\u06a9 \u0622\u0628\u0646\u0645\u0627\u06cc \u062c\u0627\u062f\u0648\u06cc\u06cc \u0631\u0627 \u062a\u0635\u0648\u0631 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0628\u0647 \u062c\u0627\u06cc \u0622\u0628\u060c \u062a\u0648\u06a9\u0646 \u0647\u0627\u06cc \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644\u06cc \u067e\u062e\u0634 \u0645\u06cc \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u062f\u0631 \u0627\u0635\u0644 \u0647\u0645\u0627\u0646 \u0686\u06cc\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u06cc\u06a9 \u0634\u06cc\u0631 \u0622\u0628 \u0646\u0645\u0627\u062f\u06cc\u0646 \u0627\u0633\u062a! \u0627\u06cc\u0646 \u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0647\u0631 \u06a9\u0633\u06cc \u06a9\u0647 \u0628\u062e\u0648\u0627\u0647\u062f \u062a\u0639\u062f\u0627\u062f \u06a9\u0645\u06cc \u062a\u0648\u06a9\u0646 \u0645\u06cc \u062f\u0647\u062f. \u0634\u06cc\u0631\u0647\u0627\u06cc \u062a\u0648\u06a9\u0646 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0647\u0627\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0632\u06cc\u0639 \u062a\u0648\u06a9\u0646 \u0647\u0627 \u0628\u0631\u0627\u06cc \u0627\u0647\u062f\u0627\u0641 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u0646\u062f.<\/p>\n<p>\u062f\u0631 \u0645\u0648\u0631\u062f \u0645\u0627\u060c \u0645\u0627 \u06cc\u06a9 \u0634\u06cc\u0631 \u0622\u0628 \u0628\u0631\u0627\u06cc &#8220;Tokens \u06a9\u06cc\u0647\u0627\u0646\u06cc&#8221; (CSM) \u0627\u06cc\u062c\u0627\u062f \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f &#8211; \u0632\u06cc\u0631\u0627 \u0686\u0647 \u06a9\u0633\u06cc \u062a\u0648\u06a9\u0646 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u0627\u0632 \u0641\u0636\u0627\u06cc \u0628\u06cc\u0631\u0648\u0646\u06cc \u0646\u0645\u06cc \u062e\u0648\u0627\u0647\u062f\u061f \ud83c\udf20<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%85%D8%AD%DB%8C%D8%B7_%D8%AA%D9%88%D8%B3%D8%B9%D9%87_%D8%B3%D8%AA%D8%A7%D8%B1%D9%87_%D8%A7%DB%8C_%D8%AE%D9%88%D8%AF_%F0%9F%9B%A0%EF%B8%8F\"><\/span>\n<p>  \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u0633\u062a\u0627\u0631\u0647 \u0627\u06cc \u062e\u0648\u062f \ud83d\udee0\ufe0f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0648\u0627\u0631\u062f \u06a9\u062f \u0634\u0648\u06cc\u0645\u060c \u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u06cc\u062f \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 \u062e\u0648\u062f \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645. \u0645\u0627 \u0627\u0632 Soroban\u060c \u067e\u0644\u062a\u0641\u0631\u0645 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f Stellar \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f.<\/p>\n<ol>\n<li>Rust and Cargo \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   curl <span class=\"nt\">--proto<\/span> <span class=\"s1\">'=https'<\/span> <span class=\"nt\">--tlsv1<\/span>.2 <span class=\"nt\">-sSf<\/span> https:\/\/sh.rustup.rs | sh\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>Soroban CLI \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   cargo <span class=\"nb\">install<\/span> <span class=\"nt\">--locked<\/span> <span class=\"nt\">--version<\/span> 20.0.0-rc2 soroban-cli\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u062c\u062f\u06cc\u062f \u0633\u0648\u0631\u0648\u0628\u0627\u0646:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   soroban contract init cosmic-faucet\n   <span class=\"nb\">cd <\/span>cosmic-faucet\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u06a9\u0627\u0631 \u0639\u0627\u0644\u06cc! \u0627\u06a9\u0646\u0648\u0646 \u0622\u0645\u0627\u062f\u0647 \u0627\u06cc\u062c\u0627\u062f \u0686\u0646\u062f \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0633\u062a\u0627\u0631\u0647 \u0627\u06cc \u0647\u0633\u062a\u06cc\u062f! \ud83c\udf1f<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%D9%86%D8%B4%D8%A7%D9%86%D9%87_%DA%A9%DB%8C%D9%87%D8%A7%D9%86%DB%8C_%D9%85%D8%A7\"><\/span>\n<p>  \u0627\u06cc\u062c\u0627\u062f \u0646\u0634\u0627\u0646\u0647 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0645\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u0646\u06a9\u0647 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u0634\u06cc\u0631 \u0622\u0628 \u062e\u0648\u062f \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u0645\u060c \u0628\u0627\u06cc\u062f \u062a\u0648\u06a9\u0646\u06cc \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0622\u0646 \u0631\u0627 \u062a\u0648\u0632\u06cc\u0639 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u0631\u0645\u0632 \u0633\u0627\u062f\u0647 \u06a9\u06cc\u0647\u0627\u0646\u06cc (CSM) \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645.<\/p>\n<p>\u062e\u0648\u062f \u0631\u0627 \u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u062f <code>src\/lib.rs<\/code> \u0641\u0627\u06cc\u0644:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"nd\">#![no_std]<\/span>\n<span class=\"k\">use<\/span> <span class=\"nn\">soroban_sdk<\/span><span class=\"p\">::{<\/span><span class=\"n\">contractimpl<\/span><span class=\"p\">,<\/span> <span class=\"n\">symbol_short<\/span><span class=\"p\">,<\/span> <span class=\"n\">token<\/span><span class=\"p\">,<\/span> <span class=\"n\">Address<\/span><span class=\"p\">,<\/span> <span class=\"n\">Env<\/span><span class=\"p\">,<\/span> <span class=\"n\">Symbol<\/span><span class=\"p\">};<\/span>\n\n<span class=\"nd\">#[derive(Clone)]<\/span>\n<span class=\"k\">pub<\/span> <span class=\"k\">struct<\/span> <span class=\"n\">CosmicToken<\/span><span class=\"p\">;<\/span>\n\n<span class=\"nd\">#[contractimpl]<\/span>\n<span class=\"k\">impl<\/span> <span class=\"n\">CosmicToken<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">pub<\/span> <span class=\"k\">fn<\/span> <span class=\"nf\">initialize<\/span><span class=\"p\">(<\/span><span class=\"n\">env<\/span><span class=\"p\">:<\/span> <span class=\"n\">Env<\/span><span class=\"p\">,<\/span> <span class=\"n\">admin<\/span><span class=\"p\">:<\/span> <span class=\"n\">Address<\/span><span class=\"p\">)<\/span> <span class=\"k\">-&gt;<\/span> <span class=\"k\">Self<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">let<\/span> <span class=\"n\">token<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">token<\/span><span class=\"p\">::<\/span><span class=\"nn\">Interface<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">env<\/span><span class=\"p\">,<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">env<\/span><span class=\"nf\">.current_contract_address<\/span><span class=\"p\">());<\/span>\n        <span class=\"n\">token<\/span><span class=\"nf\">.initialize<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">admin<\/span><span class=\"p\">,<\/span> <span class=\"o\">&amp;<\/span><span class=\"mi\">7<\/span><span class=\"p\">,<\/span> <span class=\"o\">&amp;<\/span><span class=\"s\">\"Cosmic Token\"<\/span><span class=\"p\">,<\/span> <span class=\"o\">&amp;<\/span><span class=\"s\">\"CSM\"<\/span><span class=\"p\">);<\/span>\n        <span class=\"k\">Self<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"k\">pub<\/span> <span class=\"k\">fn<\/span> <span class=\"nf\">balance<\/span><span class=\"p\">(<\/span><span class=\"n\">env<\/span><span class=\"p\">:<\/span> <span class=\"n\">Env<\/span><span class=\"p\">,<\/span> <span class=\"n\">id<\/span><span class=\"p\">:<\/span> <span class=\"n\">Address<\/span><span class=\"p\">)<\/span> <span class=\"k\">-&gt;<\/span> <span class=\"nb\">i128<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">let<\/span> <span class=\"n\">token<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">token<\/span><span class=\"p\">::<\/span><span class=\"nn\">Interface<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">env<\/span><span class=\"p\">,<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">env<\/span><span class=\"nf\">.current_contract_address<\/span><span class=\"p\">());<\/span>\n        <span class=\"n\">token<\/span><span class=\"nf\">.balance<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">id<\/span><span class=\"p\">)<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"k\">pub<\/span> <span class=\"k\">fn<\/span> <span class=\"nf\">transfer<\/span><span class=\"p\">(<\/span><span class=\"n\">env<\/span><span class=\"p\">:<\/span> <span class=\"n\">Env<\/span><span class=\"p\">,<\/span> <span class=\"n\">from<\/span><span class=\"p\">:<\/span> <span class=\"n\">Address<\/span><span class=\"p\">,<\/span> <span class=\"n\">to<\/span><span class=\"p\">:<\/span> <span class=\"n\">Address<\/span><span class=\"p\">,<\/span> <span class=\"n\">amount<\/span><span class=\"p\">:<\/span> <span class=\"nb\">i128<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">let<\/span> <span class=\"n\">token<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">token<\/span><span class=\"p\">::<\/span><span class=\"nn\">Interface<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">env<\/span><span class=\"p\">,<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">env<\/span><span class=\"nf\">.current_contract_address<\/span><span class=\"p\">());<\/span>\n        <span class=\"n\">token<\/span><span class=\"nf\">.transfer<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">from<\/span><span class=\"p\">,<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">to<\/span><span class=\"p\">,<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">amount<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u06a9\u062f \u06cc\u06a9 \u062a\u0648\u06a9\u0646 \u0627\u0633\u0627\u0633\u06cc \u0628\u0627 <code>initialize<\/code>\u060c <code>balance<\/code>\u060c \u0648 <code>transfer<\/code> \u062a\u0648\u0627\u0628\u0639 \u0645\u062b\u0644 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u067e\u0648\u0644 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u062f! \ud83c\udf0c\ud83d\udcb0<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B3%D8%A7%D8%AE%D8%AA_%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF_%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF_%D8%B4%DB%8C%D8%B1_%D8%A2%D8%A8_%F0%9F%9A%B0\"><\/span>\n<p>  \u0633\u0627\u062e\u062a \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0634\u06cc\u0631 \u0622\u0628 \ud83d\udeb0<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062d\u0627\u0644\u0627 \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0634\u06cc\u0631 \u0622\u0628 \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645. \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u062c\u062f\u06cc\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>src\/faucet.rs<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"nd\">#![no_std]<\/span>\n<span class=\"k\">use<\/span> <span class=\"nn\">soroban_sdk<\/span><span class=\"p\">::{<\/span><span class=\"n\">contractimpl<\/span><span class=\"p\">,<\/span> <span class=\"n\">token<\/span><span class=\"p\">,<\/span> <span class=\"n\">Address<\/span><span class=\"p\">,<\/span> <span class=\"n\">Env<\/span><span class=\"p\">};<\/span>\n\n<span class=\"k\">const<\/span> <span class=\"n\">FAUCET_AMOUNT<\/span><span class=\"p\">:<\/span> <span class=\"nb\">i128<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">100<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ Amount of tokens to dispense<\/span>\n<span class=\"k\">const<\/span> <span class=\"n\">COOLDOWN_PERIOD<\/span><span class=\"p\">:<\/span> <span class=\"nb\">u64<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">86400<\/span><span class=\"p\">;<\/span> <span class=\"c1\">\/\/ 24 hours in seconds<\/span>\n\n<span class=\"nd\">#[derive(Clone)]<\/span>\n<span class=\"k\">pub<\/span> <span class=\"k\">struct<\/span> <span class=\"n\">CosmicFaucet<\/span><span class=\"p\">;<\/span>\n\n<span class=\"nd\">#[contractimpl]<\/span>\n<span class=\"k\">impl<\/span> <span class=\"n\">CosmicFaucet<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">pub<\/span> <span class=\"k\">fn<\/span> <span class=\"nf\">initialize<\/span><span class=\"p\">(<\/span><span class=\"n\">env<\/span><span class=\"p\">:<\/span> <span class=\"n\">Env<\/span><span class=\"p\">,<\/span> <span class=\"n\">token<\/span><span class=\"p\">:<\/span> <span class=\"n\">Address<\/span><span class=\"p\">)<\/span> <span class=\"k\">-&gt;<\/span> <span class=\"k\">Self<\/span> <span class=\"p\">{<\/span>\n        <span class=\"n\">env<\/span><span class=\"nf\">.storage<\/span><span class=\"p\">()<\/span><span class=\"nf\">.set<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"nn\">Symbol<\/span><span class=\"p\">::<\/span><span class=\"nf\">short<\/span><span class=\"p\">(<\/span><span class=\"s\">\"token\"<\/span><span class=\"p\">),<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">token<\/span><span class=\"p\">);<\/span>\n        <span class=\"k\">Self<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"k\">pub<\/span> <span class=\"k\">fn<\/span> <span class=\"nf\">drip<\/span><span class=\"p\">(<\/span><span class=\"n\">env<\/span><span class=\"p\">:<\/span> <span class=\"n\">Env<\/span><span class=\"p\">,<\/span> <span class=\"n\">to<\/span><span class=\"p\">:<\/span> <span class=\"n\">Address<\/span><span class=\"p\">)<\/span> <span class=\"k\">-&gt;<\/span> <span class=\"nb\">i128<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">let<\/span> <span class=\"n\">token<\/span><span class=\"p\">:<\/span> <span class=\"n\">Address<\/span> <span class=\"o\">=<\/span> <span class=\"n\">env<\/span><span class=\"nf\">.storage<\/span><span class=\"p\">()<\/span><span class=\"nf\">.get<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"nn\">Symbol<\/span><span class=\"p\">::<\/span><span class=\"nf\">short<\/span><span class=\"p\">(<\/span><span class=\"s\">\"token\"<\/span><span class=\"p\">))<\/span><span class=\"nf\">.unwrap<\/span><span class=\"p\">();<\/span>\n        <span class=\"k\">let<\/span> <span class=\"n\">token_client<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">token<\/span><span class=\"p\">::<\/span><span class=\"nn\">Client<\/span><span class=\"p\">::<\/span><span class=\"nf\">new<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">env<\/span><span class=\"p\">,<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">token<\/span><span class=\"p\">);<\/span>\n\n        <span class=\"c1\">\/\/ Check if user is on cooldown<\/span>\n        <span class=\"k\">let<\/span> <span class=\"n\">last_drip<\/span><span class=\"p\">:<\/span> <span class=\"nb\">u64<\/span> <span class=\"o\">=<\/span> <span class=\"n\">env<\/span><span class=\"nf\">.storage<\/span><span class=\"p\">()<\/span><span class=\"nf\">.get<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">to<\/span><span class=\"p\">)<\/span><span class=\"nf\">.unwrap_or<\/span><span class=\"p\">(<\/span><span class=\"mi\">0<\/span><span class=\"p\">);<\/span>\n        <span class=\"k\">let<\/span> <span class=\"n\">current_time<\/span> <span class=\"o\">=<\/span> <span class=\"n\">env<\/span><span class=\"nf\">.ledger<\/span><span class=\"p\">()<\/span><span class=\"nf\">.timestamp<\/span><span class=\"p\">();<\/span>\n        <span class=\"k\">if<\/span> <span class=\"n\">current_time<\/span> <span class=\"o\">-<\/span> <span class=\"n\">last_drip<\/span> <span class=\"o\"> <span class=\"n\">COOLDOWN_PERIOD<\/span> <span class=\"p\">{<\/span>\n            <span class=\"nd\">panic!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"You're still on cooldown! Try again later.\"<\/span><span class=\"p\">);<\/span>\n        <span class=\"p\">}<\/span>\n\n        <span class=\"c1\">\/\/ Update last drip time<\/span>\n        <span class=\"n\">env<\/span><span class=\"nf\">.storage<\/span><span class=\"p\">()<\/span><span class=\"nf\">.set<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">to<\/span><span class=\"p\">,<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">current_time<\/span><span class=\"p\">);<\/span>\n\n        <span class=\"c1\">\/\/ Transfer tokens<\/span>\n        <span class=\"n\">token_client<\/span><span class=\"nf\">.transfer<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">env<\/span><span class=\"nf\">.current_contract_address<\/span><span class=\"p\">(),<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">to<\/span><span class=\"p\">,<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">FAUCET_AMOUNT<\/span><span class=\"p\">);<\/span>\n        <span class=\"n\">FAUCET_AMOUNT<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0634\u06cc\u0631 \u0622\u0628 100 \u062a\u0648\u06a9\u0646 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0631\u0627 \u0628\u0627 \u06cc\u06a9 \u062f\u0648\u0631\u0647 \u062e\u0646\u06a9 \u0634\u062f\u0646 24 \u0633\u0627\u0639\u062a\u0647 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0647\u0631 \u06a9\u0627\u0631\u0628\u0631 \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u062f. \u0645\u062b\u0644 \u06cc\u06a9 \u0645\u0627\u0634\u06cc\u0646 \u0641\u0631\u0648\u0634 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0631\u0648\u0632\u0627\u0646\u0647 \u062f\u0648\u0628\u0627\u0631\u0647 \u067e\u0631 \u0645\u06cc \u0634\u0648\u062f! \ud83c\udfb0\ud83c\udf20<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B1_%D8%AD%D8%A7%D9%84_%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1_%D8%AF%D8%B1_%D8%B4%D8%A8%DA%A9%D9%87_%D8%A2%D8%B2%D9%85%D8%A7%DB%8C%D8%B4%DB%8C_%D8%A7%D8%B3%D8%AA%D9%84%D8%A7%D8%B1_%F0%9F%9A%80\"><\/span>\n<p>  \u062f\u0631 \u062d\u0627\u0644 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0627\u0633\u062a\u0644\u0627\u0631 \ud83d\ude80<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0632\u0645\u0627\u0646 \u0622\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0622\u0641\u0631\u06cc\u0646\u0634 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0647 \u0634\u0628\u06a9\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0633\u062a\u0627\u0631\u0647 \u0627\u06cc \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645!<\/p>\n<ol>\n<li>\u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0628\u0633\u0627\u0632\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   soroban contract build\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\u06cc\u06a9 \u062d\u0633\u0627\u0628 \u06a9\u0627\u0631\u0628\u0631\u06cc Stellar \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   soroban config identity generate alice\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\u062d\u0633\u0627\u0628 \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u062a\u0633\u062a \u0646\u062a \u062a\u0627\u0645\u06cc\u0646 \u0645\u0627\u0644\u06cc \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   soroban config network add testnet <span class=\"nt\">--rpc-url<\/span> https:\/\/soroban-testnet.stellar.org\n   soroban config identity fund alice <span class=\"nt\">--network<\/span> testnet\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<ol>\n<li>\u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f:\n<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight shell\"><code>   soroban contract deploy <span class=\"nt\">--wasm<\/span> target\/wasm32-unknown-unknown\/release\/cosmic_token.wasm <span class=\"nt\">--source<\/span> alice <span class=\"nt\">--network<\/span> testnet\n   soroban contract deploy <span class=\"nt\">--wasm<\/span> target\/wasm32-unknown-unknown\/release\/cosmic_faucet.wasm <span class=\"nt\">--source<\/span> alice <span class=\"nt\">--network<\/span> testnet\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0634\u0646\u0627\u0633\u0647 \u0647\u0627\u06cc \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0628\u0631\u06af\u0634\u062a\u06cc \u0631\u0627 \u06cc\u0627\u062f\u062f\u0627\u0634\u062a \u06a9\u0646\u06cc\u062f. \u0634\u0645\u0627 \u0628\u0647 \u062a\u0627\u0632\u06af\u06cc \u0622\u0641\u0631\u06cc\u0646\u0634 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc Stellar \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f! \ud83c\udf89<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF_%DB%8C%DA%A9_%D8%B1%D8%A7%D8%A8%D8%B7_%D9%88%D8%A8_%F0%9F%96%A5%EF%B8%8F\"><\/span>\n<p>  \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u0648\u0628 \ud83d\udda5\ufe0f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u0631\u0627\u0628\u0637 \u0648\u0628 \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0634\u06cc\u0631 \u0622\u0628 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 HTML\u060c CSS \u0648 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645. \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f <code>index.html<\/code> \u0641\u0627\u06cc\u0644:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight html\"><code><span class=\"cp\">\n<span class=\"nt\"> <span class=\"na\">lang=<\/span><span class=\"s\">\"en\"<\/span><span class=\"nt\">&gt;<\/span>\n<span class=\"nt\"\/>\n    <span class=\"nt\"><meta\/> <span class=\"na\">charset=<\/span><span class=\"s\">\"UTF-8\"<\/span><span class=\"nt\">&gt;<\/span>\n    <span class=\"nt\"><meta\/> <span class=\"na\">name=<\/span><span class=\"s\">\"viewport\"<\/span> <span class=\"na\">content=<\/span><span class=\"s\">\"width=device-width, initial-scale=1.0\"<\/span><span class=\"nt\">&gt;<\/span>\n    <span class=\"nt\"><title\/><\/span>Cosmic Token Faucet<span class=\"nt\"\/>\n    <span class=\"nt\"\/>\n        <span class=\"nt\">body<\/span> <span class=\"p\">{<\/span>\n            <span class=\"nl\">font-family<\/span><span class=\"p\">:<\/span> <span class=\"n\">Arial<\/span><span class=\"p\">,<\/span> <span class=\"nb\">sans-serif<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">display<\/span><span class=\"p\">:<\/span> <span class=\"n\">flex<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">justify-content<\/span><span class=\"p\">:<\/span> <span class=\"nb\">center<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">align-items<\/span><span class=\"p\">:<\/span> <span class=\"nb\">center<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">height<\/span><span class=\"p\">:<\/span> <span class=\"m\">100vh<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">margin<\/span><span class=\"p\">:<\/span> <span class=\"m\">0<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">background-color<\/span><span class=\"p\">:<\/span> <span class=\"m\">#1a1a2e<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">color<\/span><span class=\"p\">:<\/span> <span class=\"m\">#fff<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>\n        <span class=\"nc\">.container<\/span> <span class=\"p\">{<\/span>\n            <span class=\"nl\">text-align<\/span><span class=\"p\">:<\/span> <span class=\"nb\">center<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">background-color<\/span><span class=\"p\">:<\/span> <span class=\"m\">#16213e<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">padding<\/span><span class=\"p\">:<\/span> <span class=\"m\">2rem<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">border-radius<\/span><span class=\"p\">:<\/span> <span class=\"m\">10px<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">box-shadow<\/span><span class=\"p\">:<\/span> <span class=\"m\">0<\/span> <span class=\"m\">0<\/span> <span class=\"m\">10px<\/span> <span class=\"n\">rgba<\/span><span class=\"p\">(<\/span><span class=\"m\">0<\/span><span class=\"p\">,<\/span><span class=\"m\">0<\/span><span class=\"p\">,<\/span><span class=\"m\">0<\/span><span class=\"p\">,<\/span><span class=\"m\">0.5<\/span><span class=\"p\">);<\/span>\n        <span class=\"p\">}<\/span>\n        <span class=\"nt\">button<\/span> <span class=\"p\">{<\/span>\n            <span class=\"nl\">background-color<\/span><span class=\"p\">:<\/span> <span class=\"m\">#0f3460<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">color<\/span><span class=\"p\">:<\/span> <span class=\"no\">white<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">border<\/span><span class=\"p\">:<\/span> <span class=\"nb\">none<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">padding<\/span><span class=\"p\">:<\/span> <span class=\"m\">10px<\/span> <span class=\"m\">20px<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">margin-top<\/span><span class=\"p\">:<\/span> <span class=\"m\">20px<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">border-radius<\/span><span class=\"p\">:<\/span> <span class=\"m\">5px<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">cursor<\/span><span class=\"p\">:<\/span> <span class=\"nb\">pointer<\/span><span class=\"p\">;<\/span>\n            <span class=\"nl\">transition<\/span><span class=\"p\">:<\/span> <span class=\"n\">background-color<\/span> <span class=\"m\">0.3s<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>\n        <span class=\"nt\">button<\/span><span class=\"nd\">:hover<\/span> <span class=\"p\">{<\/span>\n            <span class=\"nl\">background-color<\/span><span class=\"p\">:<\/span> <span class=\"m\">#e94560<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>\n    <span class=\"nt\"\/>\n<span class=\"nt\"\/>\n<span class=\"nt\"\/>\n    <span class=\"nt\"\/>\n    <span class=\"nt\"><script><![CDATA[<span class=\"na\">src=]]><\/script><\/span><span class=\"s\">\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/stellar-sdk\/10.4.1\/stellar-sdk.js\"<\/span><span class=\"nt\">&gt;<\/span>\n    <span class=\"nt\"><script\/><\/span>\n        <span class=\"kd\">const<\/span> <span class=\"nx\">server<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">StellarSdk<\/span><span class=\"p\">.<\/span><span class=\"nc\">Server<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">https:\/\/horizon-testnet.stellar.org<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n        <span class=\"kd\">const<\/span> <span class=\"nx\">faucetId<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">YOUR_FAUCET_CONTRACT_ID<\/span><span class=\"dl\">'<\/span><span class=\"p\">;<\/span>\n\n        <span class=\"k\">async<\/span> <span class=\"kd\">function<\/span> <span class=\"nf\">requestTokens<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n            <span class=\"kd\">const<\/span> <span class=\"nx\">address<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">document<\/span><span class=\"p\">.<\/span><span class=\"nf\">getElementById<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">address<\/span><span class=\"dl\">'<\/span><span class=\"p\">).<\/span><span class=\"nx\">value<\/span><span class=\"p\">;<\/span>\n            <span class=\"kd\">const<\/span> <span class=\"nx\">resultElement<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">document<\/span><span class=\"p\">.<\/span><span class=\"nf\">getElementById<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">result<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n\n            <span class=\"k\">try<\/span> <span class=\"p\">{<\/span>\n                <span class=\"kd\">const<\/span> <span class=\"nx\">account<\/span> <span class=\"o\">=<\/span> <span class=\"k\">await<\/span> <span class=\"nx\">server<\/span><span class=\"p\">.<\/span><span class=\"nf\">loadAccount<\/span><span class=\"p\">(<\/span><span class=\"nx\">address<\/span><span class=\"p\">);<\/span>\n                <span class=\"kd\">const<\/span> <span class=\"nx\">transaction<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">StellarSdk<\/span><span class=\"p\">.<\/span><span class=\"nc\">TransactionBuilder<\/span><span class=\"p\">(<\/span><span class=\"nx\">account<\/span><span class=\"p\">,<\/span> <span class=\"p\">{<\/span> \n                    <span class=\"na\">fee<\/span><span class=\"p\">:<\/span> <span class=\"nx\">StellarSdk<\/span><span class=\"p\">.<\/span><span class=\"nx\">BASE_FEE<\/span><span class=\"p\">,<\/span>\n                    <span class=\"na\">networkPassphrase<\/span><span class=\"p\">:<\/span> <span class=\"nx\">StellarSdk<\/span><span class=\"p\">.<\/span><span class=\"nx\">Networks<\/span><span class=\"p\">.<\/span><span class=\"nx\">TESTNET<\/span>\n                <span class=\"p\">})<\/span>\n                <span class=\"p\">.<\/span><span class=\"nf\">addOperation<\/span><span class=\"p\">(<\/span><span class=\"nx\">StellarSdk<\/span><span class=\"p\">.<\/span><span class=\"nx\">Operation<\/span><span class=\"p\">.<\/span><span class=\"nf\">invokeHostFunction<\/span><span class=\"p\">({<\/span>\n                    <span class=\"na\">function<\/span><span class=\"p\">:<\/span> <span class=\"dl\">'<\/span><span class=\"s1\">drip<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span>\n                    <span class=\"na\">parameters<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span><span class=\"nx\">StellarSdk<\/span><span class=\"p\">.<\/span><span class=\"nx\">xdr<\/span><span class=\"p\">.<\/span><span class=\"nx\">ScVal<\/span><span class=\"p\">.<\/span><span class=\"nf\">scvAddress<\/span><span class=\"p\">(<\/span><span class=\"nx\">StellarSdk<\/span><span class=\"p\">.<\/span><span class=\"nx\">Address<\/span><span class=\"p\">.<\/span><span class=\"nf\">fromString<\/span><span class=\"p\">(<\/span><span class=\"nx\">address<\/span><span class=\"p\">))],<\/span>\n                    <span class=\"na\">contractId<\/span><span class=\"p\">:<\/span> <span class=\"nx\">faucetId<\/span>\n                <span class=\"p\">}))<\/span>\n                <span class=\"p\">.<\/span><span class=\"nf\">setTimeout<\/span><span class=\"p\">(<\/span><span class=\"mi\">30<\/span><span class=\"p\">)<\/span>\n                <span class=\"p\">.<\/span><span class=\"nf\">build<\/span><span class=\"p\">();<\/span>\n\n                <span class=\"c1\">\/\/ You would typically sign this transaction with the user's key<\/span>\n                <span class=\"c1\">\/\/ For simplicity, we're just displaying the XDR here<\/span>\n                <span class=\"kd\">const<\/span> <span class=\"nx\">xdr<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">transaction<\/span><span class=\"p\">.<\/span><span class=\"nf\">toXDR<\/span><span class=\"p\">();<\/span>\n                <span class=\"nx\">resultElement<\/span><span class=\"p\">.<\/span><span class=\"nx\">innerText<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">`Transaction XDR: <\/span><span class=\"p\">${<\/span><span class=\"nx\">xdr<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">;<\/span>\n            <span class=\"p\">}<\/span> <span class=\"k\">catch <\/span><span class=\"p\">(<\/span><span class=\"nx\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n                <span class=\"nx\">resultElement<\/span><span class=\"p\">.<\/span><span class=\"nx\">innerText<\/span> <span class=\"o\">=<\/span> <span class=\"s2\">`Error: <\/span><span class=\"p\">${<\/span><span class=\"nx\">error<\/span><span class=\"p\">.<\/span><span class=\"nx\">message<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">;<\/span>\n            <span class=\"p\">}<\/span>\n        <span class=\"p\">}<\/span>\n    <span class=\"nt\"\/>\n<span class=\"nt\"\/>\n<span class=\"nt\"\/>\n<\/span><\/span><\/span><\/span><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0646\u06cc\u062f <code>'YOUR_FAUCET_CONTRACT_ID'<\/code> \u0628\u0627 \u0634\u0646\u0627\u0633\u0647 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0648\u0627\u0642\u0639\u06cc \u0634\u06cc\u0631 \u0622\u0628 \u0645\u0633\u062a\u0642\u0631 \u0634\u0645\u0627.<\/p>\n<p>\u0627\u06cc\u0646 \u06cc\u06a9 \u0635\u0641\u062d\u0647 \u0648\u0628 \u0628\u0627 \u0645\u0636\u0645\u0648\u0646 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0622\u062f\u0631\u0633 Stellar \u062e\u0648\u062f \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0647 \u0648 \u062a\u0648\u06a9\u0646 \u0647\u0627 \u0631\u0627 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0646\u0646\u062f. \u0645\u062b\u0644 \u06cc\u06a9 \u062f\u0633\u062a\u06af\u0627\u0647 \u062e\u0648\u062f\u067e\u0631\u062f\u0627\u0632 \u0639\u0635\u0631 \u0641\u0636\u0627\u0633\u062a! \ud83c\udfe7\ud83d\ude80<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AA%D8%B3%D8%AA_%D8%B4%DB%8C%D8%B1_%E2%80%8B%E2%80%8B%D8%A2%D8%A8_%D9%85%D8%A7_%F0%9F%92%A7\"><\/span>\n<p>  \u062a\u0633\u062a \u0634\u06cc\u0631 \u200b\u200b\u0622\u0628 \u0645\u0627 \ud83d\udca7<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0632\u0645\u0627\u0646 \u0622\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0622\u0641\u0631\u06cc\u0646\u0634 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u062e\u0648\u062f \u0631\u0627 \u0622\u0632\u0645\u0627\u06cc\u0634 \u06a9\u0646\u06cc\u0645:<\/p>\n<ol>\n<li>\u0631\u0627 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f <code>index.html<\/code> \u0641\u0627\u06cc\u0644 \u062f\u0631 \u06cc\u06a9 \u0645\u0631\u0648\u0631\u06af\u0631 \u0648\u0628<\/li>\n<li>\u0622\u062f\u0631\u0633 Stellar testnet \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u0631\u0648\u06cc \u062f\u06a9\u0645\u0647 &#8220;Drip Tokens&#8221; \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f.<\/li>\n<li>\u0628\u0627\u06cc\u062f \u06cc\u06a9 \u062a\u0631\u0627\u06a9\u0646\u0634 XDR \u0646\u0645\u0627\u06cc\u0634 \u062f\u0627\u062f\u0647 \u0634\u0648\u062f. \u062f\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u0648\u0627\u0642\u0639\u06cc\u060c \u0634\u0645\u0627 \u0627\u06cc\u0646 \u0645\u0639\u0627\u0645\u0644\u0647 \u0631\u0627 \u0627\u0645\u0636\u0627 \u0648 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ol>\n<p>\u062a\u0628\u0631\u06cc\u06a9 \u0645\u06cc \u06af\u0648\u06cc\u0645! \u0634\u0645\u0627 \u0628\u0647 \u062a\u0627\u0632\u06af\u06cc \u06cc\u06a9 \u0634\u06cc\u0631 \u0622\u0628 \u062a\u0648\u06a9\u0646 \u062f\u0631 Stellar \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f! \ud83c\udf89<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%D8%AA%DB%8C%D8%AC%D9%87_%DA%AF%DB%8C%D8%B1%DB%8C_%D9%88_%D9%85%D8%B1%D8%A7%D8%AD%D9%84_%D8%A8%D8%B9%D8%AF%DB%8C_%F0%9F%9A%80\"><\/span>\n<p>  \u0646\u062a\u06cc\u062c\u0647 \u06af\u06cc\u0631\u06cc \u0648 \u0645\u0631\u0627\u062d\u0644 \u0628\u0639\u062f\u06cc \ud83d\ude80<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0634\u0645\u0627 \u0627\u0648\u0644\u06cc\u0646 \u0642\u062f\u0645 \u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u062f\u0646\u06cc\u0627\u06cc \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627\u06cc \u0647\u0648\u0634\u0645\u0646\u062f Stellar \u0628\u0631\u062f\u0627\u0634\u062a\u0647 \u0627\u06cc\u062f! \u0634\u0645\u0627 \u06cc\u0627\u062f \u06af\u0631\u0641\u062a\u0647 \u0627\u06cc\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647:<\/p>\n<ul>\n<li>\u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u062a\u0648\u0633\u0639\u0647 Stellar \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/li>\n<li>\u06cc\u06a9 \u062a\u0648\u06a9\u0646 \u0633\u0641\u0627\u0631\u0634\u06cc \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/li>\n<li>\u06cc\u06a9 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f \u0634\u06cc\u0631 \u0622\u0628 \u0628\u0633\u0627\u0632\u06cc\u062f<\/li>\n<li>\u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0647\u0627 \u0631\u0627 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc Stellar \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f<\/li>\n<li>\u06cc\u06a9 \u0631\u0627\u0628\u0637 \u0648\u0628 \u0633\u0627\u062f\u0647 \u0628\u0631\u0627\u06cc \u0634\u06cc\u0631 \u0622\u0628 \u062e\u0648\u062f \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/li>\n<\/ul>\n<p>\u0627\u0645\u0627 \u0627\u06cc\u0646 \u062a\u0627\u0632\u0647 \u0622\u063a\u0627\u0632 \u0633\u0641\u0631 \u0633\u062a\u0627\u0631\u0647 \u0627\u06cc \u0634\u0645\u0627\u0633\u062a! \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0686\u0646\u062f \u0627\u06cc\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u0631\u062a\u0642\u0627\u06cc \u0622\u0641\u0631\u06cc\u0646\u0634 \u06a9\u06cc\u0647\u0627\u0646\u06cc \u0634\u0645\u0627 \u0628\u0647 \u0633\u0637\u062d \u0628\u0639\u062f\u06cc \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f:<\/p>\n<ul>\n<li>\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0627\u0642\u062a\u0635\u0627\u062f \u0631\u0645\u0632 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u062a\u0631 (\u0645\u062b\u0644\u0627\u064b \u0628\u0647\u0631\u0647\u060c \u0633\u0647\u0627\u0645)<\/li>\n<li>\u0627\u0642\u062f\u0627\u0645\u0627\u062a \u0627\u0645\u0646\u06cc\u062a\u06cc \u0627\u0636\u0627\u0641\u06cc \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f<\/li>\n<li>\u06cc\u06a9 \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u062a\u0639\u0627\u0645\u0644\u06cc \u062a\u0631 \u0648 \u062c\u0630\u0627\u0628 \u062a\u0631 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f<\/li>\n<li>\u0633\u0627\u06cc\u0631 \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0647\u0648\u0634\u0645\u0646\u062f Stellar \u0631\u0627 \u06a9\u0627\u0648\u0634 \u06a9\u0646\u06cc\u062f<\/li>\n<\/ul>\n<p>\u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f\u060c \u062f\u0631 \u062f\u0646\u06cc\u0627\u06cc \u0628\u0644\u0627\u06a9 \u0686\u06cc\u0646\u060c \u0622\u0633\u0645\u0627\u0646 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0646\u06cc\u0633\u062a\u060c \u0628\u0644\u06a9\u0647 \u0641\u0642\u0637 \u0634\u0631\u0648\u0639 \u0627\u0633\u062a! \u0628\u0647 \u06a9\u0627\u0648\u0634 \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u062f\u060c \u0628\u0647 \u0633\u0627\u062e\u062a\u0646 \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u062f \u0648 \u0628\u0647 \u0633\u062a\u0627\u0631\u0647 \u0647\u0627 \u0628\u0631\u0633\u06cc\u062f! \ud83c\udf20\ud83d\udc68\u200d\ud83d\ude80\ud83d\udc69\u200d\ud83d\ude80<\/p>\n<p>\u0645\u0634\u062a\u0627\u0642\u0627\u0646\u0647 \u0645\u0646\u062a\u0638\u0631 \u062e\u0648\u0627\u0646\u062f\u0646 \u0646\u0638\u0631\u0627\u062a \u0634\u0645\u0627 \u0647\u0633\u062a\u0645.<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f\u060c \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u0622\u06cc\u0646\u062f\u0647 Stellar! \u0627\u0645\u0631\u0648\u0632\u060c \u0645\u0627 \u0642\u0635\u062f \u062f\u0627\u0631\u06cc\u0645 \u06cc\u06a9 \u0633\u0641\u0631 \u0647\u06cc\u062c\u0627\u0646 \u0627\u0646\u06af\u06cc\u0632 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u06cc\u06a9 \u0634\u06cc\u0631 \u0622\u0628 \u062a\u0648\u06a9\u0646 \u062f\u0631 \u0634\u0628\u06a9\u0647 \u0627\u0633\u062a\u0644\u0627\u0631 \u0622\u063a\u0627\u0632 \u06a9\u0646\u06cc\u0645. \u062f\u0633\u062a \u0648 \u067e\u0646\u062c\u0647 \u0646\u0631\u0645 \u06a9\u0646\u06cc\u062f\u060c \u0632\u06cc\u0631\u0627 \u062f\u0631 \u067e\u0627\u06cc\u0627\u0646 \u0627\u06cc\u0646 \u0622\u0645\u0648\u0632\u0634\u060c \u062a\u0648\u06a9\u0646\u200c\u0647\u0627\u06cc \u062f\u06cc\u062c\u06cc\u062a\u0627\u0644\u06cc \u0628\u0627\u0631\u0627\u0646\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0633\u0627\u062e\u062a! \ud83c\udf27\ufe0f\ud83d\udcb0 \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628 \u0645\u0642\u062f\u0645\u0647: \u0634\u06cc\u0631 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":73108,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-73107","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/73107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=73107"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/73107\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/73108"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=73107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=73107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=73107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}