<?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>MMS Nodes</title><generator>teletype.in</generator><description><![CDATA[In Crypto We Trust]]></description><image><url>https://img2.teletype.in/files/1c/c8/1cc8c7e0-a8e1-4ce0-9f42-7549b5cf9f35.png</url><title>MMS Nodes</title><link>https://teletype.in/@mms-nodes</link></image><link>https://teletype.in/@mms-nodes?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/mms-nodes?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/mms-nodes?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Tue, 07 Apr 2026 12:34:25 GMT</pubDate><lastBuildDate>Tue, 07 Apr 2026 12:34:25 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@mms-nodes/Initia</guid><link>https://teletype.in/@mms-nodes/Initia?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes</link><comments>https://teletype.in/@mms-nodes/Initia?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes#comments</comments><dc:creator>mms-nodes</dc:creator><title>Установка ноды Initia</title><pubDate>Fri, 17 May 2024 05:27:18 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/1e/db/1edb5cfc-5783-456d-8b5a-3ae93ecd8a95.png"></media:content><description><![CDATA[<img src="https://img2.teletype.in/files/9a/d4/9ad48e98-737a-4b40-a27f-c293f2ce58f9.png"></img>&quot;Наша миссия заключается в том, чтобы с нуля переосмыслить опыт работы с многоцепочечными сетями. Легко интегрируя архитектуру, продукт и экономические системы, Initia предлагает целостное решение, которое преобразует работу, ощущения и взаимодействие сетей. &quot;]]></description><content:encoded><![CDATA[
  <figure id="HmgZ" class="m_original">
    <img src="https://img2.teletype.in/files/9a/d4/9ad48e98-737a-4b40-a27f-c293f2ce58f9.png" width="640" />
  </figure>
  <h3 id="k6Bk">О проекте:</h3>
  <p id="nC9e"><em>&quot;Наша миссия заключается в том, чтобы с нуля переосмыслить опыт работы с многоцепочечными сетями. Легко интегрируя архитектуру, продукт и экономические системы, Initia предлагает целостное решение, которое преобразует работу, ощущения и взаимодействие сетей. &quot;</em></p>
  <h3 id="0Ldf">Требования:</h3>
  <pre id="tMII" data-lang="bash">Memory: 16 GB RAM
CPU: 4 cores
Disk: 1 TB SSD
Bandwidth: 1 Gbps</pre>
  <h3 id="XBA5">Социальные сети и полезные линки</h3>
  <p id="eovC"><a href="https://x.com/initiaFDN" target="_blank">X</a> <br /><a href="https://discord.gg/GtFpTbewkW" target="_blank">Discord</a><br /><a href="https://initia.xyz/" target="_blank">Site</a> <br /><a href="https://docs.google.com/forms/d/e/1FAIpQLSc09Kl6mXyZHOL12n_6IUA8MCcL6OqzTqsoZn9N8gpptoeU_Q/viewform" target="_blank">Validator Onboard Form<br /></a><a href="https://faucet.testnet.initia.xyz/?address=" target="_blank">Faucet<br /></a><a href="https://docs.initia.xyz/" target="_blank">Initia Docs<br /></a><a href="https://initia-xyz.notion.site/The-Initiation-Validator-Tasks-6d88ab0034644473907435662f9285b3" target="_blank">Validator Tasks</a></p>
  <h3 id="vHCp">Установка:</h3>
  <p id="ONHz">Обновляем сервер</p>
  <pre id="PWKD" data-lang="bash">sudo apt update &amp;&amp; sudo apt upgrade -y</pre>
  <p id="fgIV">Устанавливаем зависимости</p>
  <pre data-lang="bash" id="VLeL">sudo apt install make clang git pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget screen -y</pre>
  <p id="EN8j">Устанавливаем go</p>
  <pre data-lang="bash" id="EyW4">ver=&quot;1.22.2&quot; &amp;&amp; \
wget &quot;https://golang.org/dl/go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \
sudo rm -rf /usr/local/go &amp;&amp; \
sudo tar -C /usr/local -xzf &quot;go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \
rm &quot;go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \
echo &quot;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&quot; &gt;&gt; $HOME/.bash_profile &amp;&amp; \
source $HOME/.bash_profile &amp;&amp; \
go version</pre>
  <p id="rwK8">Клонируем репозиторий, билдим бинарник и перемещаем </p>
  <pre id="xic7" data-lang="bash">cd $HOME
git clone https://github.com/initia-labs/initia
cd initia
git checkout v0.2.14
make install
mv ~/go/bin/initiad  /usr/local/bin/</pre>
  <p id="FjTA">Задаем переменные, &quot;your_name&quot; - меняем на свои значения</p>
  <pre id="i2nc" data-lang="bash">INITIA_CHAIN=&quot;initiation-1&quot;
INITIA_MONIKER=&quot;your_name&quot;
INITIA_WALLET=&quot;your_name&quot;

echo &#x27;export INITIA_CHAIN=&#x27;${INITIA_CHAIN} &gt;&gt; $HOME/.bash_profile
echo &#x27;export INITIA_MONIKER=&#x27;${INITIA_MONIKER} &gt;&gt; $HOME/.bash_profile
echo &#x27;export INITIA_WALLET=&#x27;${INITIA_WALLET} &gt;&gt; $HOME/.bash_profile
source $HOME/.bash_profile</pre>
  <p id="7s6x">Инициализируем ноду</p>
  <pre id="JGeq" data-lang="bash">initiad init $INITIA_MONIKER --chain-id $INITIA_CHAIN</pre>
  <p id="GHTD">Скачиваем генизис</p>
  <pre id="KshK" data-lang="bash">wget -O $HOME/.initia/config/genesis.json &quot;https://initia.s3.ap-southeast-1.amazonaws.com/initiation-1/genesis.json&quot;</pre>
  <p id="LDQQ">Настраиваем прунинг</p>
  <blockquote id="CgZB">Опционально</blockquote>
  <pre id="guK6" data-lang="bash">pruning=&quot;custom&quot;
pruning_keep_recent=&quot;100&quot;
pruning_interval=&quot;10&quot;
sed -i -e &quot;s/^pruning *=.*/pruning = \&quot;$pruning\&quot;/&quot; $HOME/.initia/config/app.toml
sed -i -e &quot;s/^pruning-keep-recent *=.*/pruning-keep-recent = \&quot;$pruning_keep_recent\&quot;/&quot; $HOME/.initia/config/app.toml
sed -i -e &quot;s/^pruning-interval *=.*/pruning-interval = \&quot;$pruning_interval\&quot;/&quot; $HOME/.initia/config/app.toml</pre>
  <p id="Juy0">Ставим минимальную цену газа</p>
  <pre id="5qNX" data-lang="bash">sed -i -e &quot;s|^minimum-gas-prices *=.*|minimum-gas-prices = \&quot;0.15uinit,0.01uusdc\&quot;|&quot; $HOME/.initia/config/app.toml</pre>
  <p id="YXrJ">Добавляем сиды и пиры</p>
  <pre id="c2jz" data-lang="bash">peers=&quot;5cf0f056fcff9a2a5bad1b3acbae7eec3e425979@158.220.90.188:26656,94faaf091387b85032428bfaad937734e92e50c2@31.220.80.110:26656,66abd758f6971eb8227fc54d11cb56ca1ca280e6@65.109.113.251:13656,146d4b34ac817f7a2ac3e9c5a7207306ceb4e7d7@38.242.152.113:26656,576569a43bb8d5f3d58ff8aa52c6906d576c211e@38.242.221.49:15656,5c2a752c9b1952dbed075c56c600c3a79b58c395@195.3.221.9:26686&quot;
sed -i -e &quot;s|^persistent_peers *=.*|persistent_peers = \&quot;$peers\&quot;|&quot; $HOME/.initia/config/config.toml
seeds=&quot;ade4d8bc8cbe014af6ebdf3cb7b1e9ad36f412c0@testnet-seeds.polkachu.com:25756&quot;
sed -i.bak -e &quot;s/^seeds =.*/seeds = \&quot;$seeds\&quot;/&quot; $HOME/.initia/config/config.toml</pre>
  <p id="K12c">Выключаем индексацию</p>
  <blockquote id="K5sO">Опционально</blockquote>
  <pre id="cgSv" data-lang="bash">indexer=&quot;null&quot;
sed -i -e &quot;s/^indexer *=.*/indexer = \&quot;$indexer\&quot;/&quot; $HOME/.initia/config/config.toml</pre>
  <p id="XOdo">Чтобы ускорить процесс синхронизации, можете воспользоваться снапшотом или стейт-синхом у <a href="https://polkachu.com/testnets/initia" target="_blank">Polkachu</a>, позже добавим в гайд линки на свои сервисы</p>
  <p id="NhkP">Создаем сервис файл</p>
  <pre id="Kh6R" data-lang="bash">tee /etc/systemd/system/initiad.service &gt; /dev/null &lt;&lt;EOF
[Unit]
Description=Initia
After=network-online.target

[Service]
User=$USER
ExecStart=$(which initiad) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF</pre>
  <p id="cpju">Запускаем узел и смотрим логи</p>
  <pre id="1FYA" data-lang="bash">systemctl daemon-reload &amp;&amp; \
systemctl enable initiad &amp;&amp; \
systemctl restart initiad &amp;&amp; \
journalctl -fu initiad -o cat</pre>
  <p id="vyXK">Создаем кошелек</p>
  <pre id="0mBa" data-lang="bash">initiad keys add $INITIA_WALLET</pre>
  <p id="4vfd">Добавляем адрес в переменную</p>
  <pre id="b7KD" data-lang="bash">INITIA_ADDR=$(initiad keys show $INITIA_WALLET -a)
echo &#x27;export INITIA_ADDR=&#x27;${INITIA_ADDR} &gt;&gt; $HOME/.bash_profile
source $HOME/.bash_profile</pre>
  <blockquote id="sDot">Запрашиваем токены <a href="https://faucet.testnet.initia.xyz/?address=" target="_blank">тут</a></blockquote>
  <p id="PCcK">Создание валидатора</p>
  <pre id="1vqY" data-lang="bash">initiad tx mstaking create-validator \
 --amount 29000000uinit \
 --from $INITIA_WALLET \
 --commission-max-change-rate &quot;0.05&quot; \
 --commission-max-rate &quot;0.2&quot; \
 --commission-rate &quot;0.1&quot; \
 --pubkey $(initiad tendermint show-validator) \
 --moniker $INITIA_MONIKER \
 --identity &quot;your_identity&quot; \
 --security-contact=&quot;your_contact&quot; \
 --chain-id initiation-1 \
 --gas=2000000 \
 --fees=300000uinit</pre>
  <p id="4KyS">Добавляем адрес валидатора в переменную</p>
  <pre id="oRIl" data-lang="bash">INITIA_VALOPER=$(initiad keys show $INITIA_WALLET --bech val -a)
echo &#x27;export INITIA_VALOPER=&#x27;${INITIA_VALOPER} &gt;&gt; $HOME/.bash_profile
source $HOME/.bash_profile</pre>
  <p id="7aZe">Удаление ноды</p>
  <pre id="tmCo" data-lang="bash">systemctl stop initiad &amp;&amp; systemctl disable initiad
rm /etc/systemd/system/initiad.service
rm /usr/local/bin/initiad
rm -rf initia
rm -rf .initia</pre>
  <h3 id="drPa">Установка оракула</h3>
  <p id="umOc">Клонируем репозиторий, билдим и перемещаем бинарник</p>
  <pre id="umOc" data-lang="bash">git clone https://github.com/skip-mev/slinky.git
cd slinky
git checkout v0.4.3
make build &amp;&amp; \
mv build/slinky /usr/local/bin/</pre>
  <p id="8nL1">Меняем конфигурацию оракула внутри app.toml</p>
  <pre id="6kdW" data-lang="bash">sed -i &#x27;/^\[oracle\]/,/^$/ s/^enabled = &quot;.*&quot;/enabled = &quot;true&quot;/&#x27; $HOME/.initia/config/app.toml
sed -i &#x27;s|^oracle_address = &quot;.*&quot;|oracle_address = &quot;0.0.0.0:8080&quot;|g&#x27; $HOME/.initia/config/app.toml
sed -i &#x27;s/^client_timeout = &quot;.*&quot;/client_timeout = &quot;500ms&quot;/&#x27; $HOME/.initia/config/app.toml
sed -i &#x27;s/^metrics_enabled = &quot;.*&quot;/metrics_enabled = &quot;true&quot;/&#x27; $HOME/.initia/config/app.toml</pre>
  <p id="vpJk">Создаем сервис</p>
  <pre id="iGG0" data-lang="bash">sudo tee /etc/systemd/system/oracle.service &gt; /dev/null &lt;&lt;EOF
[Unit]
Description=Initia Oracle
After=network.target

[Service]
User=$USER
Type=simple
ExecStart=$(which slinky) --oracle-config-path root/slinky/config/core/oracle.json
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF</pre>
  <p id="nZE6">Запускаем</p>
  <pre id="hNby" data-lang="bash">sudo systemctl daemon-reload &amp;&amp; \
sudo systemctl enable oracle.service &amp;&amp; \
sudo systemctl restart oracle.service &amp;&amp; \
sudo journalctl -u oracle.service -f -o cat</pre>
  <p id="JOOj">Удаление оракула</p>
  <pre id="e0ki" data-lang="bash">systemctl stop oracle.service &amp;&amp; \
systemctl disable oracle.service
sudo rm /etc/systemd/system/oracle.service
rm -rf $HOME/slinky
sudo rm /usr/local/bin/slinky</pre>
  <p id="ATsS"><strong>Большое спасибо, за внимание и уделенное время</strong></p>
  <p id="HQIi">Наш TG канал по нодам — <a href="https://t.me/mmsnodes" target="_blank">https://t.me/mmsnodes</a><br />Наш TG чат по нодам - <a href="https://t.me/mmsnodeschat" target="_blank">https://t.me/mmsnodeschat</a><br />Наш TG канал по экосистеме Cosmos - <a href="https://t.me/cosmochannel_mms" target="_blank">https://t.me/cosmochannel_mms</a></p>
  <p id="z2rz"><strong>С уважением, MMS_Team</strong></p>
  <figure id="pSnp" class="m_original">
    <img src="https://img2.teletype.in/files/5e/cc/5ecc809a-a64d-4f9e-bf45-0dd0ed03b5e1.jpeg" width="1080" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@mms-nodes/install_warden_node</guid><link>https://teletype.in/@mms-nodes/install_warden_node?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes</link><comments>https://teletype.in/@mms-nodes/install_warden_node?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes#comments</comments><dc:creator>mms-nodes</dc:creator><title>Установка ноды WARDEN</title><pubDate>Thu, 04 Apr 2024 15:44:00 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/50/bb/50bb008d-f757-4fa2-af2b-cba1df0480bc.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png"></img>Здравствуйте сегодня мы расскажем об установке ноды WARDEN]]></description><content:encoded><![CDATA[
  <figure id="l3zm" class="m_original">
    <img src="https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png" width="640" />
  </figure>
  <p id="L86C"><strong>Здравствуйте сегодня мы расскажем об установке ноды WARDEN</strong></p>
  <p id="VOMX"><strong>Оригинальная инструкция находится <a href="https://docs.wardenprotocol.org/validate/joining-alfama" target="_blank">тут</a>.</strong></p>
  <p id="08T7"><strong>Warden Protocol - зверь, созданный на основе Cosmos SDK, который обеспечивает различные уровни выполнения для обеспечения совместимости, модульного управления ключами (<em>этакие инструменты для возможности выбора MPS и HSM операторов</em>) и агрегации учетных записей</strong></p>
  <p id="oplX"><strong>Минимальные требования для сервера</strong></p>
  <p id="I4Bk"><strong>32GB RAM 300GB of disk space 8Cores CPU</strong></p>
  <p id="1HAC"><strong>Краткую инструкцию по аренде сервера можно посмотреть <a href="https://teletype.in/@mms-nodes/arenda_serverov" target="_blank">тут</a></strong></p>
  <p id="mTTD"><strong>Как установить несколько нод на один сервер можно почитать <a href="/installing_multiple_nodes">тут</a></strong></p>
  <p id="tPwr"><strong>Подробный разбор по установке нод Cosmos можно посмотреть <a href="/Install_COSMO_node">тут</a>.</strong></p>
  <p id="QhWK"><strong>Если будете выбирать сервер на Hetzner можете воспользоваться нашей <a href="https://hetzner.cloud/?ref=IwOSYv1Ex7ff" target="_blank">ссылкой</a>, будем благодарны.</strong></p>
  <p id="3tKv"><strong>Как всегда обновляем наш сервер</strong></p>
  <section>
    <p id="i0jZ"><em>sudo apt update &amp;&amp; sudo apt upgrade -y</em></p>
  </section>
  <p id="hvoX"><strong>Устанавливаем доп. пакеты</strong></p>
  <section>
    <p id="Are3"><em>sudo apt install make clang git pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget -y</em></p>
  </section>
  <p id="Nmv4"><strong>Устанавливаем go и проверяем версию</strong></p>
  <section>
    <p id="stlj"><em>ver=&quot;1.20.5&quot; &amp;&amp; \<br />wget &quot;<a href="https://golang.org/dl/go" target="_blank">https://golang.org/dl/go</a>$ver.linux-amd64.tar.gz&quot; &amp;&amp; \<br />sudo rm -rf /usr/local/go &amp;&amp; \<br />sudo tar -C /usr/local -xzf &quot;go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \<br />rm &quot;go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \<br />echo &quot;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&quot; &gt;&gt; $HOME/.bash_profile &amp;&amp; \<br />source $HOME/.bash_profile &amp;&amp; \<br />go version</em></p>
  </section>
  <p id="4kjs"><strong>Скачиваем папку проекта и собираем бинарник</strong></p>
  <section>
    <p id="hOsn"><em>cd $HOME <br />rm -rf wardenprotocol<br />git clone --depth 1 --branch v0.1.0 <a href="https://github.com/warden-protocol/wardenprotocol/" target="_blank">https://github.com/warden-protocol/wardenprotocol/</a><br />cd wardenprotocol/warden/cmd/wardend<br />go build</em></p>
  </section>
  <p id="UlVM"><strong>После этого перемещаем бинарник</strong></p>
  <section>
    <p id="UQcq"><em>sudo mv wardend /usr/local/bin/</em></p>
  </section>
  <p id="MUe0"><strong>Задаем переменные (CHAIN оставляем без изменений, в остальные вписываем свои данные)</strong></p>
  <section>
    <p id="BSWF"><em>WARDEN_CHAIN=&quot;alfama&quot;<br />WARDEN_MONIKER=&quot;your_name&quot;<br />WARDEN_WALLET=&quot;your_name&quot;</em></p>
  </section>
  <p id="N3Kf"><strong>Добавляем все в баш профиль</strong></p>
  <section>
    <p id="Yrvv"><em>echo &#x27;export WARDEN_CHAIN=&#x27;${WARDEN_CHAIN} &gt;&gt; $HOME/.bash_profile<br />echo &#x27;export WARDEN_MONIKER=&#x27;${WARDEN_MONIKER} &gt;&gt; $HOME/.bash_profile<br />echo &#x27;export WARDEN_WALLET=&#x27;${WARDEN_WALLET} &gt;&gt; $HOME/.bash_profile<br />source $HOME/.bash_profile</em></p>
  </section>
  <p id="5feW"><strong>Инициализируем ноду</strong></p>
  <section>
    <p id="0xBa"><em>wardend init &lt;your_moniker&gt; --chain-id alfama</em></p>
  </section>
  <p id="fDCw"><strong>Скачиваем файл генезис</strong></p>
  <section>
    <p id="CSb0">cd $HOME/.warden/config<br />rm genesis.json<br />wget <a href="https://raw.githubusercontent.com/warden-protocol/networks/main/testnet-alfama/genesis.json" target="_blank">https://raw.githubusercontent.com/warden-protocol/networks/main/testnet-alfama/genesis.json</a></p>
  </section>
  <p id="wnGj"><strong>Настраиваем прунинг (по желанию)</strong></p>
  <section>
    <p id="0WhH"><em>pruning=&quot;custom&quot;<br />pruning_keep_recent=&quot;1000&quot;<br />pruning_interval=&quot;10&quot;<br />sed -i -e &quot;s/^pruning *=.*/pruning = \&quot;$pruning\&quot;/&quot; $HOME/.warden/config/app.toml<br />sed -i -e &quot;s/^pruning-keep-recent *=.*/pruning-keep-recent = \&quot;$pruning_keep_recent\&quot;/&quot; $HOME/.warden/config/app.toml<br />sed -i -e &quot;s/^pruning-interval *=.*/pruning-interval = \&quot;$pruning_interval\&quot;/&quot; $HOME/.warden/config/app.toml</em></p>
  </section>
  <p id="4zoa"><strong>Задаём минимальную цену за газ</strong></p>
  <section>
    <p id="cZXc">sed -i &#x27;s/minimum-gas-prices = &quot;&quot;/minimum-gas-prices = &quot;0.0025uward&quot;/&#x27; $HOME/.warden/config/app.toml</p>
  </section>
  <p id="ooKD"><strong>Добавляем пиры</strong></p>
  <section>
    <p id="iIpA">sed -i &#x27;s/persistent_peers = &quot;&quot;/persistent_peers = &quot;2fa750223e22cc19a96391be254680e76387039c@174.138.6.105:26656,12caf2f5e3618cb6c57f45e93ac713b2bc6243b1@164.90.205.67:26656,b9c77f2a0b725fb9b48b50e5ec50d100c58514af@165.232.87.163:26656&quot;/&#x27; $HOME/.warden/config/config.toml</p>
  </section>
  <p id="sDf4"><strong>Создаем сервис файл</strong></p>
  <section>
    <p id="axJk"><em>tee /etc/systemd/system/wardend.service &gt; /dev/null &lt;&lt;EOF<br />[Unit]<br />Description=wardend<br />After=network-online.target</em></p>
    <p id="htL7"><em>[Service]<br />User=$USER<br />ExecStart=$(which wardend) start<br />Restart=on-failure<br />RestartSec=3<br />LimitNOFILE=65535</em></p>
    <p id="sNME"><em>[Install]<br />WantedBy=multi-user.target<br />EOF</em></p>
  </section>
  <p id="YsTT"><strong>И запускаем сервис</strong></p>
  <section>
    <p id="OFPP"><em>systemctl daemon-reload<br />systemctl enable wardend<br />systemctl restart wardend</em></p>
  </section>
  <p id="MpZt"><strong>Смотрим логи и ждем когда нода начнет синхронизироваться</strong></p>
  <section>
    <p id="I4B5"><em>journalctl -u wardend -f -o cat</em></p>
  </section>
  <p id="7H83"><strong>Или смотрим статус синхронизации (когда &quot;catching_up&quot;: false то нода синхронизирована)</strong></p>
  <section>
    <p id="AgVr"><em>curl localhost:26657/status</em></p>
  </section>
  <p id="SQsX"><strong>На блоке 386352 нужно обновить бинарник на версию 0.2.0</strong></p>
  <section>
    <p id="VXuB"><em>cd $HOME <br />rm -rf wardenprotocol<br />git clone --depth 1 --branch v0.2.0 <a href="https://github.com/warden-protocol/wardenprotocol/" target="_blank">https://github.com/warden-protocol/wardenprotocol/</a><br />cd wardenprotocol/warden/cmd/wardend<br />go build</em></p>
  </section>
  <p id="QQqE"><strong>После этого перемещаем бинарник</strong></p>
  <section>
    <p id="lWkj"><em>sudo mv wardend /usr/local/bin/</em></p>
  </section>
  <p id="EwGI"><strong>И перезапускаем сервис</strong></p>
  <section>
    <p id="BlKk"><em>systemctl restart wardend</em></p>
  </section>
  <p id="3bBo"><strong>Так же можно изначально установить версию 0.2.0 и воспользоваться оффициальным стэйт синхом</strong></p>
  <p id="3MHP"><strong>Для начала очищаем базу данных</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="fhN2"><em>systemctl stop wardend<br />wardend tendermint unsafe-reset-all --home $HOME/.warden --keep-addr-book</em></p>
  </section>
  <p id="ce4i"><strong>Задаем переменные для стэйт синха</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="n2s6"><em>export SNAP_RPC_SERVERS=&quot;<a href="https://rpc.sentry-1.alfama.wardenprotocol.org:443,https://rpc.sentry-2.alfama.wardenprotocol.org:443,https://rpc.sentry-3.alfama.wardenprotocol.org:443" target="_blank">https://rpc.sentry-1.alfama.wardenprotocol.org:443,https://rpc.sentry-2.alfama.wardenprotocol.org:443,https://rpc.sentry-3.alfama.wardenprotocol.org:443</a>&quot;<br />export LATEST_HEIGHT=$(curl -s &quot;<a href="https://rpc.alfama.wardenprotocol.org/block" target="_blank">https://rpc.alfama.wardenprotocol.org/block</a>&quot; | jq -r .result.block.header.height)<br />export BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000))<br />export TRUST_HASH=$(curl -s &quot;<a href="https://rpc.alfama.wardenprotocol.org/block?height=" target="_blank">https://rpc.alfama.wardenprotocol.org/block?height=</a>$BLOCK_HEIGHT&quot; | jq -r .result.block_id.hash)</em></p>
  </section>
  <p id="Wq0K"><strong>Проверяем вывод</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Mr5k"><em>echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH</em></p>
  </section>
  <p id="qz1H"><strong>Должно быть наподобие</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Cc6H"><em># output should be similar to:<br /># 70694 68694 6AF4938885598EA10C0BD493D267EF363B067101B6F81D1210B27EBE0B32FA2A</em></p>
  </section>
  <p id="tfV0"><strong>Если всё нормально то записываем данные в config.toml</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Vkz1"><em>sed -i.bak -E &quot;s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \<br />s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\&quot;$SNAP_RPC_SERVERS\&quot;| ; \<br />s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \<br />s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\&quot;$TRUST_HASH\&quot;|&quot; $HOME/.warden/config/config.toml</em></p>
  </section>
  <p id="rhku"><strong>Перезапускаем ноду и смотрим логи</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Af7V"><em>systemctl restart wardend &amp;&amp; journalctl -fu wardend -o cat</em></p>
  </section>
  <p id="P7MS"><strong>После синхронизации создаем кошелек (не забываем сохранить мнемоник)</strong></p>
  <section>
    <p id="YtHk"><em>wardend keys add $WARDEN_WALLET</em></p>
  </section>
  <p id="5tNJ"><strong>Если кошелек уже есть то восстанавливаем с помощью мнемоника</strong></p>
  <section>
    <p id="tpyV"><em>wardend keys add $WARDEN_WALLET --recover</em></p>
  </section>
  <p id="II3t"><strong>Добавляем переменную с адресом кошелька</strong></p>
  <section>
    <p id="er8Z"><em>WARDEN_ADDR=$(wardend keys show $WARDEN_WALLET -a)</em></p>
  </section>
  <p id="ozL6"><strong>Добавляем переменную в баш профиль</strong></p>
  <section>
    <p id="0HzG"><em>echo &#x27;export WARDEN_ADDR=&#x27;${WARDEN_ADDR} &gt;&gt; $HOME/.bash_profile<br />source $HOME/.bash_profile</em></p>
  </section>
  <p id="dQJt"><strong>Теперь нам необходимо получить средства на кошелек. Для этого добавляем созданный кошелёк в Keplr. Переходим по <a href="https://spaceward.alfama.wardenprotocol.org/" target="_blank">ссылке</a>, подключаем Keplr и запрашиваем токены.</strong></p>
  <p id="XvAF"><strong>После запроса проверяем баланс</strong></p>
  <section>
    <p id="qYyp"><em>wardend query bank balances $WARDEN_ADDR</em></p>
  </section>
  <p id="Gc5V"><strong>Если средства успешно поступили, то создаем валидатора (сумму указывайте свою, сколько хотите делегировать с кошелька, указывайте чуть меньше баланса на кошельке что бы хватило на комиссию)</strong></p>
  <p id="UOYY"><strong>Сначала узнаём свой pubkey</strong></p>
  <section>
    <p id="CPAW"><em>wardend comet show-validator</em></p>
  </section>
  <p id="p5Tb"><strong>Вывод должен быть подобным</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Hr2D"><em>{&quot;@type&quot;:&quot;/cosmos.crypto.ed25519.PubKey&quot;,&quot;key&quot;:&quot;lR1d7YBVK5jYijOfWVKRFoWCsS4dg3kagT7LB9GnG8I=&quot;}</em></p>
  </section>
  <p id="hDRF"><strong>Создаём файл validator.json</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Dkt6"><em>nano $HOME/.warden/validator.json</em></p>
  </section>
  <p id="ddMm"><strong>Вставляем конфиг, не забываем изменить значения на свои</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="wSo9"><em>{    <br />    &quot;pubkey&quot;: &lt;сюда вставляем вывод команды выше, полностью с фигурными скобками, треугольные скобки убираем&gt;,<br />    &quot;amount&quot;: &quot;1000000uward&quot;,<br />    &quot;moniker&quot;: &quot;your-node-moniker&quot;,<br />    &quot;identity&quot;: &quot;eqlab testnet validator&quot;,<br />    &quot;website&quot;: &quot;optional website for your validator&quot;,<br />    &quot;security&quot;: &quot;optional security contact for your validator&quot;,<br />    &quot;details&quot;: &quot;optional details for your validator&quot;,<br />    &quot;commission-rate&quot;: &quot;0.1&quot;,<br />    &quot;commission-max-rate&quot;: &quot;0.2&quot;,<br />    &quot;commission-max-change-rate&quot;: &quot;0.01&quot;,<br />    &quot;min-self-delegation&quot;: &quot;1&quot;<br />}</em></p>
  </section>
  <p id="NcZ0"><strong>Создаём валидатора</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Zldx"><em>wardend tx staking create-validator $HOME/.warden/validator.json \<br />   --from=&lt;key-name&gt; \<br />   --chain-id=alfama \<br />   --fees=500uward</em></p>
  </section>
  <p id="5QKT"><strong>Задаем переменную с адресом валидатора</strong></p>
  <section>
    <p id="u1b2"><em>WARDEN_VALOPER=$(wardend keys show $WARDEN_WALLET --bech val -a)</em></p>
  </section>
  <p id="qJBJ"><strong>И добавляем ее в баш профиль</strong></p>
  <section>
    <p id="pnvw"><em>echo &#x27;export WARDEN_VALOPER=&#x27;${WARDEN_VALOPER} &gt;&gt; $HOME/.bash_profile<br />source $HOME/.bash_profile</em></p>
  </section>
  <p id="PqaG"><strong>Проверка статуса валидатора</strong></p>
  <section>
    <p id="4rw6"><em>wardend query staking validator $WARDEN_VALOPER</em></p>
  </section>
  <p id="yzFm"><strong>Делегация средств с кошелька на валидатора (сумму вводите свою)</strong></p>
  <section>
    <p id="E5zq"><em>wardend tx staking delegate $WARDEN_VALOPER 1000000uward --from $WARDEN_WALLET --fees=500uward</em></p>
  </section>
  <p id="Ebn0"><strong>Ну и если вдруг ваша нода попала в тюрьму, то выход</strong></p>
  <section>
    <p id="T02S"><em>wardend tx slashing unjail --from $WARDEN_WALLET --fees=500uward</em></p>
  </section>
  <p id="ATsS"><strong>Большое спасибо, за внимание и уделенное время</strong></p>
  <p id="HQIi">Наш телеграмм канал по нодам — <a href="https://t.me/mmsnodes" target="_blank">https://t.me/mmsnodes</a><br />Наш телеграмм чат по нодам - <a href="https://t.me/mmsnodeschat" target="_blank">https://t.me/mmsnodeschat</a><br />Наш телеграмм канал по экосистеме Cosmos - <a href="https://t.me/cosmochannel_mms" target="_blank">https://t.me/cosmochannel_mms</a></p>
  <p id="z2rz"><strong>С уважением, MMS_Team</strong></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@mms-nodes/masa-node-install</guid><link>https://teletype.in/@mms-nodes/masa-node-install?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes</link><comments>https://teletype.in/@mms-nodes/masa-node-install?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes#comments</comments><dc:creator>mms-nodes</dc:creator><title>Установка ноды Masa  </title><pubDate>Mon, 18 Dec 2023 13:17:25 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/1e/db/1edb5cfc-5783-456d-8b5a-3ae93ecd8a95.png"></media:content><description><![CDATA[<img src="https://img2.teletype.in/files/9a/d4/9ad48e98-737a-4b40-a27f-c293f2ce58f9.png"></img>Всем привет, в эфире MMS!]]></description><content:encoded><![CDATA[
  <figure id="qUxx" class="m_original">
    <img src="https://img2.teletype.in/files/9a/d4/9ad48e98-737a-4b40-a27f-c293f2ce58f9.png" width="640" />
  </figure>
  <p id="OVmw"><strong>Всем привет, в эфире MMS!</strong></p>
  <blockquote id="p7wu"><em>По мере обновлений гайд будет дополняться, сейчас идет пре-тестнет, скоро  обещают полноценно запустить 3-ю фазу</em></blockquote>
  <p id="wRj5"><strong>Для начала, немного о проекте:</strong></p>
  <p id="99yE">Masa создает крупнейшую в мире сеть пользовательских данных с нулевыми знаниями.</p>
  <p id="AbTq">&quot;<em>Мы создаем новую нервную систему интернета в эпоху искусственного интеллекта. Мы разрушаем замкнутость данных и отсутствие доверия к существующей парадигме данных, стимулируя пользователей и компании делиться согласованными и проверенными данными. Masa позволяет компаниям и разработчикам получать доступ к глобальному пулу пользовательских данных, сохраняющих конфиденциальность, и использовать их для создания новых продуктов и приложений искусственного интеллекта.&quot;</em></p>
  <p id="OY8v"><strong>Социалки проекта:<br /></strong>Discord <a href="https://discord.gg/masafinance" target="_blank">https://discord.gg/masafinance</a><br />Twitter <a href="https://twitter.com/getmasafi" target="_blank">https://twitter.com/getmasafi</a><br />Site <a href="https://www.masa.finance/" target="_blank">https://www.masa.finance/</a><br />Github <a href="https://github.com/masa-finance" target="_blank">https://github.com/masa-finance</a><br />Medium <a href="https://medium.com/masa-finance" target="_blank">https://medium.com/masa-finance</a></p>
  <p id="QFNx">RU TG chat <a href="https://t.me/masa_ru" target="_blank">https://t.me/masa_ru</a></p>
  <p id="IqoO"><strong>Системные требования:</strong></p>
  <ul id="yoY1">
    <li id="5acg"><em>Operating System</em>: Linux-based OS (Ubuntu 20.04 recommended)</li>
    <li id="VwDd"><em>Processor</em>: 4 x Shared CPU</li>
    <li id="QvyZ"><em>Memory</em>: 1GB RAM</li>
    <li id="C3bu"><em>Storage</em>: 20GB SSD</li>
    <li id="Ja2b"><em>Network</em>: Shared network resources</li>
  </ul>
  <h3 id="Osnb">Установка</h3>
  <p id="UpGz"> Обновляем сервер</p>
  <pre data-lang="bash" id="0Tat">sudo apt update &amp;&amp; sudo apt upgrade -y</pre>
  <p id="fgIV">Устанавливаем зависимости</p>
  <pre data-lang="bash" id="2jZD">sudo apt install make clang git pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget screen -y</pre>
  <p id="PUCE">Устанавливаем go</p>
  <pre id="Zq7d" data-lang="bash">ver=&quot;1.20.3&quot; &amp;&amp; \
wget &quot;https://golang.org/dl/go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \
sudo rm -rf /usr/local/go &amp;&amp; \
sudo tar -C /usr/local -xzf &quot;go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \
rm &quot;go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \
echo &quot;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&quot; &gt;&gt; $HOME/.bash_profile &amp;&amp; \
source $HOME/.bash_profile &amp;&amp; \
go version</pre>
  <p id="9jt2">Клонируем репозиторий, переходим и билдим бинарник</p>
  <pre id="NwkG" data-lang="bash">git clone https://github.com/masa-finance/masa-oracle-go-testnet.git
cd masa-oracle-go-testnet
go build -v -o masa-node ./cmd/masa-node</pre>
  <p id="581u">Далее проверяем работоспособность бинарника, заодно генерим ключ, вытаскиваем приватник и импортируем его в metamask</p>
  <blockquote id="PADG"><em>После того, как узел запустился, стопим его комбинацией ctrl + C</em></blockquote>
  <pre id="DpPu" data-lang="bash">./masa-node
#Тут ваш приватник
cat /root/.masa/masa_oracle_key.ecdsa | awk &#x27;{print $NF}&#x27;</pre>
  <p id="SYzH">Запрашиваем Sepolia ETH, можете сделать это <a href="https://www.infura.io/faucet/sepolia" target="_blank">тут</a>, <em>нужен аккаунт Infura</em></p>
  <p id="OrKm">Запрашиваем токены Masa <a href="https://forms.gle/orRn9aEw68pQstCs7" target="_blank">тут</a>, по словам команды, чуть позже сделают кран, с официальным запуском 3-ей фазы, пока идет этап тестирования</p>
  <p id="YXZd"><strong><em>Запустить узел в данный момент можно и без стейка</em></strong></p>
  <p id="aKWU">Если есть монеты, закидываем в стейк</p>
  <pre id="ExsZ" data-lang="bash">./masa-node --stake 100</pre>
  <p id="TefM"><em><strong>Пример успешной транзакции <br /></strong></em><a href="https://sepolia.etherscan.io/tx/0xa70e4a327b6780d5951d831e37b16d78f1808469df982e8af84308ddba6ed429" target="_blank">https://sepolia.etherscan.io/tx/0xa70e4a327b6780d5951d831e37b16d78f1808469df982e8af84308ddba6ed429</a></p>
  <p id="7Vtm">Добавляем переменную порта - дефолт 8080</p>
  <pre id="sCd9" data-lang="bash">PORT=8080</pre>
  <p id="7u1b">Создаем сервис файл</p>
  <pre id="bJey" data-lang="bash">sudo tee &lt;&lt;EOF &gt;/dev/null /etc/systemd/system/masad.service

[Unit]
Description=Masa
After=network.target

[Service]
Type=simple
User=$USER
WorkingDirectory=/root/masa-oracle-go-testnet
ExecStart=/root/masa-oracle-go-testnet/masa-node --bootnodes=/ip4/35.224.231.145/udp/4001/quic-v1/p2p/16Uiu2HAm47nBiewWLLzCREtY8vwPQtr5jTqyrEoUo6WnngwhsQuR,/ip4/104.198.43.138/udp/4001/quic-v1/p2p/16Uiu2HAkxiP8jjdHQWeCxTr7pD6BvoPkS8Z1skjCy9vdSRMACDcc,/ip4/35.202.227.74/udp/4001/quic-v1/p2p/16Uiu2HAmHuUejpUBFPCxy32QhGRAbv3tFwbzXmLkCoaNcZTyWWqN \
--port=$PORT \
--udp=true \
--tcp=false \
--start=true 
Restart=on-failure
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target
EOF</pre>
  <p id="mSwe">И запускаем, смотрим логи</p>
  <pre id="08AC" data-lang="bash">sudo systemctl daemon-reload &amp;&amp; \
sudo systemctl enable masad &amp;&amp; \
sudo systemctl restart masad &amp;&amp; \
sudo journalctl -u masad -f -o cat</pre>
  <p id="2X3n">Также можете проверить <a href="https://dune.com/masa-network/masa" target="_blank">тут</a> появилась ли ваша нода в дашборде по вашему peerID, узнать его, можно этой командой</p>
  <pre id="eBRo" data-lang="bash">cat /root/.masa/masa_oracle_node_output.env | awk -F/p2p/ &#x27;{print $2}&#x27;</pre>
  <p id="DD39">Смотреть надо в разделе <strong><em>Active Testnet Nodes </em></strong>и<strong><em> All Testnet Nodes</em></strong>, если нода неактивна</p>
  <p id="ATsS"><strong>Большое спасибо, за внимание и уделенное время</strong></p>
  <p id="HQIi">Наш TG канал по нодам — <a href="https://t.me/mmsnodes" target="_blank">https://t.me/mmsnodes</a><br />Наш TG чат по нодам - <a href="https://t.me/mmsnodeschat" target="_blank">https://t.me/mmsnodeschat</a><br />Наш TG канал по экосистеме Cosmos - <a href="https://t.me/cosmochannel_mms" target="_blank">https://t.me/cosmochannel_mms</a></p>
  <p id="z2rz"><strong>С уважением, MMS_Team</strong></p>
  <figure id="8BjS" class="m_original">
    <img src="https://img2.teletype.in/files/5e/cc/5ecc809a-a64d-4f9e-bf45-0dd0ed03b5e1.jpeg" width="1080" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@mms-nodes/holograph</guid><link>https://teletype.in/@mms-nodes/holograph?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes</link><comments>https://teletype.in/@mms-nodes/holograph?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes#comments</comments><dc:creator>mms-nodes</dc:creator><title>Установка оператора Holograph</title><pubDate>Fri, 18 Aug 2023 06:54:34 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/06/db/06db8aa6-d546-473e-8b5a-1f9f0eb693be.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png"></img>И сегодня мы вам покажем установку оператора проекта Holograph!]]></description><content:encoded><![CDATA[
  <figure id="yC8o" class="m_custom">
    <img src="https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png" width="640" />
  </figure>
  <h3 id="5PPc">Всем привет, в эфире <strong>MMS</strong>!</h3>
  <p id="ahhv">И сегодня мы вам покажем установку узла проекта Holograph!</p>
  <p id="EjQi">Что такое Holograph?<br />Holograph - это протокол совместимости цифровых активов, с его помощью можно бриджить свои активы в разные сети, если сейчас это происходить через L0, то вскоре это будет происходить через их собственный протокол</p>
  <h3 id="J4mf">Требования к серверу</h3>
  <p id="vW5H">На самом деле, судя по своим наблюдениям, оператор совершенно не требовательный, поэтому ставить его можно куда угодно, в документации, к сожалению актуальной информации не нашлось</p>
  <p id="hE2v">У нас он едет на таких спеках, что даже слишком много для него </p>
  <p id="gfkw">4GB RAM</p>
  <p id="MqpC">8 vCPU </p>
  <p id="5l3q">200SSD</p>
  <p id="3XBD">Думаем хватит и такого, но надо тестить </p>
  <p id="nceI">2 GB RAM</p>
  <p id="RYc8">2 vCPU</p>
  <p id="Aubu">40SSD</p>
  <h3 id="Osnb">Установка </h3>
  <p id="UpGz">Начинаем как обычно с обновления сервера</p>
  <pre data-lang="bash" id="ZzjV">sudo apt update &amp;&amp; sudo apt upgrade -y</pre>
  <p id="fgIV">Устанавливаем различные зависимости</p>
  <pre data-lang="bash" id="5CDv">sudo apt install make clang git pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget screen -y</pre>
  <p id="vTrM">Устанавливаем npm и nodejs</p>
  <pre id="VdE7" data-lang="bash">curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -
sudo apt-get install -y nodejs</pre>
  <p id="s9H3">Устанавливаем Holograph cli</p>
  <pre id="wgtz" data-lang="bash">npm install -g @holographxyz/cli</pre>
  <p id="zxdi">Создаем конфиг с помощью недавно установленной cli</p>
  <pre id="XIZL" data-lang="bash">holograph config</pre>
  <p id="wgqc">Далее нам необходимо будет ответить на вопросы:</p>
  <p id="Iokr"><strong>Which networks do you want to operate?<br /></strong><em> goerli<br /> mumbai<br /> fuji<br /> <s>rinkeby</s></em></p>
  <blockquote id="LYql">rinkeby - не работает</blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="ovgx">Тут необходимо выбрать одну или несколько сетей, мы выбрали <em>goerli</em>, <em>mumbai, fuji, </em>забегая вперед,единственный фактор - селфстейк, в некоторых сетях он меньше </p>
  </section>
  <p id="CrRo"><strong>Enter the provider url for  </strong><em>goerli/mumbai/fuji</em></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="M9ZR">Для <em>goerli </em>и<em> fuji </em>просто жмем <strong>enter</strong>, для<em> mumbai </em>необходимо вписать другой ендпоинт, у нас он не работал </p>
    <p id="bxGR">Mumbai endpoint:<br /><a href="https://polygon-testnet.public.blastapi.io" target="_blank">https://polygon-testnet.public.blastapi.io</a><br />Если ни один ендпоинт впоследствии не работает (<em>как менять руками будет показано позже</em>) идем и ищем рабочие сюда:<br /><a href="https://chainlist.org/" target="_blank">https://chainlist.org/</a><br />Либо находим другие выходы в виде <a href="https://www.alchemy.com/" target="_blank">Alchemy</a> и подобных сервисов</p>
  </section>
  <p id="fWv7"><strong>Default private key to use when sending all transactions</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="0k0D">Тут все просто, вписываем ваш приватник от кошелька, который вы создали специально для тестнета и идем дальше</p>
  </section>
  <p id="4n4u"><strong>Please enter the password to encrypt the private key with</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="ajrX">Вписываете пароль и на этом настройка вашего конфига заканчивается! </p>
  </section>
  <p id="etq2">Что бы найти ваш недавно созданный конфиг идем по пути:</p>
  <pre id="NYlR" data-lang="bash">cd $HOME/.config/holograph/</pre>
  <p id="M26Q">В этой директории будет лежать файл <strong>config.json</strong>, можете его открыть и посмотреть, что там находится, тут же можно изменить ендпоинты вручную, в строках <strong>providerUrl</strong>, если это необходимо </p>
  <pre id="vyjT" data-lang="bash">nano config.json</pre>
  <p id="mBLI">В этом пункте вам необходимо зафандить свои кошельки, монетами тех сетей, которые вы выбрали что бы получить токены $HLG для вашего оператора, ниже будут приведены ссылки с кранами, их великое множество можете сами поискать, если какие-то из них не работают</p>
  <p id="kUWR"><em>Для Goerli:</em><br /><a href="https://testnet-faucet.com/goerli/" target="_blank">https://testnet-faucet.com/goerli/</a></p>
  <p id="GEoZ"><em>Для Mumbai:</em><br /><a href="https://faucet.polygon.technology/" target="_blank">https://faucet.polygon.technology/</a></p>
  <p id="8K2e"><em>Для Fuji:<br /><a href="https://core.app/tools/testnet-faucet/?subnet=c&token=c" target="_blank">https://core.app/tools/testnet-faucet/?subnet=c&amp;token=c</a></em></p>
  <p id="u0W4">Далее переходим к функции cli <strong>faucet</strong></p>
  <pre id="7C2V" data-lang="bash">holograph faucet</pre>
  <blockquote id="Fyik">Тут будут простые вопросы, на которых я не буду зацикливать внимание, просто прочитайте, что от вас требуют, главное в конце увидеть зеленую надпись:</blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="9ckA">Request for tokens on goerli has been granted. You can return to request more tokens in 24 hours. Enjoy! 🤑</p>
  </section>
  <p id="R6BV">Поскольку кран дает 100 $HLG в сутки, для каждой сети, а вам 100% потребуется &gt; 100 монет для поднятия оператора, для любой из предложенных сетей, на этом пункте вы можете остановиться до следующего дня, поскольку дальше продвинуться вы не сможете </p>
  <blockquote id="VBt1">Советую брать токены со всех сетей, поскольку мы не знаем, как это может отразится на операторе, возможно в этом есть смысл, возможно нет - DYOR</blockquote>
  <p id="qNtx">Как только у вас появилось ≧ 200 токенов $HLG, приступаем к следующему пункту - связываем наш кошелек с будущем оператором, создаем новую сессию в screen </p>
  <pre id="ag6q" data-lang="bash">screen -S holograph</pre>
  <p id="qhZi">Связываем кошелек с оператором</p>
  <pre id="4w4U" data-lang="bash">holograph operator:bond</pre>
  <p id="dZCU">И снова вопросы, на которых сильно акцентировать внимания мы не собираемся, нужно лишь их прочесть и понять, что от вас требуется и в конце увидеть такую надпись, но с вашими переменными:</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="ohUe">Welcome operator! <br />Your wallet 0x... has bonded X eth to pod X on <em>goerli/mumbai/fuji</em><br />Again please make sure your operator remains operational! Failure will result in slashed funds!</p>
  </section>
  <p id="ydHK">Оставлю тут небольшую памятку об утилите <em>screen</em>:</p>
  <pre id="fhSs" data-lang="bash">#Выйти из screen, не завершая сессию (просто зажмите эти клавиши, как хоткей)
ctrl + a + d
#Зайти обратно в уже созданную нами сессию
screen -r holograph
#Посмотреть существующие сессии
screen -ls</pre>
  <p id="PQNm">А тут будет небольшая памятка о Holograph cli:</p>
  <pre id="6eAH" data-lang="bash">#Рестарт вашей ноды, если она легла (подразумевается, что вы уже находитесь в screen)
holograph operator:bond
#запросить монеты с faucet-а
holograph faucet
#Бридж nft
holograph bridge
#Создание контракта
holograph create:contract</pre>
  <p id="b9ZD">Если интересует более подробное объяснение команд и в целом, как работает holograph, велком в <a href="https://docs.holograph.xyz/developer/welcome" target="_blank">документацию</a></p>
  <p id="6Rey"></p>
  <p id="C7za"><strong>Большое спасибо, за внимание и уделенное время</strong></p>
  <p id="HQIi">Наш телеграм канал по нодам — <a href="https://t.me/mmsnodes" target="_blank">https://t.me/mmsnodes</a><br />Наш телеграм чат по нодам - <a href="https://t.me/mmsnodeschat" target="_blank">https://t.me/mmsnodeschat</a><br />Наш телеграм канал по экосистеме Cosmos - <a href="https://t.me/cosmochannel_mms" target="_blank">https://t.me/cosmochannel_mms</a></p>
  <p id="z2rz"><strong>С уважением, MMS_Team</strong></p>
  <figure id="LhWg" class="m_original">
    <img src="https://img2.teletype.in/files/5e/cc/5ecc809a-a64d-4f9e-bf45-0dd0ed03b5e1.jpeg" width="1080" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@mms-nodes/opside-testnet-guide</guid><link>https://teletype.in/@mms-nodes/opside-testnet-guide?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes</link><comments>https://teletype.in/@mms-nodes/opside-testnet-guide?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes#comments</comments><dc:creator>mms-nodes</dc:creator><title>Запуск валидатора в сети Opside.  </title><pubDate>Sat, 22 Jul 2023 12:04:21 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/0f/1d/0f1d72ee-39d7-4522-aaa9-66bc3bcc4a21.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/69/60/6960d8f9-1bf8-46bc-a233-d1be92de6811.png"></img>1. Для запуска валидатора заполняем Google Форму]]></description><content:encoded><![CDATA[
  <figure id="MpKr" class="m_column">
    <img src="https://img3.teletype.in/files/69/60/6960d8f9-1bf8-46bc-a233-d1be92de6811.png" width="1400" />
  </figure>
  <p id="FZFa"><strong>1. Для запуска валидатора заполняем <a href="https://forms.gle/cCVB3iAsXEVBW8sm6" target="_blank">Google Форму</a></strong></p>
  <p id="jz4r"><strong>2.Получаем тестовые токены:</strong></p>
  <ul id="EQLQ">
    <li id="wqbJ">Переходим в <a href="https://discord.com/invite/opsidezk" target="_blank">Discord Opside</a></li>
    <li id="42Eh">В ветку с краном для валидаторов</li>
  </ul>
  <figure id="jYdq" class="m_original">
    <img src="https://img3.teletype.in/files/eb/99/eb99fde4-f1dc-4601-b46a-4592a7745f0a.png" width="462" />
  </figure>
  <ul id="023h">
    <li id="rkQT">Пишем боту в формате &quot;@Opside Faucet 0xАдресс вашего кошелька в MetaMask&quot;</li>
    <li id="ho5Y">Если адрес вашего кошелька в белом списке вам на указанный адрес поступят25000 токенов IDE.</li>
  </ul>
  <p id="rMqT"><strong>3.Что бы увидеть полученные токены добавим сеть Opside в MetaMask:</strong></p>
  <section>
    <ul id="OhYy">
      <li id="BmoK">Network name:</li>
      <li id="Hftj">Opside Testnet Pre-Alpha NetworkRPC</li>
      <li id="ccVZ">URL: <a href="https://pre-alpha-us-http-geth.opside.networkChain" target="_blank">https://pre-alpha-us-http-geth.opside.network</a></li>
      <li id="wCQ1"><a href="https://pre-alpha-us-http-geth.opside.networkChain" target="_blank">Chain</a> ID: 51178</li>
      <li id="dbat">Currency symbol: IDE</li>
      <li id="XmyW">Explorer: <a href="https://pre-alpha.opside.info" target="_blank">https://pre-alpha.opside.info</a></li>
    </ul>
  </section>
  <p id="VHg1"><strong>4.Переходим непосредственно к запуску валидатора.</strong></p>
  <p id="O9JH">На данный момент системные требования выглядят так:</p>
  <section>
    <ul id="Aeqm">
      <li id="b6Cd"><strong>OS: </strong>64-bit Linux</li>
      <li id="0Zfs"><strong>CPU: </strong>4+ cores @ 2.8+ GHz</li>
      <li id="Jy8u"><strong>Memory: </strong>16GB+ RAM</li>
      <li id="eUTT"><strong>Storage: </strong>SSD with at least 500GB free space(we recommend 2TB on mainnet)</li>
    </ul>
  </section>
  <p id="FZFa"><strong>После подключения к серверу, через терминал, обновляем его:</strong></p>
  <pre data-lang="bash" id="xKKr">sudo apt-get update &amp;&amp; sudo apt upgrade -y </pre>
  <p id="f9KA"><strong>Устанавливаем и запускаем программу одной цкомандой:</strong></p>
  <pre id="B8D3">wget -c https://pre-alpha-download.opside.network/testnet-auto-install-v3.tar.gz &amp;&amp; tar -C ./ -xzf testnet-auto-install-v3.tar.gz &amp;&amp; chmod +x -R ./testnet-auto-install-v3 &amp;&amp; cd ./testnet-auto-install-v3 &amp;&amp; ./install-ubuntu-1.0.sh</pre>
  <p id="Mbd2">После запуска нас просят ввести адрес MetaMask на котором находится наш депозит для запуска валидатора<strong>:</strong></p>
  <figure id="rlEK" class="m_column">
    <img src="https://img1.teletype.in/files/c9/a5/c9a58eac-13ae-4d2c-981c-8707ba587d15.jpeg" width="985" />
  </figure>
  <p id="0jMj">И пароль:</p>
  <figure id="2utD" class="m_column">
    <img src="https://img3.teletype.in/files/a1/05/a105ec3e-727b-4ea5-acfd-dc3e13605135.jpeg" width="1217" />
    <figcaption>Необходимо повторить предыдущие шаги.</figcaption>
  </figure>
  <p id="7l5F"><strong>Далее выбираем способ синхронизации и создание или импорт мнемоника (выбираем значения по умолчанию).</strong></p>
  <pre id="ZGaN">Please choose the synchronization mode you need: 
 1. Fast mode {synchronization is fast, recommended, if there is a synchronization error, you can try to switch to normal mode}
 2. Normal mode {more nodes, more stable, but slower}
Enter index[1]:
//Enter index to choose a Sync Mode, EFast mode is default</pre>
  <pre id="fdsO">Select the mnemonic import type: 
 1. Create a new mnemonic
 2. Import an existing mnemonic
Enter index[1]:
//Enter index to choose the mnemonic import type, &quot;Create a new mnemonic&quot; is default</pre>
  <p id="Ygss"><strong>Признаком что всё прошло удачно будет такая картина:</strong></p>
  <figure id="MTPN" class="m_column">
    <img src="https://img4.teletype.in/files/f1/05/f1054bcf-c9dd-47d7-b176-344c4f7c82ab.jpeg" width="1709" />
  </figure>
  <p id="VWtN"><strong>5.Депозит</strong></p>
  <p id="dK9g">Переходим на страницу <a href="https://opside.network/validator/deposit" target="_blank">Validator launchpad</a> и загружаем файл формата &quot;deposit_data-[timestamp].json&quot; который находится на сервере в папке:</p>
  <pre id="56Zx">$HOME/testnet-auto-installv3/validator_keys/</pre>
  <p id="x1tN">и нажимаем Continue.</p>
  <figure id="2nnd" class="m_column">
    <img src="https://img2.teletype.in/files/5d/4f/5d4f3d45-3a4c-4d24-a3fa-aa51a8c55649.png" width="2744" />
  </figure>
  <p id="p4lU">Проставляем в се галочки и нажимаем Continue.</p>
  <figure id="EcL8" class="m_column">
    <img src="https://img3.teletype.in/files/a9/03/a903da1b-c294-4d59-876a-55d8e9e1531c.png" width="2756" />
  </figure>
  <p id="5bZV">Подключаем свой кошелёк MetaMask и подтверждаем депозит.</p>
  <figure id="MiEi" class="m_column">
    <img src="https://img1.teletype.in/files/c2/12/c212c25c-0634-4928-a5e7-3c190560a0dc.png" width="2734" />
  </figure>
  <figure id="NT5a" class="m_column">
    <img src="https://img1.teletype.in/files/4a/96/4a961e87-383d-4f93-a356-9d4dbd09cac0.png" width="2726" />
  </figure>
  <p id="DRcl"><strong>6. Проверяем наш влидатор тут: <a href="https://opsi.de/validator/overview" target="_blank">https://opsi.de/validator/overview</a></strong></p>
  <p id="0V7e">Для простоты просмотра логов, добавляем путь в bash.profile</p>
  <pre id="LOuu">echo &quot;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin:$HOME/testnet-auto-install-v3/opside-chain&quot; &gt;&gt; ~/.bash_profile source ~/.bash_profile</pre>
  <ul id="aebS">
    <li id="xCKd">show-beaconChain-log.sh</li>
    <li id="lxKZ">show-geth-log.sh</li>
    <li id="JKeI">show-validator-log.sh</li>
  </ul>
  <p id="7yh9"><strong>Большое спасибо, за внимание и уделенное время</strong></p>
  <p id="jd16">Наш телеграмм канал по нодам — <a href="https://t.me/mmsnodes" target="_blank">https://t.me/mmsnodes</a><br />Наш телеграмм чат по нодам - <a href="https://t.me/mmsnodeschat" target="_blank">https://t.me/mmsnodeschat</a><br />Наш телеграмм канал по экосистеме Cosmos - <a href="https://t.me/cosmochannel_mms" target="_blank">https://t.me/cosmochannel_mms</a></p>
  <p id="z2rz"><strong>С уважением, MMS_Team</strong></p>
  <figure id="HvyE" class="m_column">
    <img src="https://img2.teletype.in/files/5e/cc/5ecc809a-a64d-4f9e-bf45-0dd0ed03b5e1.jpeg" width="1080" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@mms-nodes/install_madara_node</guid><link>https://teletype.in/@mms-nodes/install_madara_node?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes</link><comments>https://teletype.in/@mms-nodes/install_madara_node?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes#comments</comments><dc:creator>mms-nodes</dc:creator><title>Установка ноды Madara</title><pubDate>Sat, 22 Jul 2023 07:01:49 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/06/db/06db8aa6-d546-473e-8b5a-1f9f0eb693be.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png"></img>И сегодня мы вам покажем установку узла Madara, а пока вот вам небольшое интро этого аниме проекта.]]></description><content:encoded><![CDATA[
  <figure id="yC8o" class="m_original">
    <img src="https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png" width="640" />
  </figure>
  <h3 id="5PPc">Всем привет, в эфире <strong>MMS</strong>! </h3>
  <p id="ahhv">И сегодня мы вам покажем установку узла <strong>Madara</strong>, а пока вот вам небольшое интро этого <s>аниме</s> проекта.</p>
  <p id="NeMK">Madara - это секвенсор для Старкнета. Написанный с использованием  rust и substrate (SDK для создания блокчейна), Madara представляет собой секвенсор, созданный сообществом при поддержке команды Starkware Keep-Starknet-Strange, которая, как ожидается, станет одним из основных секвенсоров, участвующих в децентрализации Starknet.</p>
  <p id="oN0B">Madara позволяет запустить свой собственный Starknet appchain или L3 и использовать возможности Cairo, сохраняя полный контроль над своим собственным appchain, созданным в соответствии с вашими специфическими требованиями. Madara предназначена для реализации множества проектов и стимулирует рост экосистемы Starknet.</p>
  <p id="vLNn">В Madara присутствует 2 типа узлов:</p>
  <ul id="TwiR">
    <li id="wm6T"><strong>Full node</strong></li>
    <li id="q8MP"><strong>Sequencer node</strong></li>
  </ul>
  <p id="LA1z"><strong>Full</strong> - как мы привыкли просто хранит данные блокчейна</p>
  <p id="4OOG"><strong>Sequencer </strong>- это узел валидатора, который участвует в консенсусе сети</p>
  <p id="RtpN">В этом гайде мы покажем установку Full в существующей сети <strong>Sharingan v2</strong>, поскольку для Sequencer необходимы монеты, которых в данный момент нету в свободном доступе. Хотя если вы dev, вы можете поднять собственную локальную цепь, в <a href="https://github.com/keep-starknet-strange/madara/blob/main/docs/faucet-setup.md" target="_blank">гитхабе</a> проекта есть исходники faucet-а и попробовать помочь проекту своими знаниями</p>
  <h3 id="9dVe">Полезные ссылки</h3>
  <p id="4Wcu"><em>Website:</em><br /><a href="https://www.madara.zone/" target="_blank">https://www.madara.zone/</a></p>
  <p id="ehhx"><em>Github:</em><br /><a href="https://github.com/keep-starknet-strange/madara" target="_blank">https://github.com/keep-starknet-strange/madara</a></p>
  <p id="btEu">Docs:<br /><a href="https://docs.madara.zone/" target="_blank">https://docs.madara.zone/</a></p>
  <p id="1Px6">Telemetry:<br /><a href="https://telemetry.madara.zone/" target="_blank">https://telemetry.madara.zone/</a></p>
  <p id="Tv7n"><em>Explorer:<br /><a href="https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fsharingan.madara.zone#/explorer" target="_blank">https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fsharingan.madara.zone#/explorer</a></em></p>
  <p id="MKWH"><em>Telegram:<br /></em><a href="https://t.me/MadaraStarknet" target="_blank">https://t.me/MadaraStarknet</a></p>
  <p id="q7tM"><em>Twitter:</em><br /><a href="https://twitter.com/MadaraStarknet" target="_blank">https://twitter.com/MadaraStarknet</a></p>
  <h3 id="mids">Требования к серверу</h3>
  <p id="4RPJ">Поскольку проект еще на ранней стадии, на данный момент требования к серверу незначительные, но все еще может поменяться.</p>
  <ul id="CSNe">
    <li id="LV5z">4GB RAM</li>
    <li id="R2v2">2 vCPU</li>
    <li id="yvn1">100GB SSD/NVMe</li>
  </ul>
  <p id="eRok"><strong>Порты</strong></p>
  <ul id="ozPW">
    <li id="XRXg">P2P Port - 30333</li>
    <li id="Iq9k">RPC Port - 9933</li>
  </ul>
  <h3 id="MGeg">Установка</h3>
  <p id="uFxq">Обновляем сервер</p>
  <pre id="ejhX" data-lang="bash">sudo apt update &amp;&amp; sudo apt upgrade -y</pre>
  <p id="fgIV">Устанавливаем необходимые зависимости</p>
  <pre id="4Px7" data-lang="bash">sudo apt install make clang git pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget protobuf-compiler -y</pre>
  <p id="KrOl">Устанавливаем Rust<br />При установке выбираем первый пункт</p>
  <pre id="MhEt" data-lang="bash">curl --proto &#x27;=https&#x27; --tlsv1.2 -sSf https://sh.rustup.rs | sh</pre>
  <p id="Es2D">Добавляем переменную в путь</p>
  <pre id="U6O4" data-lang="bash">echo &quot;export PATH=&quot;$HOME/.cargo/bin:$PATH &gt;&gt; $HOME/.bash_profile 
source .bash_profile</pre>
  <p id="NJRD">Проверяем на работоспособность, должно показать версию </p>
  <pre id="IU2w" data-lang="bash">rustup show</pre>
  <p id="wg6R">Задаем переменную с именем вашей ноды</p>
  <pre id="IX7Z" data-lang="bash">YOUR_MONIKER=CHANGE_THIS</pre>
  <p id="r5wG">Клонируем репозиторий</p>
  <pre id="CCqp" data-lang="bash">git clone https://github.com/keep-starknet-strange/madara</pre>
  <p id="ZI5I">Билдим бинарный файл и перемещаем его</p>
  <blockquote id="9xgQ"><em>Билд может занять &gt;20 мин</em></blockquote>
  <pre id="1Ywf" data-lang="bash">cd $HOME/madara
git checkout v0.1.0-testnet-sharingan-beta.8.2
cargo build --workspace --release
mv $HOME/madara/target/release/madara /usr/local/bin/</pre>
  <p id="Hetz">Создаем сервисный файл</p>
  <pre id="KiOH" data-lang="bash">tee /etc/systemd/system/madara.service &gt; /dev/null &lt;&lt;EOF
[Unit]
Description=&quot;Madara Full Node&quot;
After=network.target
StartLimitIntervalSec=0

[Service]
User=$USER
Type=simple
Restart=on-failure
RestartSec=10
SyslogIdentifier=madara
SyslogFacility=local7
KillSignal=SIGHUP
ExecStart=/usr/local/bin/madara \
     --port 30333 \
     --rpc-port 9933 \
     --testnet sharingan \
     --name &quot;$YOUR_MONIKER&quot; \
     --telemetry-url &#x27;wss://telemetry.madara.zone/submit 0&#x27;

[Install]
WantedBy=multi-user.target
EOF</pre>
  <p id="7ae4">Запускаем ноду и смотрим логи</p>
  <pre id="mQF5" data-lang="bash">systemctl daemon-reload &amp;&amp; \
systemctl enable madara &amp;&amp; \
systemctl restart madara &amp;&amp; \
journalctl -fu madara -o cat</pre>
  <p id="Y2cb">Рабочий каталог со всей информацией о сети, в том числе и базой данных вы можете найти по пути:</p>
  <pre id="sXAN" data-lang="bash">cd $HOME/.madara</pre>
  <p id="8X6R">В будущем этот гайд будет наверняка еще дополняться новой информацией, поэтому если вам интересен этот проект, вы можете сохранить его себе!</p>
  <p id="XIWZ"></p>
  <p id="C7za"><strong>Большое спасибо, за внимание и уделенное время</strong></p>
  <p id="HQIi">Наш телеграм канал по нодам — <a href="https://t.me/mmsnodes" target="_blank">https://t.me/mmsnodes</a><br />Наш телеграм чат по нодам - <a href="https://t.me/mmsnodeschat" target="_blank">https://t.me/mmsnodeschat</a><br />Наш телеграм канал по экосистеме Cosmos - <a href="https://t.me/cosmochannel_mms" target="_blank">https://t.me/cosmochannel_mms</a></p>
  <p id="z2rz"><strong>С уважением, MMS_Team</strong></p>
  <figure id="neD3" class="m_original">
    <img src="https://img2.teletype.in/files/5e/cc/5ecc809a-a64d-4f9e-bf45-0dd0ed03b5e1.jpeg" width="1080" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@mms-nodes/mms-team-telegram</guid><link>https://teletype.in/@mms-nodes/mms-team-telegram?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes</link><comments>https://teletype.in/@mms-nodes/mms-team-telegram?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes#comments</comments><dc:creator>mms-nodes</dc:creator><title>Наш канал и чат в Телеграм</title><pubDate>Tue, 27 Jun 2023 06:18:13 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/5c/10/5c10d106-62a0-4245-b78c-0123640787b5.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/c0/9f/c09fe550-c91e-44c2-ba38-467f9bd3b481.jpeg"></img>Всем привет! в эфире MMS! 
Решили напомнить, что у нас есть телеграм канал и чат по теме нод.]]></description><content:encoded><![CDATA[
  <p id="cYga"><strong>Всем привет! в эфире MMS! </strong><br />Решили напомнить, что у нас есть телеграм канал и чат по теме нод.</p>
  <p id="Wzb2">Канал - <a href="https://t.me/mmsnodes" target="_blank">https://t.me/mmsnodes</a><br />Чат - <a href="https://t.me/mmsnodeschat" target="_blank">https://t.me/mmsnodeschat</a><br />Канал по экосистеме Cosmos + чат поддержки для наших мейннет стейкеров - <a href="https://t.me/cosmochannel_mms" target="_blank">https://t.me/cosmochannel_mms</a></p>
  <p id="sdFc">Присоединяйтесь к нашему сообществу, пишите вопросы, обменивайтесь опытом.<br />Welcome, одним словом!</p>
  <figure id="RZG2" class="m_column">
    <img src="https://img1.teletype.in/files/c0/9f/c09fe550-c91e-44c2-ba38-467f9bd3b481.jpeg" width="1080" />
    <figcaption>mms team</figcaption>
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@mms-nodes/Install_CosmosHub_and_Kyve_Protocol</guid><link>https://teletype.in/@mms-nodes/Install_CosmosHub_and_Kyve_Protocol?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes</link><comments>https://teletype.in/@mms-nodes/Install_CosmosHub_and_Kyve_Protocol?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes#comments</comments><dc:creator>mms-nodes</dc:creator><title>Установка Cosmos Hub + Kyve Protocol Node</title><pubDate>Tue, 16 May 2023 12:36:39 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/06/db/06db8aa6-d546-473e-8b5a-1f9f0eb693be.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png"></img>Всем привет в эфире MMS !]]></description><content:encoded><![CDATA[
  <figure id="2TM8" class="m_original">
    <img src="https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png" width="640" />
  </figure>
  <p id="Fw7g"><em><strong>Всем привет в эфире MMS !</strong></em></p>
  <p id="enZ6">Сегодня мы расскажем вам о том, как установить RPC узел CosmosHub и Protocol узел проекта Kyve.</p>
  <p id="4S3v">Этот гайд будет актуален тем участникам оплачиваемого тестнета, которые заняли первые 2500 мест в лидерборде, поскольку в свете последних событий, команда Kyve решила раздать этим участникам делегацию, если они установят своего валидатора в сети Kaon, заполнить форму можно <a href="https://docs.google.com/forms/d/e/1FAIpQLScNSwGK9Vb9J-ZJPDZbpLFYk2F6fWiXZmwtDQoGuvMjZr9H2w/formResponse" target="_blank">тут</a>, но желательно после установки валидатора, приступим.</p>
  <p id="7k9P"><strong>Системные требования:</strong></p>
  <p id="Q0q4"><em>Для RPC CosmosHub:</em></p>
  <p id="7wmD">2 CPU cores<br />1.5 TB NVME of disk storage (or more)<br />8 GB of memory (RAM)</p>
  <p id="BOzu"><em>Для Protocol node:</em></p>
  <p id="KTWf">1 or more physical CPU core<br />8 GB of disk storage<br />2 GB of memory (RAM)</p>
  <h3 id="n1Cl">Установка RPC CosmosHub</h3>
  <p id="5PBa">Начнем мы с установки RPC, синхронизироваться нода будет около ~14 дней, но нам главное начать синхронизировать первые блоки, остальные по началу, не сильно важны.<br /><em>Генезисная высота CosmosHub - 5200791</em></p>
  <p id="ojFe">Обновляем сервер</p>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="BjSh">sudo apt update &amp;&amp; sudo apt upgrade -y</p>
  </section>
  <p id="U3Pm">Устанавливаем доп. пакеты</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="HGo8">sudo apt install make clang git pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget -y</p>
  </section>
  <p id="PUCE">Устанавливаем go</p>
  <blockquote id="BbcZ"><strong>В данном случае установка go опциональна, поскольку бинарники мы не будем билдить, лишь качать, но если вы захотите сбилдить определенную вам версию, оставим это тут</strong></blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="vyHS">ver=&quot;1.20.3&quot; &amp;&amp; \<br />wget &quot;<a href="https://golang.org/dl/go" target="_blank">https://golang.org/dl/go</a>$ver.linux-amd64.tar.gz&quot; &amp;&amp; \<br />sudo rm -rf /usr/local/go &amp;&amp; \<br />sudo tar -C /usr/local -xzf &quot;go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \<br />rm &quot;go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \<br />echo &quot;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&quot; &gt;&gt; $HOME/.bash_profile &amp;&amp; \<br />source $HOME/.bash_profile &amp;&amp; \<br />go version</p>
  </section>
  <p id="O8qU">Устанавливаем переменные и экспортируем их в .bash_profile</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="fmBA">GAIA_CHAIN=&quot;cosmoshub-4&quot; <br />GAIA_MONIKER=&quot;your_name&quot;<br /><br />echo &#x27;export GAIA_CHAIN=&#x27;${GAIA_CHAIN} &gt;&gt; $HOME/.bash_profile <br />echo &#x27;export GAIA_MONIKER=&#x27;${GAIA_MONIKER} &gt;&gt; $HOME/.bash_profile<br /><em>source $HOME/.bash_profile</em></p>
  </section>
  <p id="kfb6">Качаем бинарный файл версии 4.2.1 и перемещаем его</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="HobV">cd $HOME/<br />wget <a href="https://github.com/cosmos/gaia/releases/download/v4.2.1/gaiad-v4.2.1-linux-amd64" target="_blank">https://github.com/cosmos/gaia/releases/download/v4.2.1/gaiad-v4.2.1-linux-amd64</a><br />mv <a href="https://github.com/cosmos/gaia/releases/download/v4.2.1/gaiad-v4.2.1-linux-amd64" target="_blank">gaiad-v4.2.1-linux-amd64</a> gaiad<br />chmod +x gaiad<br />mv gaiad /usr/local/bin</p>
  </section>
  <p id="WYvs">Инициализируем ноду</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="AmV2">gaiad init $GAIA_MONIKER --chain-id $GAIA_CHAIN</p>
  </section>
  <p id="22sq">Качаем и перемещаем genesis</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="pisB">wget <a href="https://raw.githubusercontent.com/cosmos/mainnet/master/genesis/genesis.cosmoshub-4.json.gz" target="_blank">https://raw.githubusercontent.com/cosmos/mainnet/master/genesis/genesis.cosmoshub-4.json.gz</a><br />gzip -d genesis.cosmoshub-4.json.gz<br />mv genesis.cosmoshub-4.json ~/.gaia/config/genesis.json</p>
  </section>
  <p id="dU9W">Качаем и перемещаем addrbook </p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="sVKs">wget <a href="https://dl2.quicksync.io/json/addrbook.cosmos.json" target="_blank">https://dl2.quicksync.io/json/addrbook.cosmos.json</a><br />mv addrbook.cosmos.json ~/.gaia/config/addrbook.json<br />chmod 666 ~/.gaia/config/addrbook.json</p>
  </section>
  <p id="SL1C">Выключаем индексацию и ставим прунинг с настройкой &quot;everything&quot;</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="R1wp">pruning=&quot;everything&quot;<br />indexer=&quot;null&quot;<br />sed -i -e &quot;s/^pruning *=.*/pruning = \&quot;$pruning\&quot;/&quot; $HOME/.gaia/config/app.toml<br />sed -i -e &quot;s/^indexer *=.*/indexer = \&quot;$indexer\&quot;/&quot; $HOME/.gaia/config/config.toml</p>
  </section>
  <p id="re88">Добавляем пиры в config.toml еще больше пиров можно найти <a href="https://polkachu.com/live_peers/cosmos" target="_blank">тут</a></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="PpMn">PEERS=6a2b961ac6020dd4ba011396469f1c78324e039b@18.189.192.156:26656,c1683c75d41c6b2863e52a569666408868469b1c@170.106.64.212:26656,89757803f40da51678451735445ad40d5b15e059@169.155.168.135:26656,2441e90fcb341fcd5bebec15b54e346cdca64a9b@135.148.123.8:14956,37dfe1ec33e9f88f378a61a32462d57d2baa5e74@65.108.99.140:26656,58f1815e3bd03bd93586f1e0287556c035d5ad14@142.132.146.164:15603<br />sed -i.bak -e &quot;s/^persistent_peers *=.*/persistent_peers = \&quot;$PEERS\&quot;/&quot; $HOME/.gaia/config/config.toml</p>
  </section>
  <p id="hDCw">Задаем минимальную цену на газ</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="N1dm">sed -i.bak -e &quot;s/^minimum-gas-prices *=.*/minimum-gas-prices = \&quot;0.01uatom\&quot;/;&quot; ~/.gaia/config/app.toml</p>
  </section>
  <p id="2WTf">Открываем порт rpc в config.toml</p>
  <blockquote id="ZCsY">Позже добавлю автоматический вариант, пока что руками</blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="7T57">nano $HOME/.gaia/config/config.toml</p>
  </section>
  <p id="LR8H">Ищем в конфиге блок  <strong>RPC Server Configuration Options  </strong></p>
  <p id="huk0">Под ним будет находится адрес - это и есть порт RPC</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="KfRf">laddr = &quot;tcp://127.0.0.1:26657&quot;</p>
  </section>
  <p id="nJHT">Меняем руками Ip 127.0.0.1 на 0.0.0.0, сохраняем и выходим, теперь наш порт RPC открыт</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="DUYX">laddr = &quot;tcp://0.0.0.0:26657&quot;</p>
  </section>
  <p id="iXm8">Делаем сервис файл</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="k8Ph">tee /etc/systemd/system/gaiad.service &gt; /dev/null &lt;&lt;EOF<br />[Unit]<br />Description=CosmosHub RPC<br />After=network-online.target</p>
    <p id="eRKi">[Service]<br />User=$USER<br />ExecStart=$(which gaiad) start --x-crisis-skip-assert-invariants<br />Restart=on-failure<br />RestartSec=3<br />LimitNOFILE=65535</p>
    <p id="6HMm">[Install]<br />WantedBy=multi-user.target<br />EOF</p>
  </section>
  <p id="gef2">Запускаем и смотрим логи</p>
  <blockquote id="oAb4"><strong>Стартовать может минут 5 и более, еще столько же искать активных пиров, не стоит переживать, все запустится</strong></blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="605f">sudo systemctl daemon-reload &amp;&amp; \<br />sudo systemctl enable gaiad &amp;&amp; \<br />sudo systemctl restart gaiad &amp;&amp; \<br />sudo journalctl -u gaiad -f -o cat</p>
  </section>
  <p id="f7Nh">Далее приведем бинарники и высоту их смены<br />v5.0.0 <br />height = 6910000</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="pKNm">wget <a href="https://github.com/cosmos/gaia/releases/download/v5.0.0/gaiad-v5.0.0-linux-amd64" target="_blank">https://github.com/cosmos/gaia/releases/download/v5.0.0/gaiad-v5.0.0-linux-amd64</a><br />mv <a href="https://github.com/cosmos/gaia/releases/download/v6.0.0/gaiad-v6.0.0-linux-amd64" target="_blank">gaiad-v5.0.0-linux-amd64</a> gaiad<br />chmod +x gaiad<br />mv gaiad /usr/local/bin</p>
  </section>
  <p id="GENc">v6.0.0<br />height = 8695000</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Jp4a">wget <a href="https://github.com/cosmos/gaia/releases/download/v6.0.0/gaiad-v6.0.0-linux-amd64" target="_blank">https://github.com/cosmos/gaia/releases/download/v6.0.0/gaiad-v6.0.0-linux-amd64</a><br />mv <a href="https://github.com/cosmos/gaia/releases/download/v6.0.0/gaiad-v6.0.0-linux-amd64" target="_blank">gaiad-v6.0.0-linux-amd64</a> gaiad<br />chmod +x gaiad<br />mv gaiad /usr/local/bin</p>
  </section>
  <p id="6vGz">v7.0.0<br />height = 10085397</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="rzCT">wget <a href="https://github.com/cosmos/gaia/releases/download/v7.0.0/gaiad-v7.0.0-linux-amd64" target="_blank">https://github.com/cosmos/gaia/releases/download/v7.0.0/gaiad-v7.0.0-linux-amd64</a><br />mv <a href="https://github.com/cosmos/gaia/releases/download/v7.0.0/gaiad-v7.0.0-linux-amd64" target="_blank">gaiad-v7.0.0-linux-amd64</a> gaiad<br />chmod +x gaiad<br />mv gaiad /usr/local/bin</p>
  </section>
  <p id="INrG">v8.0.0<br />height = 14099412</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="FfBK">wget <a href="https://github.com/cosmos/gaia/releases/download/v8.0.0/gaiad-v8.0.0-linux-amd64" target="_blank">https://github.com/cosmos/gaia/releases/download/v8.0.0/gaiad-v8.0.0-linux-amd64</a><br />mv <a href="https://github.com/cosmos/gaia/releases/download/v8.0.0/gaiad-v8.0.0-linux-amd64" target="_blank">gaiad-v8.0.0-linux-amd64</a> gaiad<br />chmod +x gaiad<br />mv gaiad /usr/local/bin</p>
  </section>
  <p id="MB57">v9.0.0<br />height = 14470501</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="MGUr">wget <a href="https://github.com/cosmos/gaia/releases/download/v9.0.0/gaiad-v9.0.0-linux-amd64" target="_blank">https://github.com/cosmos/gaia/releases/download/v9.0.0/gaiad-v9.0.0-linux-amd64</a><br />mv <a href="https://github.com/cosmos/gaia/releases/download/v9.0.0/gaiad-v9.0.0-linux-amd64" target="_blank">gaiad-v9.0.0-linux-amd64</a> gaiad<br />chmod +x gaiad<br />mv gaiad /usr/local/bin</p>
  </section>
  <p id="4bWI">v9.1.0<br />height = 15213800<br /><strong>ВНИМАНИЕ</strong>, не доходя до этой высоты необходимо самостоятельно выставить в конфиге app.toml настройку <strong>halt-height = 15213800</strong>, на этой высоте нода самостоятельно остановиться, после чего как обычно обновляем, далее убираем настройку на дефолт<strong> halt-height = 0 </strong>и рестартим ноду!</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="pzH1">wget https://github.com/cosmos/gaia/releases/download/v9.1.0/gaiad-v9.1.0-linux-amd64<br />mv <a href="https://github.com/cosmos/gaia/releases/download/v9.0.0/gaiad-v9.0.0-linux-amd64" target="_blank">gaiad-v9.1.0-linux-amd64</a> gaiad<br />chmod +x gaiad<br />mv gaiad /usr/local/bin</p>
  </section>
  <p id="WCud">v10.0.1<br />height=15816200<br />Содержит IBC Huckleberry fix</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Zqgt">wget <a href="https://github.com/cosmos/gaia/releases/download/v10.0.1/gaiad-v10.0.1-linux-amd64" target="_blank">https://github.com/cosmos/gaia/releases/download/v10.0.1/gaiad-v10.0.1-linux-amd64</a><br />mv gaiad-v10.0.1-linux-amd64 gaiad<br />chmod +x gaiad<br />mv gaiad /usr/local/bin</p>
  </section>
  <p id="r1I6">v11.0.0</p>
  <p id="E3Qd">height=16596000</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="5vtL">wget <a href="https://github.com/cosmos/gaia/releases/download/v11.0.0/gaiad-v11.0.0-linux-amd64" target="_blank">https://github.com/cosmos/gaia/releases/download/v11.0.0/gaiad-v11.0.0-linux-amd64</a><br />mv gaiad-v11.0.0-linux-amd64 gaiad<br />chmod +x gaiad<br />mv gaiad /usr/local/bin</p>
  </section>
  <h3 id="Ot5h">Protocol node</h3>
  <p id="hT9O">Перейдем к тому, для чего мы и ставили свою RPC CosmosHub-а - Protocol Node</p>
  <p id="54L3">Качаем бинарник</p>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="G07c">cd $HOME/<br />wget <a href="https://github.com/KYVENetwork/kyvejs/releases/download/%40kyve%2Fkysor%401.0.0-beta.20/kysor-linux-x64.zip" target="_blank">https://github.com/KYVENetwork/kyvejs/releases/download/%40kyve%2Fkysor%401.0.0-beta.20/kysor-linux-x64.zip</a> &amp;&amp; \<br />unzip kysor-linux-x64.zip &amp;&amp; \<br />mv kysor-linux-x64 kysor &amp;&amp; \<br />chmod +x kysor &amp;&amp; \<br />mv kysor /usr/bin/kysor &amp;&amp; \<br />rm kysor-linux-x64.zip</p>
  </section>
  <p id="ScI6">Инициализируем ноду для сети KAON</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="32zH">kysor init -d \<br />--chain-id kaon-1 \<br />--rpc &quot;<a href="https://rpc-eu-1.kaon.kyve.network" target="_blank">https://rpc-eu-1.kaon.kyve.network</a>&quot; \<br />--rest &quot;<a href="https://api-eu-1.kaon.kyve.network" target="_blank">https://api-eu-1.kaon.kyve.network</a>&quot;</p>
  </section>
  <p id="NSdf">Перед тем, как мы сгенерируем нужный нам конфиг, нам необходимо сгенерировать и пополнить свой кошелек Arweave, монетами $AR как это cделать прекрасно показано в <a href="https://cyberomanov.tech/KYVE#XWju" target="_blank">гайде</a> для тестнета Korellia от <a href="https://t.me/how_to_node" target="_blank">HowToNode </a>aka cyberomanov , поэтому не считаю нужным переписывать, то что уже есть, перейдем дальше к технической части</p>
  <p id="vOzw">Как только мы перенесли свой ключ на сервер, нам необходимо его переименовать в arweave.json и перенести в каталог .kysor, если он не там</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="derk">mv arweave-key-NPnHBDo7koHYkTYRbBkUJP4EW4GPA98fJdxsj6pGnDEA.json arweave.json<br />mv arweave.json $HOME/.kysor</p>
  </section>
  <p id="lPJL">Далее создаем vallaccount, если кошелек уже существует, добавляем флаг<br />--recover к команде и вводим свое мнемо</p>
  <blockquote id="yTKB">valaccount - это горячий кошелек для оплаты комиссии валидатора</blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="WvSh">kysor valaccounts create \<br />--name cosmoshub \<br />--pool 0 \<br />--storage-priv &quot;$(cat ~/.kysor/arweave.json)&quot; \<br />--metrics</p>
  </section>
  <p id="REr6">После создания кошелька, его мнемонику можно увидеть в файле  cosmoshub.toml по пути:<br />$HOME/.kysor/valaccounts/cosmoshub.toml</p>
  <p id="WYmS">Открываем файл и записываем мнемо от нашего valaccount</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="597p">cat $HOME/.kysor/valaccounts/cosmoshub.toml</p>
  </section>
  <p id="VvD3">Стоит сделать пометку для тех, у кого узел CosmosHub стоит на отдельном сервере от Protocol узла, вам необходимо создать файл .env и вписать туда переменную</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="YYXh">nano $HOME/.kysor/.env</p>
  </section>
  <p id="YDL8">Вписываем туда переменную с адресом и RPC портом вашего узла Cosmos далее сохраняем и переходим к следующему шагу</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="uQyC">export KYVEJS_TENDERMINT_BSYNC_RPC=&quot;<a href="http://10.1.1.106:57106" target="_blank">http://YOUR_IP:YOUR_PORT</a>&quot;</p>
  </section>
  <p id="OnLM">Устанавливаем npm и nodejs</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="6mbZ">curl -fsSL <a href="https://deb.nodesource.com/setup_current.x" target="_blank">https://deb.nodesource.com/setup_current.x</a> | sudo -E bash -<br />sudo apt-get install -y nodejs</p>
  </section>
  <p id="wgM2">Устанавливаем клиент Bundlr</p>
  <blockquote id="STEy">Bundlr - это  L2 Arweave далее мы переведем свои монеты туда</blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="6OTp">npm install -g @bundlr-network/client</p>
  </section>
  <p id="4LP5">Далее нам необходимо пополнить наш кошелек Bundlr-a</p>
  <p id="iUwa">Переходим в рабочую директорию и даем команду </p>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="br38">cd $HOME/.kysor<br />bundlr fund 1000000000000 -h <a href="https://node1.bundlr.network" target="_blank">https://node1.bundlr.network</a> -w arweave.json -c arweave</p>
  </section>
  <blockquote id="cUbX">1000000000000 - Это одна монета $AR<br />100000000000   - Это 0.1 монеты $AR<br />Думаю логику вы поняли )</blockquote>
  <p id="ilbc">Успешно выполненная транзакция выглядит так:</p>
  <blockquote id="Yuxh">Внимание, монеты могут доходить долго, от 20 минут и более<br />Статус вашей транзакции можете посмотреть здесь:<br /><a href="https://viewblock.io/arweave" target="_blank">https://viewblock.io/arweave</a></blockquote>
  <figure id="5CaX" class="m_original">
    <img src="https://img4.teletype.in/files/78/b9/78b9fc75-d604-41d7-9c4b-d1fffa2cbc55.png" width="912" />
  </figure>
  <p id="XFXX">После того, как кошелек будет пополнен, а синхронизация CosmosHub будет выше, чем актуальный блок в Kyve, который можно посмотреть <a href="https://app.kaon.kyve.network/#/pools/0/validators" target="_blank">здесь</a>, по <br />параметру <strong>Latest key</strong>, можем запускать свой узел </p>
  <p id="VMs8">Создаем сервисный файл, для тех у кого Protocol и Cosmos стоят на одном сервере</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="aueM">tee &lt;&lt;EOF &gt; /dev/null /etc/systemd/system/kyve_cosmos.service<br />[Unit]<br />Description=Kyve Protocol CosmosHub Pool<br />After=network-online.target</p>
    <p id="vaEi">[Service]<br />User=$USER<br />ExecStart=$(which kysor) start --valaccount cosmoshub <br />Restart=always<br />RestartSec=3<br />LimitNOFILE=infinity</p>
    <p id="KSNM">[Install]<br />WantedBy=multi-user.target<br />EOF</p>
  </section>
  <p id="KRjf">Если ваши ноды CosmosHub и Protocol стоят на разных серверах, тогда необходимо добавить дополнительный флаг c нашей переменной</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="NiqJ">tee &lt;&lt;EOF &gt; /dev/null /etc/systemd/system/kyve_cosmos.service<br />[Unit]<br />Description=Kyve Protocol CosmosHub Pool<br />After=network-online.target</p>
    <p id="OZBL">[Service]<br />User=$USER<br />ExecStart=$(which kysor) start --valaccount cosmoshub  --env-file=/root/.kysor/.env<br />Restart=always<br />RestartSec=3<br />LimitNOFILE=infinity</p>
    <p id="aPk3">[Install]<br />WantedBy=multi-user.target<br />EOF</p>
  </section>
  <p id="ie1x">Стартуем сервис и смотрим логи</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="WiTn">sudo systemctl daemon-reload &amp;&amp; \<br />sudo systemctl enable kyve_cosmos &amp;&amp; \<br />sudo systemctl restart kyve_cosmos &amp;&amp; \<br />sudo journalctl -u kyve_cosmos -f -o cat</p>
  </section>
  <p id="jGAC">После успешного старта мы можем наблюдать логи с разного вида информацией, такие как valname valaddr и тд.<br />В конце наш ждем уведомление, где нас просят авторизовать наш узел</p>
  <blockquote id="VOq3">2023-05-16 14:48:24.486  INFO  The node will not continue until the account is authorized</blockquote>
  <p id="L5AO">Если вы увидели это строчку, то осталось совсем немного, надо лишь создать валидатора в вебе, <a href="https://app.kaon.kyve.network/#/" target="_blank">тут</a></p>
  <p id="QbKP">Подключаем кошелек, на котором будет стоять валидатор и включаем Expert Mod</p>
  <figure id="M3lw" class="m_custom">
    <img src="https://img2.teletype.in/files/d3/b9/d3b90640-fbd9-447c-a99b-ba838773930f.png" width="264" />
  </figure>
  <p id="e5ob">Далее Заходим во вкладку Validators, справа сверху видим кнопку &quot;Become validator&quot;, жмем и стейкаем в себя часть монет</p>
  <p id="XDhe">Далее вводим параметры, которые выведены у нас в терминале и смотрим на своего валидатора во вкладке Validators, заполняем профиль нашего валидатора (одно из обязательных условий делегации) и ждем чуда!</p>
  <p id="ATsS"><strong>Большое спасибо, за внимание и уделенное время</strong></p>
  <p id="HQIi">Наш телеграмм канал по нодам — <a href="https://t.me/mmsnodes" target="_blank">https://t.me/mmsnodes</a><br />Наш телеграмм чат по нодам - <a href="https://t.me/mmsnodeschat" target="_blank">https://t.me/mmsnodeschat</a><br />Наш телеграмм канал по экосистеме Cosmos - <a href="https://t.me/cosmochannel_mms" target="_blank">https://t.me/cosmochannel_mms</a></p>
  <p id="z2rz"><strong>С уважением, MMS_Team</strong></p>
  <figure id="Xrl6" class="m_original">
    <img src="https://img2.teletype.in/files/5e/cc/5ecc809a-a64d-4f9e-bf45-0dd0ed03b5e1.jpeg" width="1080" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@mms-nodes/celestia-bonus-task-ru</guid><link>https://teletype.in/@mms-nodes/celestia-bonus-task-ru?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes</link><comments>https://teletype.in/@mms-nodes/celestia-bonus-task-ru?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes#comments</comments><dc:creator>mms-nodes</dc:creator><title>Установка нод Celestia, настройка Rollup</title><pubDate>Fri, 28 Apr 2023 10:36:40 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/76/9e/769e1028-4fad-4c8c-b580-49c4eaff5dd7.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png"></img>
Всем привет в эфире MMS !]]></description><content:encoded><![CDATA[
  <figure id="2Om8" class="m_original">
    <img src="https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png" width="640" />
  </figure>
  <p id="Fw7g"><em><br />Всем привет в эфире MMS !</em></p>
  <p id="c2HB">Сегодня мы разберем установку всех нод <strong>Celestia </strong>(<strong>Validator</strong>, Bridge, Full, Light).<br />Мы попытаемся разобрать, утилитарность каждой ноды, потому что, если &quot;Validator node&quot; - это что-то привычное для экосистемы Cosmos, ибо валидаторы есть в каждом проекте, то с Bridge, Full и Light не все так просто и однозначно.</p>
  <p id="SnUk">Так же мы поднимем свой <strong>Rollup</strong> и локальную сеть Celestia и даже напишем небольшой текстовый запрос к нему приступим.</p>
  <p id="AenH">Вся основная информация взята с официальных источников: </p>
  <p id="ggNW"><a href="https://docs.celestia.org/" target="_blank">https://docs.celestia.org/<br />https://rollkit.dev/docs/intro/</a> <br /><a href="https://docs.ignite.com/" target="_blank">https://docs.ignite.com/</a></p>
  <h2 id="wr5p">Системные требования</h2>
  <p id="LkjM"><strong>Для Validator node</strong></p>
  <ul id="brQk">
    <li id="BnHp">Memory: 8 GB RAM</li>
    <li id="6Rp0">CPU: 6 cores</li>
    <li id="94m2">Disk: 500 GB SSD Storage</li>
    <li id="GxSX">Bandwidth: 1 Gbps for Download/1 Gbps for Upload</li>
  </ul>
  <p id="9ZZB"><strong>Для Light node</strong></p>
  <ul id="A0ND">
    <li id="4fSp">Memory: 2 GB RAM</li>
    <li id="axXq">CPU: Single Core</li>
    <li id="NPLh">Disk: 25 GB SSD Storage</li>
    <li id="91AK">Bandwidth: 56 Kbps for Download/56 Kbps for Upload</li>
  </ul>
  <p id="sxKb"><strong>Для Bridge node</strong></p>
  <ul id="KdD9">
    <li id="BW95">Memory: 8 GB RAM</li>
    <li id="AFYR">CPU: 6 cores</li>
    <li id="h3eY">Disk: 1 TB SSD Storage</li>
    <li id="y8PP">Bandwidth: 1 Gbps for Download/1 Gbps for Upload</li>
  </ul>
  <p id="2N68"><strong>Для Full node</strong></p>
  <ul id="nkFS">
    <li id="x504">Memory: 8 GB RAM</li>
    <li id="SKYa">CPU: Quad-Core</li>
    <li id="LrZV">Disk: 1 TB SSD Storage</li>
    <li id="T7zj">Bandwidth: 1 Gbps for Download/1 Gbps for Upload</li>
  </ul>
  <h3 id="sun0">Part 1</h3>
  <p id="uZEQ"><em>Validator node</em></p>
  <p id="BujB">Начнем с самого привычного - <strong>Validator Node </strong>она же, <strong>Сonsensus Full </strong>node (только без установки валидатора)</p>
  <blockquote id="StMz"><strong>В данном гайде мы делаем все на дефолтных портах, если они у вас заняты, вы можете воспользоваться нашим <a href="https://nodes.mms.team/installing_multiple_nodes" target="_blank">гайдом</a> по смене портов</strong></blockquote>
  <p id="mqaj">В целом, здесь нет никаких подводных камней, все так же, как и у обычного проекта, базой которого является Cosmos, начнем.</p>
  <p id="ljqW">Для начала обновим наш сервер</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Xi41"><em>sudo apt update &amp;&amp; sudo apt upgrade -y</em></p>
  </section>
  <p id="WiEU">Устанавливаем дополнительные пакеты</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="ECvc"><em>sudo apt install make clang git pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget -y</em></p>
  </section>
  <p id="cV7S">Устанавливаем go и проверяем версию</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="K4nR"><em>ver=&quot;1.20.2&quot; &amp;&amp; \<br />wget &quot;https://golang.org/dl/go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \<br />sudo rm -rf /usr/local/go &amp;&amp; \<br />sudo tar -C /usr/local -xzf &quot;go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \<br />rm &quot;go$ver.linux-amd64.tar.gz&quot; &amp;&amp; \<br />echo &quot;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&quot; &gt;&gt; $HOME/.bash_profile &amp;&amp; \<br />source $HOME/.bash_profile &amp;&amp; \<br />go version</em></p>
  </section>
  <p id="GzIQ">Устанавливаем переменные</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="I32K"><em>CELESTIA_CHAIN=&quot;blockspacerace-0&quot; <br />CELESTIA_MONIKER=&quot;your_name&quot;<br />CELESTIA_WALLET=&quot;your_name&quot;</em></p>
  </section>
  <p id="YbxN">Добавляем их в .bash_profile</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="AzIT"><em>echo &#x27;export CELESTIA_CHAIN=&#x27;${CELESTIA_CHAIN} &gt;&gt; $HOME/.bash_profile echo &#x27;export CELESTIA_MONIKER=&#x27;${CELESTIA_MONIKER} &gt;&gt; $HOME/.bash_profile <br />echo &#x27;export CELESTIA_WALLET=&#x27;${CELESTIA_WALLET} &gt;&gt; $HOME/.bash_profile source $HOME/.bash_profile</em></p>
  </section>
  <p id="PoI6">Клонируем репозиторий и билдим бинарник</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="WYvt"><em>cd $HOME/celestia-app/<br />git clone https://github.com/celestiaorg/celestia-app.git<br />git checkout v0.12.1<br />make install<br />mv $HOME/go/bin/celestia-appd /usr/local/bin</em></p>
  </section>
  <p id="xlbb">Инициализируем ноду</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="NwiL"><em>celestia-appd init $CELESTIA_MONIKER --chain-id blockspacerace-0</em></p>
  </section>
  <p id="EQzL">Скачиваем genesis.json</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="7Drj"><em>wget -O $HOME/.celestia-app/config/genesis.json &quot;https://raw.githubusercontent.com/celestiaorg/networks/master/blockspacerace/genesis.json&quot;</em></p>
  </section>
  <p id="7t82">Настройка прунинга (опционально)</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="0O41"><em>pruning=&quot;custom&quot; <br />pruning_keep_recent=&quot;1000&quot; <br />pruning_interval=&quot;10&quot; </em></p>
    <p id="2u5r"><em>sed -i -e &quot;s/^pruning *=.*/pruning = \&quot;$pruning\&quot;/&quot; $HOME/.celestia-app/config/app.toml<br />sed -i -e &quot;s/^pruning-keep-recent *=.*/pruning-keep-recent = \&quot;$pruning_keep_recent\&quot;/&quot; $HOME/.celestia-app/config/app.toml<br />sed -i -e &quot;s/^pruning-interval *=.*/pruning-interval = \&quot;$pruning_interval\&quot;/&quot; $HOME/.celestia-app/config/app.toml</em></p>
  </section>
  <p id="8WGl">Настройка цены gas</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="UiMS"><em>sed -i.bak -e &quot;s/^minimum-gas-prices *=.*/minimum-gas-prices = \&quot;0.001utia\&quot;/;&quot; ~/.celestia-app/config/app.toml</em></p>
  </section>
  <p id="cDJH">Добавляем seeds и peers</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="5ZcZ"><em>peers=&quot;be935b5942fd13c739983a53416006c83837a4d2@178.170.47.171:26656,cea09c9ac235a143d4b6a9d1ba5df6902b2bc2bd@95.214.54.28:20656,5c9cfba00df2aaa9f9fe26952e4bf912e3f1e8ee@195.3.221.5:26656,7b2f4cb70f04f2e9befb6ace66ce1ac7b3bea5b4@178.239.197.179:26656,7ee2ba21197d58679cfc1517b5bbc6465bed387a@65.109.67.25:26656,dc0656ab58280d641c8d10311d86627255bec8a1@148.251.85.27:26656,ccbd6262d0324e2e858594b639f4296cc4952c93@13.57.127.89:26656,a507b2bda6d2974c84ae1e8a8b788fc9e44d01f7@142.132.131.184:26656,9768290c60a746ee97ef1a5bcb8bee69066475e8@65.109.80.150:2600&quot; <br />sed -i.bak -e &quot;s/^persistent_peers *=.*/persistent_peers = \&quot;$peers\&quot;/&quot; $HOME/.celestia-app/config/config.toml</em></p>
    <p id="neFQ"><em>seeds=&quot;0293f2cf7184da95bc6ea6ff31c7e97578b9c7ff@65.109.106.95:26656,8f14ec71e1d712c912c27485a169c2519628cfb6@celest-test-seed.theamsolutions.info:22256&quot; <br />sed -i.bak -e &quot;s/^seeds *=.*/seeds = \&quot;$seeds\&quot;/&quot; $HOME/.celestia-app/config/config.toml</em></p>
  </section>
  <p id="kvCy">Создаем файл сервиса</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="PXp9"><em>sudo tee /etc/systemd/system/celestia-appd.service &gt; /dev/null &lt;&lt;EOF <br />[Unit] <br />Description=celestia-appd <br />After=network-online.target</em></p>
    <p id="rsUi"><em>[Service] <br />User=root <br />ExecStart=$(which celestia-appd) start <br />Restart=on-failure <br />RestartSec=3 <br />LimitNOFILE=65535</em></p>
    <p id="x1CG"><em>[Install]<br />WantedBy=multi-user.target <br />EOF</em></p>
  </section>
  <p id="1vz3">Запускаем и смотрим логи</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="nRuz"><em>sudo systemctl daemon-reload &amp;&amp; \<br />sudo systemctl enable celestia-appd &amp;&amp; \<br />sudo systemctl restart celestia-appd &amp;&amp; \<br />sudo journalctl -u celestia-appd -f -o cat</em></p>
  </section>
  <p id="40YN">Создаем кошелек, либо восстанавливаем</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="5Ac4"><em>celestia-appd keys add $CELESTIA_WALLET<br />celestia-appd keys add $CELESTIA_WALLET --recover</em></p>
  </section>
  <p id="kKi9">Добавляем в переменную адрес кошелька и экспортируем в .bash_profile</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="ytvB"><em>CELESTIA_ADDR=$(celestia-appd keys show $CELESTIA_WALLET -a) <br />echo &#x27;export CELESTIA_ADDR=&#x27;${CELESTIA_ADDR} &gt;&gt; $HOME/.bash_profile<br />source $HOME/.bash_profile</em></p>
  </section>
  <p id="vreF">Создаем валидатора </p>
  <blockquote id="pGd5"><strong>В данном тестнете, имеют допуск только отобранные участники</strong></blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="LVlZ"><em>celestia-appd tx staking create-validator \<br />--amount 1000000utia \ <br />--from $CELESTIA_WALLET \ <br />--commission-max-change-rate &quot;0.05&quot; \ <br />--commission-max-rate &quot;0.2&quot; \ <br />--commission-rate &quot;0.1&quot; \ <br />--min-self-delegation &quot;1&quot; \ <br />--pubkey $(celestia-appd tendermint show-validator) \ <br />--moniker $CELESTIA_MONIKER \ <br />--chain-id $CELESTIA_CHAIN</em></p>
  </section>
  <p id="u6iM">Добавляем в переменную адрес валидатора и экспортируем в .bash_profile</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="kKTI"><em>CELESTIA_VALOPER=$(celestia-appd keys show $CELESTIA_WALLET --bech val -a) <br />echo &#x27;export CELESTIA_VALOPER=&#x27;${CELESTIA_VALOPER} &gt;&gt; $HOME/.bash_profile <br />source $HOME/.bash_profile</em></p>
  </section>
  <p id="mdRF">Поскольку от <strong>Validator node</strong> особо нету смысла в данном тестнете ( речь идет о не допущенных пользователях ) всегда можно сделать ноду для ендпоинтов RPC/API/GPRC, сейчас мы покажем, как это можно осуществить</p>
  <p id="1xuS">Для этого нам необходимо включить несколько параметров в конфигах, если они выключены.</p>
  <p id="6GU3">Включаем <strong>API/GRPC/RPC</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="jO2u"><em>sed -i.bak -e &quot;117 s/^enable *=.*/enable = true/&quot; $HOME/.celestia-app/config/app.toml -e &quot;183 s/^enable *=.*/enable = true/&quot; $HOME/.celestia-app/config/app.toml &amp;&amp; cat -n $HOME/.celestia-app/config/app.toml | sed -n &#x27;117p;183p&#x27;</em></p>
    <p id="XGdB"><em>sed -i.bak -e &#x27;91 s/127.0.0.1/0.0.0.0/&#x27; $HOME/.celestia-app/config/config.toml &amp;&amp; cat -n $HOME/.celestia-app/config/config.toml | sed -n &#x27;91p&#x27;</em></p>
  </section>
  <p id="RnA2">Для того, что бы узнать ваш ендпоинт, вам нужно всего лишь подставить ваш <strong>IP</strong> сервера к определенному порту, <strong>IP</strong> сервера - это &quot;32.274.125.73&quot; выглядеть это будет так:</p>
  <blockquote id="lfIC"><strong>Напоминаю, все это мы делаем на дефолтных портах, если у вас кастомные - меняйте на свои</strong></blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Lhi2"><em><strong>RPC:</strong> 32.274.125.73:26657 <br /><strong>API: </strong>32.274.125.73:1317 <br /><strong>GRPC: </strong>32.274.125.73:9090</em></p>
  </section>
  <p id="nM96">Удаление <strong>Validator node</strong> / <strong>Consensus Full node</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="VBk8"><em>cd $HOME/<br />rm /usr/local/bin/celestia-appd<br />rm -rf .celestia-app/<br />rm -rf celestia-app/<br />rm /etc/systemd/system/celestia-appd.service </em></p>
  </section>
  <h3 id="96EF">Part 2</h3>
  <p id="c1LP"><strong>Bridge/Full/Light nodes</strong></p>
  <p id="t4Sd">Перейдем к следующим видам узлов в Celestia -<strong> Light</strong>,<strong> Bridge</strong>, <strong>Full</strong></p>
  <p id="au9F">Сейчас мы попробуем сжато рассказать о них вам</p>
  <p id="N8hu"><strong>Light node<br /></strong>Легкие клиенты проводят выборку доступности данных в сети Data Availability.</p>
  <p id="enyK"><strong>Bridge node<br /></strong>Осуществляют мостовое соединение блоков между сетью Data Availability и сетью Consensus.</p>
  <p id="T6ic"><strong>Fulll node<br /></strong>Осуществляет хранение всех данных в сети Data Availability , но не подключен к Consensus.</p>
  <p id="Ax0U">Поскольку их установка сильно друг от друга не отличается, в данном гайде мы просто будем дублировать команды, а не писать для <strong>каждой</strong> отдельный раздел.</p>
  <p id="P3xE">Качаем репозиторий, билдим бинарник для узлов и cel-key для генерации ключей.</p>
  <blockquote id="0i25"><strong>После команды &quot;make install&quot; бинарник будет лежать по пути <em>/usr/local/bin/celestia</em></strong></blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="wC4H"><em>cd $HOME/ <br />git clone https://github.com/celestiaorg/celestia-node.git <br />cd celestia-node <br />git checkout tags/v0.9.3 <br />make build <br />make install <br />make cel-key</em></p>
  </section>
  <p id="oLGy">Инициализируем</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="qt5d"><strong>#Для Light <br /></strong><em>celestia light init --core.ip https://rpc-celestia-testnet.mms.team/ --p2p.network blockspacerace <br /></em><strong>#Для Bridge <br /></strong><em>celestia bridge init --core.ip https://rpc-celestia-testnet.mms.team/ --p2p.network blockspacerace <br /></em><strong>#Для Full <br /></strong><em>celestia full init --core.ip https://rpc-celestia-testnet.mms.team/ --p2p.network blockspacerace</em></p>
  </section>
  <p id="EmDy">При инициализации создаются кошельки, но если вы хотите его поменять / сделать еще один, команда будет ниже, если вы хотите восстановить кошелек по мнемонике, добавьте дополнительный флаг &quot;--recover&quot; в конец команды</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="EXMR"><em>cd celestia-node/ <br /></em><strong>#Для Light <br /></strong><em>./cel-key add NAME_HERE --keyring-backend test --node.type light --p2p.network blockspacerace <br /></em><strong>#Для Bridge <br /></strong><em>./cel-key add NAME_HERE --keyring-backend test --node.type bridge --p2p.network blockspacerace <br /></em><strong>#Для Full <br /></strong><em>./cel-key add NAME_HERE --keyring-backend test --node.type full --p2p.network blockspacerace</em></p>
  </section>
  <p id="jD7v">Создаем сервис файл</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="y3Eu"><strong>#Для Light <br /></strong><em>sudo tee /etc/systemd/system/celestia-light.service &gt; /dev/null &lt;&lt;EOF <br />[Unit] <br />Description=Celestia light node <br />After=network-online.target <br />[Service] <br />User=root <br />ExecStart=/usr/local/bin/celestia light start --core.ip https://rpc-celestia-testnet.mms.team/ --core.rpc.port 26660 --core.grpc.port 9090 --keyring.accname my_celes_key --metrics.tls=false --metrics --metrics.endpoint otel.celestia.tools:4318 --gateway --gateway.addr localhost --gateway.port 26667 --p2p.network blockspacerace <br />Restart=on-failure <br />RestartSec=3 <br />LimitNOFILE=4096 <br />[Install] <br />WantedBy=multi-user.target <br />EOF</em></p>
    <p id="SYJN"><strong>#Для Bridge <br /></strong><em>sudo tee /etc/systemd/system/celestia-bridge.service &gt; /dev/null &lt;&lt;EOF <br />[Unit] <br />Description=Celestia bridge node <br />After=network-online.target <br />[Service] <br />User=root <br />ExecStart=/usr/local/bin/celestia bridge start --core.ip https://rpc-celestia-testnet.mms.team/ --keyring.accname my_celes_key --core.rpc.port 26657 --core.grpc.port 9090 --metrics.tls=false --metrics --metrics.endpoint otel.celestia.tools:4318 --gateway.port 26659 --p2p.network blockspacerace --gateway --gateway.addr localhost <br />Restart=on-failure <br />RestartSec=3 <br />LimitNOFILE=4096 <br />[Install] <br />WantedBy=multi-user.target <br />EOF</em></p>
    <p id="FVMp"><strong>#Для Full <br /></strong><em>sudo tee /etc/systemd/system/celestia-full.service &gt; /dev/null &lt;&lt;EOF <br />[Unit] <br />Description=Celestia full node <br />After=network-online.target <br />[Service] <br />User=root <br />ExecStart=/usr/local/bin/celestia full start --core.ip https://rpc-celestia-testnet.mms.team/ --keyring.accname my_celes_key --core.rpc.port 26657 --core.grpc.port 9090 --metrics.tls=false --metrics --metrics.endpoint otel.celestia.tools:4318 --gateway.port 26659 --p2p.network blockspacerace --gateway --gateway.addr localhost <br />Restart=on-failure <br />RestartSec=3 <br />LimitNOFILE=4096 <br />[Install] <br />WantedBy=multi-user.target <br />EOF</em></p>
  </section>
  <p id="NB8C">Иногда могут возникать проблемы с запуском из-за RPC ноды, в таком случае альтернативные варианты можете поискать <a href="https://docs.celestia.org/nodes/blockspace-race/#rpc-endpoints" target="_blank">тут</a> и сделать изменение в сервисе, во флаге &quot;--core.ip&quot; после чего перезапустить ноду</p>
  <p id="ms4l">Включаем сервисный файл, рестартим и смотрим логи</p>
  <section>
    <p id="xg8x"><strong>#Для Light <br /></strong><em>systemctl daemon-reload &amp;&amp; \<br />systemctl enable celestia-light.service &amp;&amp; \<br />systemctl restart celestia-light.service &amp;&amp; \<br />journalctl -fu celestia-light.service -o cat</em></p>
    <p id="rvUP"><strong>#Для Bridge <br /></strong><em>systemctl daemon-reload &amp;&amp; \<br />systemctl enable celestia-bridge.service &amp;&amp; \<br />systemctl restart celestia-bridge.service &amp;&amp; \<br />journalctl -fu celestia-bridge.service -o cat</em></p>
    <p id="jR1U"><strong>#Для Full <br /></strong><em>systemctl daemon-reload &amp;&amp; \<br />systemctl enable celestia-full.service &amp;&amp; \<br />systemctl restart celestia-full.service &amp;&amp; \<br />journalctl -fu celestia-full.service -o cat</em></p>
  </section>
  <h3 id="kOwU">Часть 3</h3>
  <p id="rdFm">Build/Deploy sovereign Rollup using Rollkit / Run local chain</p>
  <p id="TCqq">В этой части гайда, мы попробуем рассказать о том, как сделать Rollup и завести локальную цепь Celestia</p>
  <blockquote id="1TeY"><strong>спойлер - проще, чем кажется</strong></blockquote>
  <p id="Acn3">Для начала установим переменные и экспортируем их в .bash_profile</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="O48Q"><em>BLOCKCHAIN_NAME=&quot;NAME_HERE&quot; <br />ADDR_PREFIX=&quot;PREFIX_HERE&quot;</em></p>
    <p id="6uGv"><em>echo &#x27;export BLOCKCHAIN_NAME=&#x27;${BLOCKCHAIN_NAME} &gt;&gt; $HOME/.bash_profile <br />echo &#x27;export ADDR_PREFIX=&#x27;${ADDR_PREFIX} &gt;&gt; $HOME/.bash_profile source $HOME/.bash_profile</em></p>
  </section>
  <p id="9IBG">Далее установим <strong>Docker</strong>, чуть позже он нам понадобится для старта локальной цепи Celestia</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="HOMo"><em>curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh</em></p>
  </section>
  <p id="KHkg">После установки <strong>Docker</strong>, запускаем локальную цепь скриптом</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="zkxf"><em>docker run --platform linux/amd64 -p 26650:26657 -p 26659:26659 ghcr.io/rollkit/local-celestia-devnet:v0.9.1</em></p>
  </section>
  <p id="AoEg">Проверяем, работает ли он, обычным запросом</p>
  <blockquote id="axvs">Если все ок, он выведет такой ответ: <strong>{&quot;denom&quot;:&quot;utia&quot;,&quot;amount&quot;:&quot;999995000000000&quot;}</strong></blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Ud0G"><em>curl -X GET http://0.0.0.0:26659/balance</em></p>
  </section>
  <p id="FFOW">После запуска блокчейна, открываем отдельную сессию в нашем терминале и переходим туда</p>
  <blockquote id="wxnG"><strong>Все это можно делать через софт screen, но поскольку гайд для этого Rollup, не очень длинный, мы обойдемся без него, если вам удобнее работать со screen, все в ваших руках ;)</strong></blockquote>
  <p id="P17K">Давайте теперь разберемся с такой штукой, как Ignite CLI:</p>
  <p id="IitZ">Ignite CLI - это простой в использовании инструмент CLI для создания и обслуживания суверенных блокчейнов, специфичных для конкретного приложения. Блокчейны, созданные с помощью Ignite CLI, используют Cosmos SDK и Tendermint.</p>
  <p id="PGrN">Если хотите поближе познакомиться с данным софтом, велком <a href="https://docs.ignite.com/" target="_blank">сюда</a></p>
  <p id="5pEm">Далее нам необходимо установить<strong> Ignite CLI</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="0WSr"><em>curl https://get.ignite.com/cli! | bash</em></p>
  </section>
  <p id="3vmd">Проверяем, что все ок, а заодно и версию</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Bklr"><em>ignite version</em></p>
  </section>
  <p id="yh8L">Далее задаем имя нашего блокчейна и префикс адресов</p>
  <blockquote id="hV6D"><strong>Далее будем показывать какую-то часть со скриншотами, что бы не возникало вопросов</strong></blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="WBR1"><em>cd $HOME <br />ignite scaffold chain $BLOCKCHAIN_NAME --address-prefix $ADDR_PREFIX</em></p>
  </section>
  <figure id="isB7" class="m_custom">
    <img src="https://img3.teletype.in/files/ea/a2/eaa27691-f2d7-4a7b-a544-65adb2e7f351.png" width="718" />
    <figcaption><em><strong>Вывод должен быть примерно такой</strong></em></figcaption>
  </figure>
  <p id="eROP">Для дальнейшего понимания, что мы делаем, надо рассказать, что такое <strong>Rollkit</strong>, как обычно сжато, если интересно - читайте <a href="https://rollkit.dev/docs/intro/" target="_blank">здесь</a></p>
  <p id="nSb1"><strong>Rollkit </strong>- это фреймворк для Rollup, который дает разработчикам свободу развертывания роллапов во всем модульном стеке, открывая новые возможности для быстрых экспериментов и инноваций.</p>
  <p id="gtsc">Далее переходим в только что созданную директорию</p>
  <blockquote id="cjVO"><strong>В нашем случае - это <em>mms-team</em></strong></blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="eWE8"><em>cd $BLOCKCHAIN_NAME</em></p>
  </section>
  <p id="axYM">Сейчас нам необходимо заменить различные модули Tendermint на Rollkit</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="BhjN"><em>go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.46.7-rollkit-v0.7.3-no-fraud-proofs go mod edit -replace github.com/tendermint/tendermint=github.com/celestiaorg/tendermint@v0.34.22-0.20221202214355-3605c597500d <br />go mod tidy <br />go mod download</em></p>
  </section>
  <p id="iYNL">Качаем скрипт, который запустит наш блокчейн</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="e670"><em>wget https://raw.githubusercontent.com/rollkit/docs/main/docs/scripts/gm/init-local.sh</em></p>
  </section>
  <p id="idQC">Добавляем переменные и экспортируем в .bash_profile</p>
  <blockquote id="Q28u"><strong>Добавим небольшие пояснения <em>DENOM </em>- это название вашей монеты <em>BIN_FILE </em>- это название вашего бинарного файла, который в процессе скрипта сгенерируется, что бы узнать имя вашего бинарного файла, надо всего-лишь добавить букву &quot;d&quot; к вашему BLOCKCHAIN_NAME, в нашем случае это будет <em>mms-teamd</em></strong></blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="BTOE"><em>VALIDATOR_NAME=YOUR_VAL_NAME_HERE <br />CHAIN_ID=YOUR_CHAIN_ID_HERE <br />KEY_NAME=YOUR_WALLET_NAME_HERE KEY_2_NAME=YOUR_SECOND_WALLET_NAME_HERE DENOM=YOUR_DENOM_HERE <br />BIN_FILE=YOUR_BLOCKCHAIN_NAMEd</em></p>
    <p id="hMf6"><em>echo &#x27;export VALIDATOR_NAME=&#x27;${VALIDATOR_NAME} &gt;&gt; $HOME/.bash_profile echo &#x27;export CHAIN_ID=&#x27;${CHAIN_ID} &gt;&gt; $HOME/.bash_profile <br />echo &#x27;export KEY_NAME=&#x27;${KEY_NAME} &gt;&gt; $HOME/.bash_profile <br />echo &#x27;export KEY_2_NAME=&#x27;${KEY_2_NAME} &gt;&gt; $HOME/.bash_profile <br />echo &#x27;export DENOM=&#x27;${DENOM} &gt;&gt; $HOME/.bash_profile <br />echo &#x27;export BIN_FILE=&#x27;${BIN_FILE} &gt;&gt; $HOME/.bash_profile source $HOME/.bash_profile</em></p>
  </section>
  <figure id="KfaF" class="m_custom">
    <img src="https://img1.teletype.in/files/05/5c/055c9db5-7ca3-4fdd-95b1-9258020c2da9.png" width="648" />
    <figcaption><strong><em>У нас это выглядит так</em></strong></figcaption>
  </figure>
  <p id="2kB8">И редактируем его под наши переменные</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="oXzV"><em>sed -i.bak -e &quot;s/^VALIDATOR_NAME*=.*/VALIDATOR_NAME=$VALIDATOR_NAME/&quot; $HOME/mms-team/init-local.sh <br />sed -i.bak -e &quot;s/^CHAIN_ID*=.*/CHAIN_ID=$CHAIN_ID/&quot; $HOME/mms-team/init-local.sh <br />sed -i.bak -e &quot;s/^KEY_NAME*=.*/KEY_NAME=$KEY_NAME/&quot; $HOME/mms-team/init-local.sh <br />sed -i.bak -e &quot;s/^KEY_2_NAME*=.*/KEY_2_NAME=$KEY_2_NAME/&quot; $HOME/mms-team/init-local.sh <br />sed -i.bak -e &quot;9,10 s/stake/$DENOM/&quot; $HOME/mms-team/init-local.sh <br />sed -i.bak -e &quot;s/^gmd/$BIN_FILE/&quot; $HOME/mms-team/init-local.sh</em></p>
  </section>
  <p id="QAZ5">Далее запускаем скрипт</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="DPw5"><em>bash init-local.sh</em></p>
  </section>
  <p id="Ye52">Он окончится ошибкой, зато мы сгенерировали нашу рабочую директорию и теперь можем до конца сменить наш деном, в уже готовом генезисе</p>
  <figure id="UwPh" class="m_custom">
    <img src="https://img1.teletype.in/files/c1/39/c139d4d3-1115-4d22-942a-13404a8ad6ab.png" width="995" />
    <figcaption><em><strong>Пример ошибки</strong></em></figcaption>
  </figure>
  <blockquote id="k6VE"><strong>Кто шарит - да, костыли никому не помешают</strong></blockquote>
  <p id="evE5">Наша новая рабочая директория будет называться так же, как и наш BLOCKCHAIN_NAME, только вначале будет стоять точка &quot;<strong>.mms-team/</strong>&quot;</p>
  <p id="SIGC">Добавим переменную для удобства и экспортируем в .bash_profile</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="JCi1"><em>WORK_DIRECTORY=.$BLOCKCHAIN_NAME</em></p>
    <p id="Osxa"><em>echo &#x27;export WORK_DIRECTORY=&#x27;${WORK_DIRECTORY} &gt;&gt; $HOME/.bash_profile source $HOME/.bash_profile</em></p>
  </section>
  <p id="rLrx">Командой меняем denom &quot;stake&quot;, на нужный</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="3tEu"><em>sed -i.bak -e &quot;s/stake/$DENOM/&quot; $HOME/$WORK_DIRECTORY/config/genesis.json</em></p>
  </section>
  <p id="8xCG">Далее снова запускаем скрипт</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="1ssU"><em>bash init-local.sh</em></p>
  </section>
  <p id="Uka1">В процессе выполнения скрипта будут возникать некоторые ошибки, так же скрипт нас спросит о выполнении некоторых действий, везде отвечаем &quot;<strong><em>n</em></strong>&quot;</p>
  <figure id="68Xk" class="m_custom">
    <img src="https://img4.teletype.in/files/bb/8f/bb8f36bd-5505-4ea6-bcde-f4cc64246f7b.png" width="824" />
    <figcaption><em><strong>Пример ошибок</strong></em></figcaption>
  </figure>
  <p id="5hNd">Вуаля, мы запустили свой блокчейн, со своими переменными</p>
  <figure id="Um7y" class="m_custom">
    <img src="https://img4.teletype.in/files/31/f9/31f92f29-94f2-4e2f-affb-7035ab10aa60.png" width="825.0000000000001" />
    <figcaption><strong><em>Пример старта цепи</em></strong></figcaption>
  </figure>
  <p id="aeAX">Что бы ничего не выдумать с сервисными файлами или со <strong>screen</strong> переходим в отдельную сессию терминала</p>
  <p id="dWjP">Теперь в вашем распоряжении ваш личный <strong>Rollup</strong>, на локальной цепи Celestia</p>
  <p id="w1HY">Можете делать, все что вам вздумается, тестировать разные штуки, которые боялись раньше в различных дьюнетах/тестнетах/мейнетах, все работает точно так же, как и в самом обычном космофорке</p>
  <p id="J0eV">Просто, для примера посмотрим что у нас за кошельки, убедимся, что префикс, который мы задавали действительно поменялся, а так же посмотрим баланс и лист валидаторов</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="RfKl"><strong>#Смотрим кошельки </strong><br /><em>$BIN_FILE keys list --keyring-backend test</em></p>
    <p id="g0ei"><strong>#Смотрим баланс одного из кошельков <br />$BIN_FILE q bank balances YOUR_ADDR_HERE</strong></p>
    <p id="P6F0"><strong>#Смотрим активсет нашего блокчейна <br /></strong><em>$BIN_FILE q staking validators -o json --limit=1000 \<br /> | jq &#x27;.validators[] | select(.status==&quot;BOND_STATUS_BONDED&quot;)&#x27; \<br /> | jq -r &#x27;.tokens + &quot; - &quot; + .description.moniker&#x27; \<br /> | sort -gr | nl</em></p>
  </section>
  <figure id="3dX9" class="m_custom">
    <img src="https://img4.teletype.in/files/3b/35/3b356a52-fad4-4750-aa98-df716c01ab61.png" width="829" />
    <figcaption><strong><em>Пример, как это выглядит у нас</em></strong></figcaption>
  </figure>
  <p id="Y4ip">В общем здесь, вы можете воплотить все ваши самые смелые фантазии в реальность</p>
  <p id="oSEV">Остановка локальной цепи Celestia и остановка нашего Rollup<br />Далее нам нужно остановить сети, которые мы запустили, для этого переходим во вкладку с нашим Rollup и нажимаем комбинацию клавиш &quot;ctrl + c&quot;, после чего он остановится</p>
  <p id="NBmD">Остановка и удаление контейнера с локальной цепью Celestia и остановка <strong>Rollup</strong></p>
  <p id="yF1e">Что бы остановить <strong>Rollup</strong>, который мы запустили, для этого переходим во вкладку с нашим <strong>Rollup</strong> и нажимаем комбинацию клавиш &quot;<strong>ctrl + c</strong>&quot;, после чего он остановится</p>
  <p id="vfM4">Проверяем активные контейнеры командой</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="MiIx"><em>docker ps -a</em></p>
  </section>
  <p id="XvVW">Выглядеть будет так</p>
  <figure id="xZKH" class="m_custom">
    <img src="https://img3.teletype.in/files/e3/40/e3406692-64fb-4752-8077-a8372bf3f0f4.png" width="1033" />
    <figcaption><strong><em>Пример рабочего контейнера</em></strong></figcaption>
  </figure>
  <p id="FN62">В колонке &quot;Container ID&quot;, соответственно мы видим наш id контейнера, копируем его. Что бы остановить и удалить его, пишем следующие команды:</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="5jGO"><em>docker stop YOUR_CONTAINER_ID &amp;&amp; \ docker rm YOUR_CONTAINER_ID</em></p>
  </section>
  <h3 id="BH04">Часть 3.1</h3>
  <p id="94Rw"><strong>Настройка текстового модуля </strong></p>
  <p id="Tgli">Теперь, когда мы научились запускать наш блокчейн и локальную цепь Celestia мы сделаем так, что бы к нам в бинарный файл добавилась дополнительная команда, с выводом какого-либо текста. </p>
  <p id="6yZ0">Для начала нам необходимо запустить Celestia Light node, процесс установки описан в Part 2</p>
  <p id="4fz2">Создаем запрос, отвечаем &quot;<strong>y</strong>&quot; на вопрос от <strong>Ignite</strong></p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Eyaf"><em>cd $HOME/$BLOCKCHAIN_NAME/ ignite scaffold query $BLOCKCHAIN_NAME --response text</em></p>
  </section>
  <figure id="80p0" class="m_custom">
    <img src="https://img4.teletype.in/files/74/75/74754e80-39ce-45cd-b19f-4ee175d8e42d.png" width="581" />
  </figure>
  <p id="fVUo">Далее, что бы не плодить еще больше переменных, которых уже достаточно, я буду просто указывать, где, что и как надо изменить, с примерами, что бы добраться до нужного файла</p>
  <p id="JkDY">Идем по такому пути, у вас он будет немного другой, как и конечное название файла, по сути тут будет везде имя вашего блокчейна Наш путь выглядит так:</p>
  <blockquote id="JlpV"><strong><em>nano x/mmsteam/keeper/query_mms_team.go<br /></em>Для тех кто не в курсе, двукратное нажатие кнопки &quot;tab&quot; показывает вам, что находится в директории, в таком случае становится гораздо проще искать, пользуйтесь</strong></blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="PZsO"><em>nano x/YOUR_CATALOG/keeper/query_YOUR_FILENAME.go</em></p>
  </section>
  <p id="C79x">Когда вы открыли нужный файл, там нам необходимо добавить наш текст, в самом низу</p>
  <p id="tAqv">Добавляем данный текст в фигурные скобки (у вас они будут пустые), все что в кавычках, вы можете спокойно менять на свое усмотрение, мы напишем:</p>
  <blockquote id="NdFc">Text: &quot;Join us https://t.me/mmsnodes Peace to all&#x27;</blockquote>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="ZB9a"><em>Text: &quot;YOUR_TEXT_HERE&quot;</em></p>
  </section>
  <figure id="H0pL" class="m_custom">
    <img src="https://img4.teletype.in/files/32/75/3275edd1-7577-4345-b687-49badd6f629a.png" width="849" />
    <figcaption><strong><em>Пример функции</em></strong></figcaption>
  </figure>
  <p id="g8UO">Сохраняем изменения</p>
  <p id="kvej">Качаем новый скрипт по запуску <strong>Rollup</strong>, только на этот раз мы уже не будем запускать локальную цепь Celestia, мы будем общаться с настоящей тестовой цепью, с помощью <strong>LIght Node</strong>, установку которой мы описывали выше</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="SfUb"><em>wget https://raw.githubusercontent.com/rollkit/docs/main/docs/scripts/gm/init-testnet.sh</em></p>
  </section>
  <p id="XbGV">Видоизменяем скрипт под наши переменные</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="ftLn"><em>sed -i.bak -e &quot;s/^VALIDATOR_NAME*=.*/VALIDATOR_NAME=$VALIDATOR_NAME/&quot; $HOME/mms-team/init-testnet.sh <br />sed -i.bak -e &quot;s/^CHAIN_ID*=.*/CHAIN_ID=$CHAIN_ID/&quot; $HOME/mms-team/init-testnet.sh <br />sed -i.bak -e &quot;s/^KEY_NAME*=.*/KEY_NAME=$KEY_NAME/&quot; $HOME/mms-team/init-testnet.sh <br />sed -i.bak -e &quot;s/stake/$DENOM/&quot; $HOME/mms-team/init-testnet.sh <br />sed -i.bak -e &quot;s/^gmd/$BIN_FILE/&quot; $HOME/mms-team/init-testnet.sh</em></p>
  </section>
  <p id="AXwe">Удаляем прошлый бинарник и рабочую директорию</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="N6Hu"><em>rm -r $HOME/go/bin/$BIN_FILE &amp;&amp; \ <br />rm -rf $HOME/$WORK_DIRECTORY</em></p>
  </section>
  <p id="cS3V">Переходим в наш каталог, откуда билдим бинарник и запускаем наш переделанный скрипт</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="i3Qf"><em>cd $HOME/$BLOCKCHAIN_NAME &amp;&amp; \ <br />bash init-testnet.sh</em></p>
  </section>
  <p id="3VVj">Снова получаем ошибку &quot;<strong>denom</strong>&quot;, как и в прошлый раз, меняем наш genesis</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="Pacl"><em>sed -i.bak -e &quot;s/stake/$DENOM/&quot; $HOME/$WORK_DIRECTORY/config/genesis.json</em></p>
  </section>
  <p id="VItr">Запускаем снова скрипт и везде отвечаем &quot;<strong>n</strong>&quot;</p>
  <section style="background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="3mLj"><em>bash init-testnet.sh</em></p>
  </section>
  <p id="VbAT">Наблюдаем удачно запущенный блокчейн, с помощью <strong>Rollkit</strong>, но на этот раз с выходом в интернет, а не по локальной сети</p>
  <figure id="MNMM" class="m_custom">
    <img src="https://img3.teletype.in/files/a8/6c/a86ce25d-94e1-45c1-b603-606b229cb0b8.png" width="1010" />
    <figcaption>Пример успешного запуска Rollup</figcaption>
  </figure>
  <p id="81dw">И так, нам осталось совсем немного, остается составить и дать последнюю команду, которую мы создали</p>
  <blockquote id="Q33V"><strong>Наша команда выглядит таким образом<br /><em>$BIN_FILE q mmsteam mms-team<br />Поясним, за каждое слово в команде </em><br />BIN_FILE - переменнная с бинарным файлом<br />q - стандартный модуль космоса для запросов<br />mmsteam - наш созданный модуль текстового запроса <br />mms-team - сам запрос </strong></blockquote>
  <section>
    <p id="pXN2">$BIN_FILE q YOUR_QUERY_MODULE YOUR_QUERY</p>
  </section>
  <figure id="MOLn" class="m_custom">
    <img src="https://img2.teletype.in/files/16/b1/16b11684-069c-46f4-b59a-e608f8801ed5.png" width="933" />
    <figcaption>Вывод нашей команды</figcaption>
  </figure>
  <p id="Q5jp">Как-то так мы научились создавать собственный блокчейн (<strong>Rollup</strong>), с помощью утилит <strong>Ignite</strong> и <strong>Rollkit</strong>, на основе <strong>Celestia</strong>, научились запускать локальный блокчейн, а так же создавать свои, хоть и простые(надо же с чего-то начинать), модули для своего блокчейна.</p>
  <p id="ATsS"><strong>Большое спасибо, за внимание и уделенное время</strong></p>
  <p id="HQIi">Наш телеграмм канал по нодам — <a href="https://t.me/mmsnodes" target="_blank">https://t.me/mmsnodes</a><br />Наш телеграмм чат по нодам - <a href="https://t.me/mmsnodeschat" target="_blank">https://t.me/mmsnodeschat</a><br />Наш телеграмм канал по экосистеме Cosmos - <a href="https://t.me/cosmochannel_mms" target="_blank">https://t.me/cosmochannel_mms</a></p>
  <p id="z2rz"><strong>С уважением, MMS_Team</strong></p>
  <figure id="AhfC" class="m_original">
    <img src="https://img2.teletype.in/files/5e/cc/5ecc809a-a64d-4f9e-bf45-0dd0ed03b5e1.jpeg" width="1080" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@mms-nodes/BnOejHUsuXF</guid><link>https://teletype.in/@mms-nodes/BnOejHUsuXF?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes</link><comments>https://teletype.in/@mms-nodes/BnOejHUsuXF?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mms-nodes#comments</comments><dc:creator>mms-nodes</dc:creator><title>Наш канал и чат в Телеграм</title><pubDate>Fri, 21 Apr 2023 03:16:27 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/5c/10/5c10d106-62a0-4245-b78c-0123640787b5.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/c0/9f/c09fe550-c91e-44c2-ba38-467f9bd3b481.jpeg"></img>Всем привет! в эфире MMS! 
Решили напомнить, что у нас есть телеграм канал и чат по теме нод.]]></description><content:encoded><![CDATA[
  <p id="cYga"><strong>Всем привет! в эфире MMS! </strong><br />Решили напомнить, что у нас есть телеграм канал и чат по теме нод.</p>
  <p id="Wzb2">Канал - <a href="https://t.me/mmsnodes" target="_blank">https://t.me/mmsnodes</a><br />Чат - <a href="https://t.me/mmsnodeschat" target="_blank">https://t.me/mmsnodeschat</a><br />Канал по экосистеме Cosmos + чат поддержки для наших мейннет стейкеров - <a href="https://t.me/cosmochannel_mms" target="_blank">https://t.me/cosmochannel_mms</a></p>
  <p id="sdFc">Присоединяйтесь к нашему сообществу, пишите вопросы, обменивайтесь опытом.<br />Welcome, одним словом!<br /></p>
  <figure id="lRig" class="m_column">
    <img src="https://img1.teletype.in/files/c0/9f/c09fe550-c91e-44c2-ba38-467f9bd3b481.jpeg" width="1080" />
    <figcaption>MMS Validator</figcaption>
  </figure>

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