<?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>Роман Навроцкий</title><generator>teletype.in</generator><description><![CDATA[Роман Навроцкий]]></description><image><url>https://img3.teletype.in/files/e5/c2/e5c21c8d-2f12-4e26-b852-ec3ca9e3e30e.png</url><title>Роман Навроцкий</title><link>https://teletype.in/@aut0mat1k</link></image><link>https://teletype.in/@aut0mat1k?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=aut0mat1k</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/aut0mat1k?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/aut0mat1k?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Wed, 15 Apr 2026 16:09:47 GMT</pubDate><lastBuildDate>Wed, 15 Apr 2026 16:09:47 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@aut0mat1k/ZVpE0RxtHnF</guid><link>https://teletype.in/@aut0mat1k/ZVpE0RxtHnF?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=aut0mat1k</link><comments>https://teletype.in/@aut0mat1k/ZVpE0RxtHnF?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=aut0mat1k#comments</comments><dc:creator>aut0mat1k</dc:creator><title>Near Stakewars node Install Guide</title><pubDate>Tue, 02 Aug 2022 15:36:47 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/d6/df/d6dfec77-2cfb-4ea4-91a7-22a69dd74a1a.png"></media:content><description><![CDATA[<img src="https://miro.medium.com/max/1400/1*-06DEAysBUzzAbIQSjwllw.png"></img>Полезные ссылки:
]]></description><content:encoded><![CDATA[
  <figure id="M3wC" class="m_original">
    <img src="https://miro.medium.com/max/1400/1*-06DEAysBUzzAbIQSjwllw.png" width="838" />
  </figure>
  <p id="YU5d">Полезные ссылки:<br /></p>
  <ul id="TfDz">
    <li id="bc96">Кошелек: <a href="https://wallet.shardnet.near.org/" target="_blank">https://wallet.shardnet.near.org/</a></li>
    <li id="4441">Мониторинг: <a href="https://explorer.shardnet.near.org/" target="_blank">https://explorer.shardnet.near.org/</a></li>
    <li id="0494">Контабо сервер: <a href="https://contabo.com/" target="_blank">https://contabo.com/</a></li>
    <li id="mutI">Официальный гайд <a href="https://github.com/near/stakewars-iii/blob/main/FAQ.md" target="_blank">https://github.com/near/stakewars-iii/blob/main/FAQ.md</a></li>
  </ul>
  <p id="Psoo"></p>
  <p id="whfj">Минимальные требования: CPU: 4-Core, RAM: 8GB DDR4, Storage: 500GB SSD</p>
  <p id="hfoW"><br />Я установил на сервере Contabo L. Цена составляет 16 евро в месяц. <br /><br /><br />Подготовка сервера:<br /><br />Обновляем пакеты</p>
  <pre data-lang="bash" id="bF7n">sudo apt update &amp;&amp; sudo apt upgrade -y</pre>
  <p id="RkAC"><br />Устанавливаем необходимые утилиты<br /></p>
  <p id="nHk1">Устанавливаем инструменты разработчика, Node.js, npm и другие необходимые пакеты</p>
  <pre data-lang="bash" id="tsna">sudo apt install -y git binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev cmake gcc g++ python docker.io protobuf-compiler libssl-dev pkg-config llvm cargo
sudo apt install clang build-essential make
sudo apt install curl jq
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -  
sudo apt install nodejs
PATH=&quot;$PATH&quot;</pre>
  <p id="WfsF">Проверяем версии</p>
  <pre data-lang="bash" id="xKsL">node -v
#v18.x.x</pre>
  <pre data-lang="bash" id="NoN7">npm -v
#8.x.x</pre>
  <p id="gGZV">Устанавливаем NEAR-CLI</p>
  <pre data-lang="bash" id="9X5S">sudo npm install -g near-cli</pre>
  <p id="jfJc">Настраиваем окружение. Текущий тестнет проходит в сети <strong>shardnet. </strong>Вводим название сети в качестве переменной</p>
  <pre data-lang="bash" id="d5Jb">export NEAR_ENV=shardnet
echo &#x27;export NEAR_ENV=shardnet&#x27; &gt;&gt; ~/.bashrc</pre>
  <p id="kBxP">Устанавливаем и настраиваем Python pip</p>
  <pre data-lang="bash" id="YRyR">sudo apt install python3-pip

USER_BASE_BIN=$(python3 -m site --user-base)/bin
export PATH=&quot;$USER_BASE_BIN:$PATH&quot;</pre>
  <p id="4W8N">Устанавливаем Rust</p>
  <section>
    <pre data-lang="bash" id="8So5"># устанавливаем необходимые пакеты
sudo apt install curl build-essential gcc make -y
# загружаем установочный скрипт Rust
curl --proto &#x27;=https&#x27; --tlsv1.2 -sSf https://sh.rustup.rs | sh
</pre>
    <p id="QBet">жмем 1) продолжить установку (по умолчанию).</p>
    <figure id="tsVB" class="m_custom">
      <img src="https://img2.teletype.in/files/52/fd/52fda65d-6438-4d73-abc9-09d896c49b8c.png" width="703" />
    </figure>
    <pre data-lang="bash" id="jDwM"># активируем среду Rust для текущей оболочки
source ~/.profile
source ~/.cargo/env</pre>
  </section>
  <hr />
  <section>
    <h3 id="MqvP" data-align="center">Создание кошелька</h3>
  </section>
  <p id="VL4n">Заходим по ссылке <a href="https://wallet.shardnet.near.org/" target="_blank">https://wallet.shardnet.near.org/</a> и создаем кошелек NEAR для тестовой сети. Сохраняем мнемонику </p>
  <p id="FtRF"></p>
  <figure id="lBPJ" class="m_custom">
    <img src="https://img3.teletype.in/files/a2/41/a2415626-58d4-4b18-874f-b98dc8b68538.png" width="1100" />
  </figure>
  <hr />
  <section>
    <h3 id="bJCy" data-align="center"> Установка ноды</h3>
  </section>
  <p id="PQBn">Клонируем репозиторий с нодой</p>
  <pre data-lang="bash" id="l8uW">git clone https://github.com/near/nearcore
cd nearcore
git fetch</pre>
  <p id="Kg8A">Сверяем коммит. Актуальный можете проверить по ссылке <a href="https://github.com/near/stakewars-iii/blob/main/commit.md" target="_blank">https://github.com/near/stakewars-iii/blob/main/commit.md</a></p>
  <pre data-lang="bash" id="c3oB">git checkout c1b047b8187accbf6bd16539feb7bb60185bdc38</pre>
  <p id="18NO">Качаем бинарники</p>
  <pre data-lang="bash" id="fX6S">cargo build -p neard --release --features shardnet</pre>
  <p id="KCmW">Создаем генезис</p>
  <pre data-lang="bash" id="b6t1">./target/release/neard --home ~/.near init --chain-id shardnet --download-genesis</pre>
  <p id="YQjb">Скачиваем конфиг </p>
  <pre data-lang="bash" id="iSYf">rm ~/.near/config.json
wget -O ~/.near/config.json https://s3-us-west-1.amazonaws.com/build.nearprotocol.com/nearcore-deploy/shardnet/config.json</pre>
  <p id="0u9d">Создаем сервисный файл. </p>
  <pre data-lang="bash" id="1V2L">printf &quot;[Unit]
Description=NEARd Daemon Service

[Service]
Type=simple
User=root
#Group=near
WorkingDirectory=/root/.near
ExecStart=/root/nearcore/target/release/neard run
Restart=on-failure
RestartSec=30
KillSignal=SIGINT
TimeoutStopSec=45
KillMode=mixed

[Install]
WantedBy=multi-user.target&quot; &gt; /etc/systemd/system/neard.service</pre>
  <p id="6PqK">Старт сервиса  </p>
  <pre data-lang="bash" id="hSa9">sudo systemctl daemon-reload
sudo systemctl enable neard
sudo systemctl restart neard</pre>
  <p id="Ve7e">Смотрим логи и ждем пока нода синхронизируется </p>
  <pre data-lang="bash" id="Xkov">journalctl -n 100 -f -u neard</pre>
  <p id="fidN">Проверяем синхронизацию</p>
  <pre data-lang="bash" id="xd62">curl -s http://127.0.0.1:3030/status | jq .sync_info</pre>
  <p id="1hVk">Сверяем высоту блока Синхронизация должна быть False </p>
  <hr />
  <section>
    <h3 id="DtQ9" data-align="center">Активация ноды и создание валидатора</h3>
  </section>
  <p id="6t3b">Запускаем команду</p>
  <pre data-lang="bash" id="1GDn">near login</pre>
  <p id="UveZ">Копируем ссылку и открываем в браузере, в котором устанавливали кошелек в первом задании</p>
  <figure id="kMHP" class="m_custom">
    <img src="https://github.com/near/stakewars-iii/blob/main/challenges/images/1.png?raw=true" width="1024" />
  </figure>
  <p id="gXSC">Вводим Account_ID и даем все необходимые разрешения, после того как страница выдаст ошибку соединения, ваш кошелек будет пополнен.</p>
  <figure id="b0CB" class="m_custom">
    <img src="https://github.com/near/stakewars-iii/raw/main/challenges/images/4.png" width="768" />
  </figure>
  <p id="YCV6">Переходим в терминал и вводим имя кошелька (Account_ID).</p>
  <section>
    <p id="3Y1G">После введения кошелька, терминал может зависнуть и не выдать надпись successfully. В данном случае алгоритм действий следующий:</p>
    <pre data-lang="bash" id="dhgw">near generate-key &lt;ACCOUNT_ID&gt; 
#ACCOUNT_ID должен быть в формате xxx.shardnet.near
#Например: trdm.shardnet.near</pre>
    <p id="oXk2">Сгенерируется JSON файл, в котором нужно скопировать публичный ключ</p>
    <pre data-lang="bash" id="slei">nano /root/.near-credentials/shardnet/trdm.shardnet.near.json</pre>
    <p id="WJNK">Копируем &quot;public_key&quot; и нажимаем Ctrl + X для выхода из редактора</p>
    <p id="rYqL">В ссылке ниже заменяем &lt;public_key&gt; на скопированный ключ и открываем в браузере</p>
    <p id="yJUX"><a href="https://wallet.shardnet.near.org/login/?referrer=NEAR+CLI&public_key=" target="_blank">https://wallet.shardnet.near.org/login/?referrer=NEAR+CLI&amp;public_key=</a><strong>&lt;public_key&gt;</strong>&amp;success_url=<a href="http://127.0.0.1:5000/" target="_blank">http://127.0.0.1:5000/</a></p>
    <p id="mPYL">Продолжаем установку</p>
  </section>
  <section>
    <p id="Ehtl">Создаем переменные моникера, ID пула и ID аккаунта. Заменяем &lt;MONIKER&gt; на свой ник.</p>
  </section>
  <pre data-lang="bash" id="hOmV">MONIKER=&lt;MONIKER&gt;
POOL=&lt;MONIKER&gt;.factory.shardnet.near
ACCOUNT_ID=&lt;MONIKER&gt;.shardnet.near</pre>
  <p id="W3lr">Сохраняем переменные, перезагружаем .bash_profile и проверяем значения переменных</p>
  <pre data-lang="bash" id="TENG">echo &quot;export MONIKER=&quot;${MONIKER}&quot;&quot; &gt;&gt; $HOME/.bash_profile
echo &quot;export POOL=&quot;${POOL}&quot;&quot; &gt;&gt; $HOME/.bash_profile
echo &quot;export ACCOUNT_ID=&quot;${ACCOUNT_ID}&quot;&quot; &gt;&gt; $HOME/.bash_profile

source $HOME/.bash_profile

echo -e &quot;\nmoniker &gt; ${MONIKER}.\n&quot;
echo -e &quot;\npool &gt; ${POOL}.\n&quot;
echo -e &quot;\naccount_id &gt; ${ACCOUNT_ID}.\n&quot;</pre>
  <p id="14zc">Создаем ключ валидатора</p>
  <pre data-lang="bash" id="DT8W">near generate-key $POOL</pre>
  <p id="t6ql">Заходим в файл и меняем слово <strong>private_key</strong> на <strong>secret_key</strong></p>
  <pre data-lang="bash" id="oXmm">nano ~/.near-credentials/shardnet/$POOL.json</pre>
  <p id="KvGZ">Нажимаем Ctrl + X и подтверждаем изменения</p>
  <p id="pOUe">Копируем ключ в папку тестнета</p>
  <pre data-lang="bash" id="0Uf6">cp ~/.near-credentials/shardnet/$POOL.json ~/.near/validator_key.json</pre>
  <p id="q3I9">Перезапускаем ноду</p>
  <pre data-lang="bash" id="ptPa">sudo systemctl daemon-reload
sudo systemctl enable neard
sudo systemctl restart neard</pre>
  <hr />
  <section>
    <h3 id="BjfG" data-align="center">Настройка стекинг пула</h3>
  </section>
  <p id="Aiuc">Вызываем стекинг пул фэктори, создаем и разворачиваем новый стекинг пул. <strong>Важно!</strong> Заменяем &lt;MONIKER&gt; и &lt;ACCOUNT_ID&gt; <em>(в моем случае: &lt;MONIKER&gt; - trdm; &lt;ACCOUNT_ID&gt; - trdm.shardnet.near</em>). Вместо &lt;public key&gt; вставляем ключ из файла <strong>validator_key.json</strong></p>
  <pre data-lang="bash" id="2NpZ">NEAR_ENV=shardnet near call factory.shardnet.near create_staking_pool &#x27;{&quot;staking_pool_id&quot;: &quot;&lt;MONIKER&gt;&quot;, &quot;owner_id&quot;: &quot;&lt;ACCOUNT_ID&gt;&quot;, &quot;stake_public_key&quot;: &quot;&lt;public key&gt;&quot;, &quot;reward_fee_fraction&quot;: {&quot;numerator&quot;: 5, &quot;denominator&quot;: 100}, &quot;code_hash&quot;:&quot;DD428g9eqLL8fWUxv8QSpVFzyHi1Qd16P8ephYCTmMSZ&quot;}&#x27; --accountId=&quot;$ACCOUNT_ID&quot; --amount=30 --gas=300000000000000</pre>
  <section>
    <p id="jZ98"><strong>Дополнительно!</strong> Для изменения настроек пула, например изменения комиссии, воспользуемся следующей командой</p>
    <pre data-lang="bash" id="AasG">NEAR_ENV=shardnet near call $POOL update_reward_fee_fraction &#x27;{&quot;reward_fee_fraction&quot;: {&quot;numerator&quot;: 1, &quot;denominator&quot;: 100}}&#x27; --accountId $ACCOUNT_ID --gas=300000000000000</pre>
    <p id="pZsS">При условии корректного исполнения программы, выведется хэш транзакции и ссылка на транзакцию в эксплорере:</p>
    <figure id="eZvl" class="m_custom">
      <img src="https://img2.teletype.in/files/19/db/19dbfd48-e264-4fd8-97fa-dd0f9b2be680.png" width="1396" />
    </figure>
  </section>
  <hr />
  <p id="NPbP">Теперь можем застейкать еще токенов. В моем случае 500.</p>
  <pre data-lang="bash" id="UA2U">NEAR_ENV=shardnet near call $POOL deposit_and_stake --amount 500 --accountId $ACCOUNT_ID --gas=300000000000000</pre>
  <p id="vhnu"><strong>Важно! </strong>Оставьте немного токенов в кошельке для оплаты комиссий.</p>
  <hr />
  <section>
    <h3 id="bhvj" data-align="center">Мониторинг ноды</h3>
  </section>
  <p id="cgmv">Проверка логов</p>
  <pre data-lang="bash" id="6I6q">journalctl -n 100 -f -u neard | ccze -A</pre>
  <p id="LAhd">Проверка версии ноды</p>
  <pre data-lang="bash" id="neYl">curl -s http://127.0.0.1:3030/status | jq .version</pre>
  <p id="pHS2">Проверяем делегатора </p>
  <pre data-lang="bash" id="DzaK">near view $POOL get_accounts &#x27;{&quot;from_index&quot;: 0, &quot;limit&quot;: 10}&#x27; --accountId $ACCOUNT_ID</pre>
  <p id="wf1E">Проверка произведенных блоков. Заменить &lt;POOL&gt; на адрес своего пула в формате xxx.factory.shardnet.near</p>
  <pre data-lang="bash" id="hSYd">curl -s -d &#x27;{&quot;jsonrpc&quot;: &quot;2.0&quot;, &quot;method&quot;: &quot;validators&quot;, &quot;id&quot;: &quot;dontcare&quot;, &quot;params&quot;: [null]}&#x27; -H &#x27;Content-Type: application/json&#x27; 127.0.0.1:3030 | jq -c &#x27;.result.current_validators[] | select(.account_id | contains (&quot;&lt;POOL&gt;&quot;))&#x27;
</pre>
  <section>
    <h3 id="dGHw" data-align="center">Полезные команды</h3>
  </section>
  <p id="aAUI">Перезапуск ноды</p>
  <pre data-lang="bash" id="LGua">sudo systemctl restart neard</pre>
  <p id="XnMV">Проверка баланса</p>
  <pre data-lang="bash" id="eIG8">near view $POOL get_account_total_balance &#x27;{&quot;account_id&quot;: &quot;&lt;MONIKER&gt;.shardnet.near&quot;}&#x27;</pre>
  <p id="6r5G">Анстейк токенов</p>
  <pre data-lang="bash" id="BWNC">#определенное количество
near call $POOL unstake &#x27;{&quot;amount&quot;: &quot;&lt;amount yoctoNEAR&gt;&quot;}&#x27; \
--accountId $ACCOUNT_ID --gas=300000000000000

#все
near call $POOL unstake_all --accountId $ACCOUNT_ID \
--gas=300000000000000</pre>
  <p id="vjwL">Вывод токенов</p>
  <pre data-lang="bash" id="rj6i">#определенное количество
near call $POOL withdraw &#x27;{&quot;amount&quot;: &quot;&lt;amount yoctoNEAR&gt;&quot;}&#x27; \
--accountId $ACCOUNT_ID --gas=300000000000000

#все
near call $POOL withdraw_all --accountId $ACCOUNT_ID \
--gas=300000000000000</pre>
  <p id="gz5s">Список активных валидаторов текущей эпохи</p>
  <pre data-lang="bash" id="3Z31">near validators current</pre>
  <p id="LZw5">Список валидаторов, чей пропозал принят и которые будут активны в следующей эпохе</p>
  <pre data-lang="bash" id="aJNh">near validators next</pre>

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