<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>c7nsgte</title><generator>teletype.in</generator><description><![CDATA[c7nsgte]]></description><image><url>https://img3.teletype.in/files/6f/b3/6fb3e9dd-4f2c-48e5-aa98-161a11f211f3.png</url><title>c7nsgte</title><link>https://teletype.in/@c7nsgte</link></image><link>https://teletype.in/@c7nsgte?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=c7nsgte</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/c7nsgte?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/c7nsgte?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Thu, 29 Oct 2026 20:30:53 GMT</pubDate><lastBuildDate>Thu, 29 Oct 2026 20:30:53 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@c7nsgte/VJyrCtam7g2</guid><link>https://teletype.in/@c7nsgte/VJyrCtam7g2?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=c7nsgte</link><comments>https://teletype.in/@c7nsgte/VJyrCtam7g2?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=c7nsgte#comments</comments><dc:creator>c7nsgte</dc:creator><title>Fuel Deploy Smart Contract</title><pubDate>Wed, 18 Jan 2023 16:47:30 GMT</pubDate><description><![CDATA[<img src="https://img1.teletype.in/files/4c/c8/4cc8f297-b7f9-4453-badf-c6ab874c3d87.png"></img>Все действия выполнялись через workspace на сайте gitpod.]]></description><content:encoded><![CDATA[
  <p id="2qGx">Все действия выполнялись через workspace на сайте <a href="https://gitpod.io/workspaces" target="_blank">gitpod</a>.</p>
  <p id="hLyu"><strong>Выполняем каждую команду отдельно:</strong></p>
  <ul id="TD6G">
    <li id="zztt">curl --proto &#x27;=https&#x27; --tlsv1.2 -sSf \<br />    <a href="https://fuellabs.github.io/fuelup/fuelup-init.sh" target="_blank">https://fuellabs.github.io/fuelup/fuelup-init.sh</a> | sh</li>
    <li id="jbDj">export PATH=&quot;${HOME}/.fuelup/bin:${PATH}&quot;</li>
    <li id="qrtu">fuelup toolchain install beta-2</li>
    <li id="YSeZ">fuelup default beta-2 </li>
    <li id="LUmM">mkdir fuel-project </li>
    <li id="5Up7">cd fuel-project </li>
    <li id="r35U">forc new counter-contract </li>
  </ul>
  <p id="FT9D">открывае файл main.sw, находящийся по пути fuel-project/src</p>
  <pre id="aAnG">contract;

storage {
    counter: u64 = 0,
}

abi Counter {
    #[storage(read, write)]
    fn increment();

    #[storage(read)]
    fn count() -&gt; u64;
}

impl Counter for Contract {
    #[storage(read)]
    fn count() -&gt; u64 {
        storage.counter
    }

    #[storage(read, write)]
    fn increment() {
        storage.counter = storage.counter + 1;
    }
}
</pre>
  <p id="QWyw"></p>
  <ul id="zNO7">
    <li id="LpPB">fuelup component add forc-wallet</li>
    <li id="DA24">cd counter-contract</li>
    <li id="bQPG">forc build</li>
    <li id="XNuO">forc-wallet init</li>
  </ul>
  <p id="LGIi">Придумываем пароль и сохраняем мнемоник</p>
  <ul id="ByG1">
    <li id="AIxt">forc-wallet new</li>
  </ul>
  <p id="nUVZ">Пишем пароль</p>
  <p id="XJWH"><strong>Копируем адрес кошелька и идем в <a href="https://faucet-beta-2.fuel.network/" target="_blank">кран</a> за тестовыми токенами</strong></p>
  <ul id="oVYk">
    <li id="s3DD">forc deploy --url node-beta-2.fuel.network/graphql --gas-price 1</li>
  </ul>
  <p id="Hw9C">Вставляем адрес кошелька (который ранее сохранили), жмем Enter, получаем <strong>Tx id to sign</strong></p>
  <p id="JBmZ"><strong>Далее, не закрывая текущий терминал, открываем еще один</strong></p>
  <ul id="ZHjK">
    <li id="1e8q">cd fuel-project</li>
    <li id="llWw">cd counter-contract</li>
    <li id="OjsX">export PATH=&quot;${HOME}/.fuelup/bin:${PATH}&quot;</li>
    <li id="GXmP">forc wallet sign &quot;<strong>Tx id to sign</strong> из первого окна&quot; 0</li>
  </ul>
  <p id="mNUO"><strong>Копируем сигнатуру, возвращаемся в первый терминал и вставляем ее там</strong></p>
  <p id="LpUU">Копируем <strong>Tx id to sign </strong>подставляем 0x в начале идем в <a href="https://fuellabs.github.io/block-explorer-v2" target="_blank"><strong>эксплорер</strong></a> и радуемся запущеному контракту.</p>
  <figure id="Xwa5" class="m_original">
    <img src="https://img1.teletype.in/files/4c/c8/4cc8f297-b7f9-4453-badf-c6ab874c3d87.png" width="1166" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@c7nsgte/HHcmDWfYexn</guid><link>https://teletype.in/@c7nsgte/HHcmDWfYexn?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=c7nsgte</link><comments>https://teletype.in/@c7nsgte/HHcmDWfYexn?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=c7nsgte#comments</comments><dc:creator>c7nsgte</dc:creator><title>StarkNet Deploy Smart Contract</title><pubDate>Mon, 26 Dec 2022 21:40:22 GMT</pubDate><description><![CDATA[Все действия выполнялись через workspace на сайте gitpod.]]></description><content:encoded><![CDATA[
  <p id="2qGx">Все действия выполнялись через workspace на сайте <a href="https://gitpod.io/workspaces" target="_blank">gitpod</a>.</p>
  <p id="hLyu"><strong>Выполняем каждую команду отдельно:</strong></p>
  <ul id="ylMS">
    <li id="3a17">sudo apt install -y libgmp3-dev</li>
    <li id="de40">sudo apt install python3.9</li>
    <li id="HGR4">pip3 install cairo-lang</li>
  </ul>
  <p id="txsr">Везде, где просит нажимаем &quot;y&quot;</p>
  <p id="89ox"><strong>Создаем кошелёк:</strong></p>
  <ul id="iliB">
    <li id="9b55">export STARKNET_NETWORK=alpha-goerli</li>
    <li id="DVID">export STARKNET_WALLET=starkware.starknet.wallets.open_zeppelin.OpenZeppelinAccount</li>
    <li id="5eye">starknet new_account</li>
  </ul>
  <p id="0rGy">Сохраняем <strong>account address</strong> и <strong>public key.  </strong>Получаем тестовые токены через <a href="https://faucet.goerli.starknet.io/" target="_blank">StarkNet Faucet</a></p>
  <ul id="cnZF">
    <li id="DOYx">starknet deploy_account</li>
  </ul>
  <p id="kHGN">Получаем Transaction Hash и ждём пока аккаунт задеплоится, отслеживать транзакцию можно через <a href="https://testnet.starkscan.co/" target="_blank">Starscan</a>.</p>
  <ul id="qGvY">
    <li id="35e3">mkdir starknet</li>
    <li id="9b97">cd starknet</li>
    <li id="25c7">vim contract.cairo</li>
  </ul>
  <p id="lHiX">Нажимаем &quot;Ctrl+Z&quot; и идём в папку <strong>starknet</strong>. Открываем файл<strong> contract.cairo</strong> и вставляем в него следующий код:</p>
  <pre id="MRbj">// Declare this file as a StarkNet contract.
%lang starknet

from starkware.cairo.common.cairo_builtins import HashBuiltin

// Define a storage variable.
@storage_var
func balance() -&gt; (res: felt) {
}

// Increases the balance by the given amount.
@external
func increase_balance{
    syscall_ptr: felt*,
    pedersen_ptr: HashBuiltin*,
    range_check_ptr,
}(amount: felt) {
    let (res) = balance.read();
    balance.write(res + amount);
    return ();
}

// Returns the current balance.
@view
func get_balance{
    syscall_ptr: felt*,
    pedersen_ptr: HashBuiltin*,
    range_check_ptr,
}() -&gt; (res: felt) {
    let (res) = balance.read();
    return (res=res);
}</pre>
  <p id="kUSs">Удаляем из названия файла первую точку и .swp что-бы финальное название было &quot;contract.cairo&quot;.</p>
  <ul id="hXn0">
    <li id="3Bom">starknet-compile contract.cairo \<br />    --output contract_compiled.json \<br />    --abi contract_abi.json</li>
    <li id="IEl4">starknet declare --contract contract_compiled.json</li>
  </ul>
  <p id="LucX">Сохраняем <strong>contract class hash</strong> для следующего шага и ждём завершения транзакции.</p>
  <ul id="GPyQ">
    <li id="D5VD">starknet deploy --class_hash $CLASS_HASH (заменяем $CLASS_HASH на <strong>contract class hash</strong> из предыдущего шага)</li>
  </ul>
  <p id="EN6L">Сохраняем <strong>contract address</strong> и ждём завершения транзакции.</p>
  <ul id="zXum">
    <li id="1XNe">starknet invoke \<br />    --address ${CONTRACT_ADDRESS} \<br />    --abi contract_abi.json \<br />    --function increase_balance \<br />    --inputs 1234</li>
  </ul>
  <p id="hDuL">Заменяем ${CONTRACT_ADDRESS} на <strong>contract address</strong> из предыдущего шага.</p>
  <p id="iBp5">Проверяем прошла ли последняя транзакция и радуемся запущеному контракту.</p>

]]></content:encoded></item></channel></rss>