<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>how_to_node</title><subtitle>архив гайдов по нодам от @cyberomanov.</subtitle><author><name>how_to_node</name></author><id>https://teletype.in/atom/cyberomanov</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/cyberomanov?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@cyberomanov?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=cyberomanov"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/cyberomanov?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-28T10:55:02.326Z</updated><entry><id>cyberomanov:quick-0-fees</id><link rel="alternate" type="text/html" href="https://teletype.in/@cyberomanov/quick-0-fees?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=cyberomanov"></link><title>Транзакция с 0 fees /// v1.0</title><published>2022-12-17T11:53:14.462Z</published><updated>2023-01-13T14:21:03.244Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/b1/36/b136f9a9-04b6-4d1d-a473-fad4a93d293e.png"></media:thumbnail><category term="immortal" label="Immortal Articles"></category><summary type="html">&lt;img src=&quot;https://imgix.ranker.com/list_img_v2/2478/2862478/original/2862478&quot;&gt;Отправляем транзакцию в cosmos-based сетях с нулём комиссии на примере Quicksilver.</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;OOk2&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://imgix.ranker.com/list_img_v2/2478/2862478/original/2862478&quot; width=&quot;937&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;mG23&quot;&gt;Отправляем транзакцию в &lt;em&gt;cosmos-based&lt;/em&gt; сетях с нулём комиссии на примере &lt;strong&gt;Quicksilver&lt;/strong&gt;.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;7BmN&quot;&gt;Есть токены с генезиса, но они все залоченные, то есть нетрансферабельные.&lt;/p&gt;
  &lt;p id=&quot;S4JG&quot;&gt;Как же оплатить транзакцию того же делегирования, если &lt;strong&gt;Keplr&lt;/strong&gt; просит оплатить комиссию трансферабельными токенами, которых у нас попросту не может быть?&lt;/p&gt;
  &lt;p id=&quot;Bu3x&quot;&gt;Гениальный мув от команды &lt;strong&gt;Quicksilver&lt;/strong&gt;, похлопаем.&lt;/p&gt;
  &lt;p id=&quot;Khoq&quot;&gt;Решение простое: добавить сеть в кеплер с кастомным рпц, нода которого принимает транзакции с &lt;em&gt;0 fees&lt;/em&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;cDTc&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;РЕШЕНИЕ ПРОБЛЕМЫ&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;uTQ1&quot;&gt;Первым делом импортируем кошель в &lt;strong&gt;Keplr&lt;/strong&gt; по мнемонике из тестнета.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Zwy0&quot;&gt;Если ваше расширение успело обновиться до &lt;a href=&quot;https://github.com/chainapsis/keplr-wallet/releases/tag/v0.11.25&quot; target=&quot;_blank&quot;&gt;v0.11.25&lt;/a&gt; (где подвезли нативную поддержку &lt;strong&gt;Quicksilver&lt;/strong&gt; сети), то вам потребуется удалить экстеншн, затем скачать предыдущую версию, &lt;a href=&quot;https://github.com/chainapsis/keplr-wallet/releases/tag/v0.11.24&quot; target=&quot;_blank&quot;&gt;v0.11.24&lt;/a&gt;, и установить расширение из &lt;strong&gt;zip&lt;/strong&gt;-архива.&lt;/p&gt;
    &lt;p id=&quot;rMUh&quot;&gt;Разумеется, если у вас много импортированных кошельков, то можно воспользоваться другим браузером или другим профилем, чтобы не восстанавливать все кошельки заново.&lt;/p&gt;
    &lt;p id=&quot;zk8f&quot;&gt;К сожалению, если расширение успело обновиться, то удалить дефолтную &lt;strong&gt;Quicksilver&lt;/strong&gt; сеть не получится, нужна версия &lt;strong&gt;v0.11.24&lt;/strong&gt; или ниже.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;cpCK&quot;&gt;Теперь нам нужно добавить сеть &lt;strong&gt;quicksilver-1&lt;/strong&gt; в &lt;strong&gt;Keplr&lt;/strong&gt;, для этого воспользуемся &lt;a href=&quot;https://docs.axelar.dev/resources/keplr#add-your-custom-network&quot; target=&quot;_blank&quot;&gt;тулзой от акселара&lt;/a&gt;. Вставляем в поле конфиг нашего квиксильвера:&lt;/p&gt;
  &lt;pre id=&quot;k05k&quot;&gt;{
    &amp;quot;chainId&amp;quot;: &amp;quot;quicksilver-1&amp;quot;,
    &amp;quot;chainName&amp;quot;: &amp;quot;quicksilver-m&amp;quot;,
    &amp;quot;rpc&amp;quot;: &amp;quot;http://quick.cyberomanov.tech:11241&amp;quot;,
    &amp;quot;rest&amp;quot;: &amp;quot;https://quick.api.m.stavr.tech&amp;quot;,
    &amp;quot;bip44&amp;quot;: {
        &amp;quot;coinType&amp;quot;: 118
    },
    &amp;quot;coinType&amp;quot;: 118,
    &amp;quot;bech32Config&amp;quot;: {
        &amp;quot;bech32PrefixAccAddr&amp;quot;: &amp;quot;quick&amp;quot;,
        &amp;quot;bech32PrefixAccPub&amp;quot;: &amp;quot;quickpub&amp;quot;,
        &amp;quot;bech32PrefixValAddr&amp;quot;: &amp;quot;quickvaloper&amp;quot;,
        &amp;quot;bech32PrefixValPub&amp;quot;: &amp;quot;quickvaloperpub&amp;quot;,
        &amp;quot;bech32PrefixConsAddr&amp;quot;: &amp;quot;quickvalcons&amp;quot;,
        &amp;quot;bech32PrefixConsPub&amp;quot;: &amp;quot;quickvalconspub&amp;quot;
    },
    &amp;quot;currencies&amp;quot;: [
        {
            &amp;quot;coinDenom&amp;quot;: &amp;quot;uqck&amp;quot;,
            &amp;quot;coinMinimalDenom&amp;quot;: &amp;quot;uqck&amp;quot;,
            &amp;quot;coinDecimals&amp;quot;: 6,
            &amp;quot;coinGeckoId&amp;quot;: &amp;quot;unknown&amp;quot;
        }
    ],
    &amp;quot;feeCurrencies&amp;quot;: [
        {
            &amp;quot;coinDenom&amp;quot;: &amp;quot;uqck&amp;quot;,
            &amp;quot;coinMinimalDenom&amp;quot;: &amp;quot;uqck&amp;quot;,
            &amp;quot;coinDecimals&amp;quot;: 6,
            &amp;quot;coinGeckoId&amp;quot;: &amp;quot;unknown&amp;quot;
        }
    ],
    &amp;quot;stakeCurrency&amp;quot;: {
        &amp;quot;coinDenom&amp;quot;: &amp;quot;uqck&amp;quot;,
        &amp;quot;coinMinimalDenom&amp;quot;: &amp;quot;uqck&amp;quot;,
        &amp;quot;coinDecimals&amp;quot;: 6,
        &amp;quot;coinGeckoId&amp;quot;: &amp;quot;unknown&amp;quot;
    },
    &amp;quot;gasPriceStep&amp;quot;: {
        &amp;quot;low&amp;quot;: 0,
        &amp;quot;average&amp;quot;: 0.025,
        &amp;quot;high&amp;quot;: 0.03
    },
    &amp;quot;features&amp;quot;: []
}&lt;/pre&gt;
  &lt;p id=&quot;btTM&quot;&gt;И добавляем сеть в кеплер:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;xDe0&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/57/fe/57fe7695-344b-4908-9dab-9b9bcd9e5bf4.png&quot; width=&quot;1894&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;vBcM&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/29/3c/293cde38-a40d-4e21-b81a-887cd5d0572b.png&quot; width=&quot;318.31858407079653&quot; /&gt;
    &lt;/figure&gt;
    &lt;p id=&quot;vdHP&quot;&gt;Не апрувим, а нажимаем &lt;strong&gt;Add chain as suggested:&lt;/strong&gt;&lt;/p&gt;
    &lt;figure id=&quot;v6TH&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/cb/c5/cbc5986c-2bcd-4bdf-9dc1-58f149201ba8.png&quot; width=&quot;370.1153504880213&quot; /&gt;
    &lt;/figure&gt;
    &lt;p id=&quot;WraS&quot;&gt;А теперь апрувим. Если добавилась сеть &lt;strong&gt;Quicksilver&lt;/strong&gt;, то удаляем её и начинаем заново процедуру. Нам нужна сеть &lt;strong&gt;quicksilver-m.&lt;/strong&gt;&lt;/p&gt;
    &lt;figure id=&quot;YqAH&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/9d/83/9d8365db-6925-4191-9d10-e7521ea27bae.png&quot; width=&quot;404&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;flEG&quot;&gt;Супер, сеть добавлена. Теперь попробуем заделегировать наши нетрансферабельные токены с &lt;em&gt;0 fees&lt;/em&gt;.&lt;/p&gt;
  &lt;p id=&quot;frrv&quot;&gt;Переходим по &lt;a href=&quot;https://explorer.stavr.tech/quicksilver-mainnet/staking&quot; target=&quot;_blank&quot;&gt;ссылке&lt;/a&gt; и выбираем любого валидатора. Я показывать буду на своём, делегации приветствуются. Нажимаем &lt;strong&gt;Delegate&lt;/strong&gt;:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;CyqO&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/f1/ab/f1ab31ec-ae74-4685-9b93-995f5d9f4a16.png&quot; width=&quot;282.99999999999994&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;AaQf&quot;&gt;Затем коннектим кошелёк:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;CtM5&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/77/17/7717ab62-f90d-479c-a354-2c3e74ab5d06.png&quot; width=&quot;378.44705882352946&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;X2Cu&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/df/97/df97bf3c-1464-46b4-8192-ae3c345d43f7.png&quot; width=&quot;2428&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;IWJN&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/d8/99/d8996568-c183-4c6a-b9ec-55d3a946aa32.png&quot; width=&quot;328&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;D1go&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/fc/ed/fced200c-c209-44dc-8b9c-119f458f1b80.png&quot; width=&quot;2334&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;7ZAX&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/64/df/64dfaa07-c829-458c-a838-46335facec17.png&quot; width=&quot;2418&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;5nD5&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/be/10/be102932-4c62-48fb-a9ce-5498ca6f570c.png&quot; width=&quot;982&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Ozz1&quot;&gt;Отлично, аккаунт добавлен. Теперь нужно вернуться на страницу с кнопкой &lt;strong&gt;Delegate&lt;/strong&gt; и попытаться заделегировать с &lt;em&gt;0 fees&lt;/em&gt;.&lt;/p&gt;
  &lt;p id=&quot;Z6IV&quot;&gt;Обязательно открываем &lt;strong&gt;Advanced&lt;/strong&gt; настройки и выставляем &lt;strong&gt;Fee - 0&lt;/strong&gt;, &lt;strong&gt;Gas - 250k.&lt;/strong&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;caFc&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/0f/56/0f56b8ef-ff67-47d5-bc02-de19a4ce2ed1.png&quot; width=&quot;281&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;DRGm&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/56/71/56712319-9e82-4293-8d00-e1de974d1b12.png&quot; width=&quot;434&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;DbH3&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/e0/78/e078cfff-316d-4da0-a59d-9a3f58e67fd2.png&quot; width=&quot;297.05882352941177&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;HPPc&quot;&gt;&lt;strong&gt;Обязательно&lt;/strong&gt; выбираем &lt;strong&gt;Low&lt;/strong&gt;:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;QX5E&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/0f/12/0f12f68d-8685-4818-a81b-05d789370ca5.png&quot; width=&quot;301&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;Ihcs&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/e5/e0/e5e024c9-19fe-4523-98d9-762d5e144f8d.png&quot; width=&quot;305&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;c5Md&quot;&gt;Возможно, придётся подождать несколько минут, пока транзакция с &lt;em&gt;0 fees&lt;/em&gt; (с меньшим приоритетом) долетит до блокчейна, но в итоге мы лутаем транзакцию с&lt;em&gt; 0 fees&lt;/em&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;ieds&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/a1/86/a186ccb6-91b1-47d6-951c-2dd1991c86c0.png&quot; width=&quot;1706&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;sC41&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;БЛАГОДАРНОСТИ&lt;/strong&gt;&lt;/h3&gt;
  &lt;/section&gt;
  &lt;p id=&quot;amQw&quot;&gt;мамичу за то, что родила такого гения.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;vYNR&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;ПОЛЕЗНЫЕ РЕСУРСЫ&lt;/strong&gt;&lt;/h3&gt;
  &lt;/section&gt;
  &lt;p id=&quot;sU81&quot;&gt;&lt;a href=&quot;https://t.me/how_to_node&quot; target=&quot;_blank&quot;&gt;@how_to_node&lt;/a&gt; - канал, где я выкладываю свои гайды.&lt;/p&gt;
  &lt;p id=&quot;4AAa&quot;&gt;&lt;a href=&quot;/WTF_resources&quot;&gt;Полезные ресурсы&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;S63T&quot;&gt;&lt;a href=&quot;/WTF_donate&quot;&gt;Крипто-кошельки автора гайда&lt;/a&gt;.&lt;/p&gt;

</content></entry><entry><id>cyberomanov:bundlr</id><link rel="alternate" type="text/html" href="https://teletype.in/@cyberomanov/bundlr?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=cyberomanov"></link><title>Bundlr /// Testnet I</title><published>2022-05-10T09:59:03.924Z</published><updated>2022-10-21T10:13:59.005Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/ca/55/ca551f7e-05e5-4ba0-b412-c8f96409baf3.png"></media:thumbnail><category term="actual" label="Actual Events"></category><summary type="html">&lt;img src=&quot;https://miro.medium.com/max/1400/0*sCQrOBvLscvJvCaQ&quot;&gt;Изучаем Bundlr Network, Arweave и участвуем в первом невознаграждаемом тестнете.</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;HIsc&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://miro.medium.com/max/1400/0*sCQrOBvLscvJvCaQ&quot; width=&quot;1400&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;QWwJ&quot;&gt;Изучаем &lt;strong&gt;Bundlr Network, Arweave&lt;/strong&gt; и участвуем в первом&lt;strong&gt; невознаграждаемом &lt;/strong&gt;тестнете&lt;strong&gt;.&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;u7Mi&quot;&gt;Если вы не знаете, &lt;strong&gt;что такое нода&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_node&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;где арендовать сервер для ноды&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_server&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;как подключиться к серверу&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_MobaXterm&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы всё знаете — открываем &lt;strong&gt;MobaXterm &lt;/strong&gt;и создаём сессию.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;hq2j&quot; data-align=&quot;center&quot;&gt;СОДЕРЖАНИЕ&lt;/h3&gt;
  &lt;/section&gt;
  &lt;ul id=&quot;FNwc&quot;&gt;
    &lt;li id=&quot;rTTX&quot;&gt;&lt;a href=&quot;#zuAz&quot;&gt;Описание проекта&lt;/a&gt;:&lt;/li&gt;
    &lt;ul id=&quot;cljH&quot;&gt;
      &lt;li id=&quot;Mtc9&quot;&gt;&lt;a href=&quot;#02d1&quot;&gt;Введение в Bundlr Network&lt;/a&gt;;&lt;/li&gt;
      &lt;li id=&quot;BqJn&quot;&gt;&lt;a href=&quot;#WCDi&quot;&gt;Отличия в методике хранения данных между Arweave, IPFS и AWS&lt;/a&gt;;&lt;/li&gt;
      &lt;li id=&quot;gChN&quot;&gt;&lt;a href=&quot;#P1vY&quot;&gt;Зачем нужен Bundlr и как он работает&lt;/a&gt;;&lt;/li&gt;
      &lt;li id=&quot;zjjs&quot;&gt;&lt;a href=&quot;#wzfn&quot;&gt;Партнёры, бэкеры и активности&lt;/a&gt;.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;RFR5&quot;&gt;&lt;a href=&quot;#EG4a&quot;&gt;Нода&lt;/a&gt;:&lt;/li&gt;
    &lt;ul id=&quot;4phl&quot;&gt;
      &lt;li id=&quot;UQdp&quot;&gt;&lt;a href=&quot;#EG4a&quot;&gt;Установка&lt;/a&gt;;&lt;/li&gt;
      &lt;ul id=&quot;uysw&quot;&gt;
        &lt;li id=&quot;OpTj&quot;&gt;&lt;a href=&quot;#YhWC&quot;&gt;Ванлайнер от AMB&lt;/a&gt;;&lt;/li&gt;
        &lt;li id=&quot;ZGoa&quot;&gt;&lt;a href=&quot;#4VXt&quot;&gt;Ручная установка&lt;/a&gt;.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/ul&gt;
    &lt;ul id=&quot;j9di&quot;&gt;
      &lt;li id=&quot;v40i&quot;&gt;&lt;a href=&quot;#y85F&quot;&gt;Полезные команды при работе с нодой&lt;/a&gt;;&lt;/li&gt;
      &lt;li id=&quot;vKhT&quot;&gt;&lt;a href=&quot;#AAYf&quot;&gt;Обновление&lt;/a&gt;;&lt;/li&gt;
      &lt;li id=&quot;MfmU&quot;&gt;&lt;a href=&quot;#t1T9&quot;&gt;Перенос и бэкап&lt;/a&gt;: пригодится при переезде;&lt;/li&gt;
      &lt;li id=&quot;U0Mx&quot;&gt;&lt;a href=&quot;#zofL&quot;&gt;Удаление ноды&lt;/a&gt;: на будущее.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;QOOQ&quot;&gt;&lt;a href=&quot;#sC41&quot;&gt;Благодарности&lt;/a&gt;.&lt;/li&gt;
    &lt;li id=&quot;YShM&quot;&gt;&lt;a href=&quot;#vYNR&quot;&gt;Полезные ресурсы на каждый день&lt;/a&gt;.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;zuAz&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;ОПИСАНИЕ ПРОЕКТА&lt;/strong&gt;&lt;/h3&gt;
    &lt;p id=&quot;a1rv&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#hq2j&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;02d1&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Введение в Bundlr Network&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;img3&quot;&gt;&lt;strong&gt;Bundlr&lt;/strong&gt; - это layer 2 сеть над &lt;strong&gt;Arweave&lt;/strong&gt;, которая позволяет записывать любые данные в децентрализованное хранилище в тысячи раз быстрее, дешевле и удобнее.&lt;/p&gt;
  &lt;p id=&quot;4c0a&quot;&gt;В текущих реалиях довольно трудно представить себе информацию, которая никогда не была подвержена цензуре, редактированию, забыванию или утере.&lt;/p&gt;
  &lt;p id=&quot;FqHe&quot;&gt;Возможно, вы уже хоронили фотографии и документы, забыв оплатить подписку на облако. Или ваш блог был навсегда заблокирован потому что ваши высказывания шли в разрез с ценностями компании.&lt;/p&gt;
  &lt;p id=&quot;lJGn&quot;&gt;Если вы когда-нибудь сравнивали учебники истории в разных странах, вы знаете, что такое переписывание истории. Прикольно было бы иметь первоисточник - истину в первой инстанции, информацию и сведения, которые невозможно переписать, удалить, скрыть или потерять.&lt;/p&gt;
  &lt;p id=&quot;mTB8&quot;&gt;В коллаборации с &lt;strong&gt;Arweave&lt;/strong&gt;, &lt;strong&gt;Bundlr&lt;/strong&gt; пытается построить удобный и быстрый децентрализованный архив данных, где информация хранится вечно и не может быть отредактирована.&lt;/p&gt;
  &lt;p id=&quot;bT80&quot;&gt;Ключевые особенности в подходе &lt;strong&gt;Bundlr&lt;/strong&gt; к хранению данных:&lt;/p&gt;
  &lt;ul id=&quot;jOfj&quot;&gt;
    &lt;li id=&quot;hxAu&quot;&gt;Данные не хранятся в одном месте, где они подвержены взломам и вредоносным атакам;&lt;/li&gt;
    &lt;li id=&quot;Ppnw&quot;&gt;Данные не принадлежат одному объекту, поэтому нет единого органа, который мог бы изменить данные или заблокировать вам доступ к ним;&lt;/li&gt;
    &lt;li id=&quot;NOHJ&quot;&gt;Данные хранятся вечно, поэтому не могут быть потеряны;&lt;/li&gt;
    &lt;li id=&quot;9gHj&quot;&gt;Данные, загруженные в &lt;strong&gt;Bundlr&lt;/strong&gt;, доступны мгновенно и в любой момент времени;&lt;/li&gt;
    &lt;li id=&quot;1rRs&quot;&gt;Инфраструктура проста и интуитивно понятна в своём использовании;&lt;/li&gt;
    &lt;li id=&quot;zNWw&quot;&gt;&lt;strong&gt;Bundlr&lt;/strong&gt; позволяет оплачивать комиссии за транзакции в &lt;a href=&quot;https://docs.bundlr.network/docs/currencies&quot; target=&quot;_blank&quot;&gt;разных&lt;/a&gt; криптовалютах.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;Njc3&quot;&gt;Решение &lt;strong&gt;Bundlr&lt;/strong&gt; бесконечно масштабируемо и уже поддерживает такие сети, как: &lt;strong&gt;Solana&lt;/strong&gt;, &lt;strong&gt;Ethereum&lt;/strong&gt;, &lt;strong&gt;Polygon&lt;/strong&gt; и &lt;strong&gt;Avalanche&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;5era&quot;&gt;&lt;strong&gt;Bundlr&lt;/strong&gt; создаёт самый безопасный, быстрый, удобный и долговечный способ хранения данных.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;WCDi&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Отличия в методике хранения данных между Arweave, IPFS и AWS.&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;SrwP&quot;&gt;&lt;strong&gt;Amazon Web Services&lt;/strong&gt; (AWS) - облачная платформа, насчитывающая миллионы клиентов, включая самые быстрорастущие стартапы, крупнейшие предприятия и ведущие государственные учреждения.&lt;/p&gt;
  &lt;p id=&quot;A8Ag&quot;&gt;Простыми словами, это &lt;strong&gt;большое централизованное хранилище данных, подверженное постоянным атакам, манипуляциям и утечкам&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;dEsh&quot;&gt;Главная проблема &lt;strong&gt;AWS&lt;/strong&gt; в том, что данные могут быть навсегда потеряны: специально (если не оплачивать подписку) или случайно (в случае выхода оборудования из строя).&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;Mbmy&quot;&gt;&lt;strong&gt;InterPlanetary File System&lt;/strong&gt; (IPFS) - одноранговая &lt;strong&gt;децентрализованная&lt;/strong&gt; файловая система с открытым исходным кодом.&lt;/p&gt;
  &lt;p id=&quot;S0Xi&quot;&gt;Вроде бы всё хорошо: децентрализация и безопасность. Но и такая система не безупречна. &lt;strong&gt;IPFS&lt;/strong&gt; &lt;strong&gt;не хранит информацию вечно&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;470K&quot;&gt;Ноды, хранящие данные, не заинтересованы в вечном хранении данных и в конечном итоге сталкиваются с ограничением в пропускной способности: заканчивается место на жёстком диске. Запускается процесс, так называемый &lt;em&gt;Garbage Collection&lt;/em&gt; (Сборкой Мусора), в процессе которого удаляются данные, которые система считает не такими уж и важными.&lt;/p&gt;
  &lt;p id=&quot;Q6SS&quot;&gt;Один из популярных среди нодраннеров сервисов, использующих и предоставляющих доступ к ETH и IPFS, является &lt;a href=&quot;https://infura.io/&quot; target=&quot;_blank&quot;&gt;Infura&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;EAIz&quot;&gt;Загвоздка в том, что если данные не были использованы в течение 6 месяцев, то данные безвозвратно удаляются системой сборки мусора:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;4j1T&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://miro.medium.com/max/1400/0*j1jqqpeF7ft-f6fe&quot; width=&quot;1400&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;G9sE&quot;&gt;&lt;strong&gt;Arweave&lt;/strong&gt; - &lt;strong&gt;единственное децентрализованное решение для вечного хранения данных.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;koNF&quot;&gt;Суть её в том, что данные не хранятся у одного человека или компании, а распределены по узлам. Это гарантирует безопасность, достоверность и выживаемость данных.&lt;/p&gt;
  &lt;p id=&quot;YG9O&quot;&gt;Когда данные загружаются в &lt;strong&gt;Arweave&lt;/strong&gt;, узлы получают награду за хранение данных, поэтому не возникает риска их утери.&lt;/p&gt;
  &lt;p id=&quot;11Fc&quot;&gt;Поскольку ваши данные хранятся на нескольких узлах, даже если один из узлов будет удален из сети, остальные узлы гарантируют, что ваши данные по-прежнему доступны.&lt;/p&gt;
  &lt;p id=&quot;skvo&quot;&gt;Этот способ так же не бесплатен. Если вы хотите загрузить данные в &lt;strong&gt;Arweave&lt;/strong&gt; и сохранить их навсегда, вам потребуется заплатить комиссию за транзакцию.&lt;/p&gt;
  &lt;p id=&quot;Dq3P&quot;&gt;Комиссия высчитывается по формуле, которую придумали умные люди и описали в &lt;a href=&quot;https://www.arweave.org/yellow-paper.pdf&quot; target=&quot;_blank&quot;&gt;жёлтой бумаге Arweave.&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;ruCo&quot;&gt;Значительную роль играет вес загружаемых данных. Навечно сохранить какую-нибудь статью будет стоить дешевле, чем трёх-часовое интервью моргенштурма у дудя, что, в принципе, логично и обосновано в той самой желтоватой бумаге.&lt;/p&gt;
  &lt;p id=&quot;asrt&quot;&gt;&lt;em&gt;One-time-payment&lt;/em&gt; и ваши данные никогда не будут удалены или утеряны, но всегда будут доступны в любой момент времени.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;P1vY&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Зачем нужен Bundlr и как он работает?&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;zx1F&quot;&gt;&lt;strong&gt;Bundlr&lt;/strong&gt; подключает быструю мультичейновую поддержку &lt;strong&gt;Arweave&lt;/strong&gt;, обеспечивая нативную поддержку в различных блокчейнах.&lt;/p&gt;
  &lt;p id=&quot;t6Wo&quot;&gt;Это позволяет пользователям оплачивать загрузку данных различными токенами, такими как ETH, SOL, MATIC, DOT и многими другими.&lt;/p&gt;
  &lt;p id=&quot;BDos&quot;&gt;Также решение увеличивает скорость загрузки информации в &lt;strong&gt;Arweave&lt;/strong&gt; примерно в 4000 раз, и данные мгновенно становятся доступными для пользователей.&lt;/p&gt;
  &lt;p id=&quot;uJxc&quot;&gt;Уже сейчас &lt;strong&gt;Bundlr&lt;/strong&gt; обрабатывает более 90% всех загрузок данных в &lt;strong&gt;Arweave&lt;/strong&gt;.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;RA8C&quot;&gt;Сеть состоит из:&lt;/p&gt;
  &lt;p id=&quot;3mN6&quot;&gt;- &lt;strong&gt;Bundlers&lt;/strong&gt;: ноды-работяги, которые собирают несколько транзакций на layer 2 в одну большую транзакцию (bundle) и записывают метод оплаты комиссии (SOL, MATIC, BNB и другие);&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;oJQA&quot;&gt;Каждый бандлер обладает запасом токенов &lt;strong&gt;AR&lt;/strong&gt;, чтобы оплачивать комиссию за загрузку данных в &lt;strong&gt;Arweave&lt;/strong&gt; нативным токеном. Но пользователю не обязательно оплачивать комиссию в &lt;strong&gt;AR&lt;/strong&gt;.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;k3SU&quot;&gt;- &lt;strong&gt;Bundles&lt;/strong&gt;: пакеты транзакций на layer 2, которые были собраны бандлером и должны быть отправлены в основную сеть;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Ymns&quot;&gt;Каждый бандл собирается в течение 2 минут, после чего улетает в &lt;strong&gt;Arweave&lt;/strong&gt;.&lt;/p&gt;
    &lt;p id=&quot;zVwY&quot;&gt;Несмотря на то, что бандл собирается в течение некоторого времени после обработки транзакции, данные доступны моментально по причине того, что &lt;strong&gt;Bundlr&lt;/strong&gt; выступает в качестве кэширующего слоя до того времени, как данные запишутся в основную сеть.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;IFKD&quot;&gt;- &lt;strong&gt;Validators&lt;/strong&gt;: ноды-наблюдатели, которые следят за тем, чтобы каждая транзакция из бандла успешно и в срок достигла основной сети;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;SZQr&quot;&gt;После того, как транзакция пользователя была обработана &lt;strong&gt;Bundlr&lt;/strong&gt;&amp;#x27;ером, пользователь получает чек, подписанный тремя валидаторами.&lt;/p&gt;
    &lt;p id=&quot;DOAg&quot;&gt;Чек подтверждает, что данные будут записаны в основную сеть к определённому времени.&lt;/p&gt;
    &lt;p id=&quot;FqU7&quot;&gt;Валидатор получает часть комиссии за то, что подтверждает выполнение транзакции.&lt;/p&gt;
    &lt;p id=&quot;ljqZ&quot;&gt;Хоть чек и подписывается тремя валидаторами, для подтверждения транзакции достаточно согласия одного.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Q1FJ&quot;&gt;- &lt;strong&gt;Gateways&lt;/strong&gt;: ноды-библиотекари, которые присваивают индексы бандлам, чтобы при необходимости быстро получать данные из &lt;strong&gt;Arweave&lt;/strong&gt; блокчейна.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;wzfn&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Партнёры, бэкеры и активности&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Hk6C&quot;&gt;Плотная разработка проекта началась в мае 2021 года в сотрудничестве с &lt;strong&gt;Arweave&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;RGk6&quot;&gt;Менее чем за год &lt;strong&gt;Bundlr&lt;/strong&gt; заключила партнерские отношения с ведущими сетями, такими как &lt;strong&gt;Polygon&lt;/strong&gt;, &lt;strong&gt;Boba Network,&lt;/strong&gt; &lt;strong&gt;Arbitrum, ZKSynk, Avalanche, Ethereum, Binance SC, Polkadot, Solana&lt;/strong&gt;, чтобы предложить разработчикам легкий доступ к &lt;strong&gt;Arweave&lt;/strong&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;VmFO&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://miro.medium.com/max/1400/0*g1CNkFbr4AL-Cg77&quot; width=&quot;1400&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;3Emd&quot;&gt;Проект также сотрудничает с ведущими рынками NFT, такими как &lt;strong&gt;Metaplex&lt;/strong&gt; и &lt;strong&gt;Salsa&lt;/strong&gt;, чтобы они могли хранить важные данные, такие как метаданные NFT, в &lt;strong&gt;Arweave&lt;/strong&gt;, а также с &lt;strong&gt;Ethsign, Mintbase, Olta, FormFunction&lt;/strong&gt; и &lt;strong&gt;KYVE&lt;/strong&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;XNOM&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://miro.medium.com/max/1400/0*ntI_7w-Kf62zPYfF&quot; width=&quot;1400&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;blockquote id=&quot;E3Kn&quot;&gt;&lt;em&gt;“Цель &lt;strong&gt;Bundler&lt;/strong&gt; - реализовать масс-адопшн &lt;strong&gt;Arweave. &lt;/strong&gt;Технология &lt;strong&gt;Arweave&lt;/strong&gt; потрясающая, но ей нужно стать более удобной в использовании. С помощью нашей технологии, мы позволяем этому сбыться. Существует так много возможностей для вечного хранения данных в Web3 и мы воодушевлены помочь росту популярности и доступности &lt;strong&gt;Arweave&lt;/strong&gt;.&amp;quot; &lt;/em&gt;&lt;/blockquote&gt;
  &lt;blockquote id=&quot;T3Xd&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;https://www.linkedin.com/in/josh-benaron/&quot; target=&quot;_blank&quot;&gt;Josh Benaron&lt;/a&gt;, фаундер и CEO &lt;strong&gt;Bundlr Network&lt;/strong&gt;.&lt;/blockquote&gt;
  &lt;p id=&quot;lYys&quot;&gt;Количество данных, загруженных на &lt;strong&gt;Arweave&lt;/strong&gt;, выросло более чем на 450% после запуска &lt;strong&gt;Bundlr Network&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;Euos&quot;&gt;В ходе сида 4 мая собрали $5,200,000 от &lt;strong&gt;Hypersphere Ventures&lt;/strong&gt;, &lt;strong&gt;arweave.org&lt;/strong&gt;, &lt;strong&gt;Permanent Ventures&lt;/strong&gt;, &lt;strong&gt;Framework, OpenSea Ventures&lt;/strong&gt; и &lt;strong&gt;Race Capital&lt;/strong&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;ydQC&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://miro.medium.com/max/1400/0*gGHqS419studXjGG&quot; width=&quot;1400&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;5zzn&quot;&gt;Сейчас проходит девнет, после чего запланирован тестнет и, собственно, инсентив.&lt;/p&gt;
  &lt;p id=&quot;W8nr&quot;&gt;Можно подписаться на все соц. сети и поиграться с &lt;a href=&quot;https://demo.bundlr.network/&quot; target=&quot;_blank&quot;&gt;девнет-веб-интерфейсом&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;jEIb&quot;&gt;Как таковой &amp;quot;ноды&amp;quot; на данный момент нет, но в ближайшем будущем обещают активности.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;9f51&quot; data-align=&quot;center&quot;&gt;&lt;a href=&quot;https://medium.com/bundlr-network&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt; | &lt;a href=&quot;https://docs.bundlr.network/&quot; target=&quot;_blank&quot;&gt;Docs&lt;/a&gt; | &lt;a href=&quot;https://github.com/Bundlr-Network&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt; | &lt;a href=&quot;https://bundlr.network/&quot; target=&quot;_blank&quot;&gt;WebSite&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/BundlrNetwork&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt; | &lt;a href=&quot;https://discord.com/invite/xwsTEZv6DU&quot; target=&quot;_blank&quot;&gt;Discord&lt;/a&gt; | &lt;a href=&quot;https://t.me/bundlr&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt; | &lt;a href=&quot;https://t.me/bundlr_cis&quot; target=&quot;_blank&quot;&gt;Chat_RU&lt;/a&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;EG4a&quot; data-align=&quot;center&quot;&gt;НОДА&lt;/h3&gt;
    &lt;p id=&quot;NGwa&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#hq2j&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;c0pb&quot;&gt;Требования по железу:&lt;/p&gt;
  &lt;p id=&quot;wpVa&quot;&gt;Официальные требования: &lt;strong&gt;4 CPU &lt;/strong&gt;x&lt;strong&gt; 8 GB RAM &lt;/strong&gt;x&lt;strong&gt; 250 GB SSD&lt;/strong&gt; - Ubuntu 20.04.&lt;br /&gt;Субъективные наблюдения: &lt;strong&gt;2 CPU &lt;/strong&gt;x&lt;strong&gt; 4 GB RAM &lt;/strong&gt;x&lt;strong&gt; 250 GB SSD&lt;/strong&gt; - Ubuntu 20.04.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;YhWC&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Ванлайнер от&lt;/strong&gt; &lt;a href=&quot;https://amb.place/&quot; target=&quot;_blank&quot;&gt;AMB.place&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;dJWo&quot;&gt;Для лентяев/опытных пользователей &lt;a href=&quot;https://amb.place/&quot; target=&quot;_blank&quot;&gt;AMB.place&lt;/a&gt; подготовили однострочник. Это &lt;em&gt;bash&lt;/em&gt;-скрипт, который выполняет почти всю установку за вас.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;731q&quot;&gt;При возникновении вопросов, пингуйте &lt;a href=&quot;https://t.me/kallen_cc&quot; target=&quot;_blank&quot;&gt;@kallen_cc&lt;/a&gt; в телеграме.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;shell&quot; id=&quot;uiXj&quot;&gt;# фрилайнер на самом деле
curl -s https://raw.githubusercontent.com/Kallen-c/Bundlr/main/Bundlr.sh &amp;gt; bundlr.sh &amp;amp;&amp;amp; \
chmod +x bundlr.sh &amp;amp;&amp;amp; \
bash bundlr.sh&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;4VXt&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Ручная установка&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;shell&quot; id=&quot;aIVw&quot;&gt;# обновляем &amp;#x27;базу данных&amp;#x27;, обновляем дистрибутив
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&lt;/pre&gt;
  &lt;pre data-lang=&quot;shell&quot; id=&quot;WuNq&quot;&gt;# скачиваем необходимые зависимости одной командой
sudo apt-get install curl wget git jq libpq-dev libssl-dev \
build-essential pkg-config openssl ocl-icd-opencl-dev \
libopencl-clang-dev libgomp1 -y&lt;/pre&gt;
  &lt;pre id=&quot;WuNq&quot; data-lang=&quot;shell&quot;&gt;# устанавливаем &amp;#x27;docker&amp;#x27; и &amp;#x27;docker-compose&amp;#x27; одной командой
. &amp;lt;(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/docker.sh)&lt;/pre&gt;
  &lt;pre id=&quot;WuNq&quot; data-lang=&quot;shell&quot;&gt;# устанавливаем &amp;#x27;rust&amp;#x27; одной командой
curl https://sh.rustup.rs -sSf | sh -s -- -y&lt;/pre&gt;
  &lt;pre id=&quot;WuNq&quot; data-lang=&quot;shell&quot;&gt;# проверяем версию &amp;#x27;cargo&amp;#x27; одной командой
source &amp;quot;$HOME/.cargo/env&amp;quot; &amp;amp;&amp;amp; \
echo -e &amp;quot;\n$(cargo --version).\n&amp;quot;&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;F9z3&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/e7/05/e70518b1-8c7b-46c1-a7a2-f1bdd27e8930.png&quot; width=&quot;786&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;WuNq&quot; data-lang=&quot;shell&quot;&gt;# устанавливаем &amp;#x27;nodejs&amp;#x27; и &amp;#x27;npm&amp;#x27; одной командой
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - &amp;amp;&amp;amp; \
sudo apt-get install nodejs -y &amp;amp;&amp;amp; \
echo -e &amp;quot;\nnodejs &amp;gt; $(node --version).\nnpm  &amp;gt;&amp;gt;&amp;gt; v$(npm --version).\n&amp;quot;&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;D41f&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c1/16/c11689fa-e7e5-44bf-bbf7-ceda60e14e78.png&quot; width=&quot;638&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;WuNq&quot; data-lang=&quot;shell&quot;&gt;# создаём каталог &amp;#x27;bundlr&amp;#x27; и переходим в него одной командой
mkdir $HOME/bundlr; cd $HOME/bundlr&lt;/pre&gt;
  &lt;pre id=&quot;WuNq&quot; data-lang=&quot;shell&quot;&gt;# клонируем репозиторий &amp;#x27;validator-rust&amp;#x27; одной командой
git clone \
--recurse-submodules https://github.com/Bundlr-Network/validator-rust.git&lt;/pre&gt;
  &lt;pre id=&quot;WuNq&quot; data-lang=&quot;shell&quot;&gt;# генерируем &amp;#x27;wallet.json&amp;#x27; одной командой
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
cargo run --bin wallet-tool create &amp;gt; wallet.json&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;1qjF&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/8d/ac/8dac60cc-d002-4dc0-bf94-5c14a18a5d2e.png&quot; width=&quot;1674&quot; /&gt;
    &lt;/figure&gt;
    &lt;p id=&quot;CWHb&quot;&gt;Многочисленные &lt;strong&gt;warning&lt;/strong&gt; - нормально, игнорируем.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;aynX&quot;&gt;Обязательно делаем бэкап сгенерированного кошелька по пути:&lt;/p&gt;
    &lt;p id=&quot;OUEz&quot;&gt;&lt;strong&gt;$HOME/bundlr/validator-rust/wallet.json&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Это не команда для исполнения, а путь к файлу, который нужно скачать с сервера в укромное место.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;WuNq&quot; data-lang=&quot;shell&quot;&gt;# выводим адрес одной командой
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
cargo run --bin wallet-tool show-address \
--wallet wallet.json | jq &amp;quot;.address&amp;quot; | tr -d &amp;#x27;&amp;quot;&amp;#x27;&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;zutW&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/42/7e/427efac5-ca78-40dc-b262-b07911a5aeb3.png&quot; width=&quot;1186&quot; /&gt;
    &lt;/figure&gt;
    &lt;p id=&quot;jGdU&quot;&gt;Предпоследняя строка - ваш адрес. В моём случае: &lt;strong&gt;erjX8M5...FwM&lt;/strong&gt;.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;HPPC&quot;&gt;Переходим на &lt;a href=&quot;https://bundlr.network/faucet&quot; target=&quot;_blank&quot;&gt;страницу с краном&lt;/a&gt; и запрашиваем токены на только что сгенерированный кошелёк.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;2l8W&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/8c/ae/8caed348-569d-462f-bf7d-13086a5bd53c.png&quot; width=&quot;1892&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;xjR4&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/97/1f/971f9268-d6a5-4969-9a65-63ecd91710c0.png&quot; width=&quot;1158&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;vwxb&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/a8/eb/a8eb4066-bb89-4b08-87ea-be27d46032aa.png&quot; width=&quot;1850&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;WrJz&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/2c/02/2c029e01-e94c-4a7f-8cdd-0333feb33318.png&quot; width=&quot;1770&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;CJZl&quot;&gt;Создаём некоторые переменные. &lt;/p&gt;
  &lt;p id=&quot;jRqC&quot;&gt;Первая переменная - порт, на котором будет работать нода. По стандарту - 80-ый, но я укажу кастомный, поскольку дефолтный может быть занят каким-то другим процессом.&lt;/p&gt;
  &lt;pre id=&quot;Lrwk&quot; data-lang=&quot;bash&quot;&gt;# создаём переменную с портом
PORT=2109&lt;/pre&gt;
  &lt;p id=&quot;ZnUg&quot;&gt;Создаём вторую переменную с адресом нашего кошелька (мы генерировали его в прошлом пункте).&lt;/p&gt;
  &lt;pre id=&quot;6bkr&quot; data-lang=&quot;bash&quot;&gt;# создаём переменную с адресом, используйте адрес своего кошелька
# например, ADDRESS=erjX8M5_PUGEOQN0sFY6_cQqLOUl4x7iHEnfXFIyFwM
ADDRESS=erj...FwM&lt;/pre&gt;
  &lt;pre id=&quot;6bkr&quot; data-lang=&quot;bash&quot;&gt;# сохраняем наши переменные
echo &amp;quot;export BUNDLR_PORT=&amp;quot;${PORT}&amp;quot;&amp;quot; &amp;gt;&amp;gt; $HOME/.bash_profile
echo &amp;quot;export BUNDLR_ADDRESS=&amp;quot;${ADDRESS}&amp;quot;&amp;quot; &amp;gt;&amp;gt; $HOME/.bash_profile&lt;/pre&gt;
  &lt;pre id=&quot;6bkr&quot; data-lang=&quot;bash&quot;&gt;# чтобы переменные загрузились, необходимо перезагрузить &amp;#x27;.bash_profile&amp;#x27;
source $HOME/.bash_profile&lt;/pre&gt;
  &lt;pre id=&quot;6bkr&quot; data-lang=&quot;bash&quot;&gt;# проверим значения переменных
echo -e &amp;quot;\nport &amp;gt;&amp;gt;&amp;gt;&amp;gt; ${BUNDLR_PORT}.\naddress &amp;gt; ${BUNDLR_ADDRESS}.\n&amp;quot;&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;mOpS&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/1c/34/1c34e088-a5f5-4fc1-bf14-3b28553d9e62.png&quot; width=&quot;1766&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;xq7u&quot; data-lang=&quot;shell&quot;&gt;# создаём &amp;#x27;.env&amp;#x27; одной командой, ничего не трогая
sudo tee &amp;lt;&amp;lt;EOF &amp;gt;/dev/null $HOME/bundlr/validator-rust/.env
PORT=${BUNDLR_PORT}
VALIDATOR_KEY=./wallet.json
BUNDLER_URL=https://testnet1.bundlr.network
GW_WALLET=./wallet.json
GW_CONTRACT=RkinCLBlY4L5GZFv8gCFcrygTyd5Xm91CzKlR6qxhKA
GW_ARWEAVE=https://arweave.testnet1.bundlr.network
EOF&lt;/pre&gt;
  &lt;pre id=&quot;xq7u&quot; data-lang=&quot;shell&quot;&gt;# проверяем актуальность
cat $HOME/bundlr/validator-rust/.env&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;xgrC&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/9c/12/9c129974-90df-40fc-8246-3928ae53d4c6.png&quot; width=&quot;1586&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;nqXu&quot; data-lang=&quot;bash&quot;&gt;# поднимаем &amp;#x27;docker-compose&amp;#x27; в фоне
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
docker-compose up -d&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;Bsws&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/f6/82/f68244e5-8604-48f9-9486-b63562502ad5.png&quot; width=&quot;2216&quot; /&gt;
    &lt;/figure&gt;
    &lt;p id=&quot;1LMt&quot;&gt;Начинается билд. Он может продлиться 5-30 минут в зависимости от мощностей сервера.&lt;/p&gt;
    &lt;figure id=&quot;GPoX&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/08/e7/08e7865b-c5c0-4e1a-9cbf-6ed380a67db1.png&quot; width=&quot;1660&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;nqXu&quot; data-lang=&quot;bash&quot;&gt;# наблюдаем логи &amp;#x27;docker-compose&amp;#x27; одной командой
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
docker-compose logs -f --tail 10&lt;/pre&gt;
  &lt;p id=&quot;jqq3&quot;&gt;Насколько я понимаю, так выглядят адекватные логи:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;MIUr&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c6/4b/c64ba866-21b0-4472-b91b-410b8a04a16b.png&quot; width=&quot;2984&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;VeKE&quot;&gt;Закрываем логи с помощью &lt;strong&gt;Ctrl + C&lt;/strong&gt; и едем дальше.&lt;/p&gt;
  &lt;pre id=&quot;xq7u&quot; data-lang=&quot;shell&quot;&gt;# билдим &amp;#x27;testnet-cli&amp;#x27; одной командой
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
npm i -g @bundlr-network/testnet-cli&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;RY2d&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c6/b9/c6b900de-71d4-477d-a3b8-f30df03c0960.png&quot; width=&quot;2608&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;6bkr&quot; data-lang=&quot;bash&quot;&gt;# проверяем баланс кошелька одной командой
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
testnet-cli balance ${BUNDLR_ADDRESS}&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;AdSJ&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/9e/16/9e1646b2-4c7f-4074-8068-473a509a9e3c.png&quot; width=&quot;1336&quot; /&gt;
    &lt;/figure&gt;
    &lt;p id=&quot;yzOE&quot;&gt;Баланс в очень много нулей обозначает то, что сейчас вы можете зарегистрировать валидатора.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;FHkN&quot; data-lang=&quot;bash&quot;&gt;# присоединяемся к сети одной командой, ничего не трогая
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
testnet-cli join RkinCLBlY4L5GZFv8gCFcrygTyd5Xm91CzKlR6qxhKA \
-w ./wallet.json \
-u &amp;quot;http://$(wget -qO- eth0.me):${BUNDLR_PORT}&amp;quot; \
-s 25000000000000&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;xfkb&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c6/4a/c64a46e7-0980-44db-8858-d9efcc2b82aa.png&quot; width=&quot;1296&quot; /&gt;
    &lt;/figure&gt;
    &lt;p id=&quot;gPgH&quot;&gt;Теперь снова проверяем баланс и наблюдаем его полное отсутствие, что в очередной раз доказывает нам то, что мы всё сделали правильно:&lt;/p&gt;
    &lt;figure id=&quot;tiqk&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/8b/dc/8bdced65-d49f-45a1-8e1e-b11e4255524a.png&quot; width=&quot;1222&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;LT6H&quot;&gt;Теперь мы можем перейти в &lt;a href=&quot;https://bundlr.network/explorer/Ry2bDGfBIvYtvDPYnf0eg_ijH4A1EDKaaEEecyjbUQ4&quot; target=&quot;_blank&quot;&gt;эксплорер&lt;/a&gt; и найти своего валидатора:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;pbMQ&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/9a/00/9a009fc1-5d7b-494e-8468-d79aa5836780.png&quot; width=&quot;2510&quot; /&gt;
    &lt;/figure&gt;
    &lt;p id=&quot;tdlI&quot;&gt;Есть вероятность, что валидатор появляется в эксплорере в начале следующей эпохи. Каждая эпоха длится примерно 30 минут.&lt;/p&gt;
    &lt;p id=&quot;cKZS&quot;&gt;Возможно, придётся подождать несколько десятков минут перед тем, как валидатор отобразится в эксплорере.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;8u97&quot;&gt;Вот и всё. В ближайших тестнетах подвезут стейкинг и другие тулсы!&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;y85F&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Полезные команды&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;7bMv&quot; data-lang=&quot;bash&quot;&gt;# рестарт докера одной командой
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
docker-compose restart&lt;/pre&gt;
  &lt;pre id=&quot;7bMv&quot; data-lang=&quot;bash&quot;&gt;# остановка докера одной командой
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
docker-compose stop&lt;/pre&gt;
  &lt;pre id=&quot;7bMv&quot; data-lang=&quot;bash&quot;&gt;# запуск докера одной командой
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
docker-compose up -d&lt;/pre&gt;
  &lt;pre id=&quot;7bMv&quot; data-lang=&quot;bash&quot;&gt;# удаление докера одной командой
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
docker-compose down -v&lt;/pre&gt;
  &lt;pre id=&quot;7bMv&quot; data-lang=&quot;bash&quot;&gt;# просмотр логов докера
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
docker-compose logs -f --tail 10&lt;/pre&gt;
  &lt;pre id=&quot;7bMv&quot; data-lang=&quot;bash&quot;&gt;# посмотреть адрес кошелька #1
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
cargo run --bin wallet-tool show-address \
--wallet wallet.json | jq &amp;quot;.address&amp;quot; | tr -d &amp;#x27;&amp;quot;&amp;#x27;&lt;/pre&gt;
  &lt;pre id=&quot;7bMv&quot; data-lang=&quot;bash&quot;&gt;# посмотреть адрес кошелька #2
echo ${BUNDLR_ADDRESS}&lt;/pre&gt;
  &lt;pre id=&quot;7bMv&quot; data-lang=&quot;bash&quot;&gt;# посмотреть баланс кошелька
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
testnet-cli balance ${BUNDLR_ADDRESS}&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;AAYf&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Обновление&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;Vg6r&quot; data-lang=&quot;bash&quot;&gt;# обновляемся одной командой
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
git pull origin master &amp;amp;&amp;amp; \
docker-compose up --build -d&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;t1T9&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Перенос и бэкап&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;uJAm&quot;&gt;Для успешного бэкапа нам необходимо выкачать с сервера файл &lt;strong&gt;wallet.json&lt;/strong&gt;. Для успешного переноса валидатора - просто выполняем установку на новом сервере с нуля, но при этом вместо генерации нового кошелька, подсовываем старый &lt;strong&gt;wallet.json&lt;/strong&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;zofL&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Удаление ноды&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;kqcf&quot; data-lang=&quot;bash&quot;&gt;# останавливаем и удаляем контейнер
cd $HOME/bundlr/validator-rust &amp;amp;&amp;amp; \
docker-compose down -v&lt;/pre&gt;
  &lt;pre id=&quot;kqcf&quot; data-lang=&quot;bash&quot;&gt;# удаляем каталог &amp;#x27;bundlr&amp;#x27;
rm -Rvf $HOME/bundlr&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;sC41&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;БЛАГОДАРНОСТИ&lt;/strong&gt;&lt;/h3&gt;
    &lt;p id=&quot;CWHR&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#hq2j&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;amQw&quot;&gt;мамичу за то, что родила такого гения.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;vYNR&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;ПОЛЕЗНЫЕ РЕСУРСЫ&lt;/strong&gt;&lt;/h3&gt;
    &lt;p id=&quot;elSw&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#hq2j&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;sU81&quot;&gt;&lt;a href=&quot;https://t.me/how_to_node&quot; target=&quot;_blank&quot;&gt;@how_to_node&lt;/a&gt; - канал, где я выкладываю свои гайды.&lt;/p&gt;
  &lt;p id=&quot;4AAa&quot;&gt;&lt;a href=&quot;/WTF_resources&quot;&gt;Полезные ресурсы&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;S63T&quot;&gt;&lt;a href=&quot;/WTF_donate&quot;&gt;Крипто-кошельки автора гайда&lt;/a&gt;.&lt;/p&gt;

</content></entry><entry><id>cyberomanov:subspace</id><link rel="alternate" type="text/html" href="https://teletype.in/@cyberomanov/subspace?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=cyberomanov"></link><title>Subspace /// Gemini-3c</title><published>2022-04-03T13:11:27.116Z</published><updated>2023-03-30T09:10:01.858Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/56/ce/56cebb04-71f2-4e02-a179-9ac95692b471.png"></media:thumbnail><category term="actual" label="Actual Events"></category><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/1d/03/1d03c3bb-8da8-4a6a-bcce-000dd699af80.png&quot;&gt;Устанавливаем фармер Subspace для участия в открытом тесте без наград Gemini-3c.</summary><content type="html">
  &lt;section&gt;
    &lt;figure id=&quot;54D9&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/1d/03/1d03c3bb-8da8-4a6a-bcce-000dd699af80.png&quot; width=&quot;1534&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;tK6V&quot;&gt;Устанавливаем фармер &lt;strong&gt;Subspace&lt;/strong&gt; для участия в открытом тесте без наград &lt;strong&gt;Gemini-3c&lt;/strong&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;wr38&quot;&gt;Если вы не знаете, &lt;strong&gt;что такое нода&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_node&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;где арендовать сервер для ноды&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_server&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;как подключиться к серверу&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_MobaXterm&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы всё знаете — открываем &lt;strong&gt;MobaXterm &lt;/strong&gt;и создаём сессию.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;tXns&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;СОДЕРЖАНИЕ&lt;/strong&gt;&lt;/h3&gt;
  &lt;/section&gt;
  &lt;p id=&quot;D1P6&quot;&gt;&lt;a href=&quot;#jw6A&quot;&gt;Описание проекта&lt;/a&gt;: несколько слов о проекте, условия участия в ивенте.&lt;/p&gt;
  &lt;p id=&quot;oPvA&quot;&gt;&lt;a href=&quot;#b5bO&quot;&gt;Нода&lt;/a&gt;:&lt;/p&gt;
  &lt;ul id=&quot;Bcku&quot;&gt;
    &lt;li id=&quot;DvJK&quot;&gt;&lt;a href=&quot;#sIGZ&quot;&gt;Установка ноды&lt;/a&gt;;&lt;/li&gt;
    &lt;li id=&quot;fB9Z&quot;&gt;&lt;a href=&quot;#EUuF&quot;&gt;Polkadot wallet&lt;/a&gt;;&lt;/li&gt;
    &lt;li id=&quot;1aXa&quot;&gt;&lt;a href=&quot;#3uOB&quot;&gt;Инициализация&lt;/a&gt;;&lt;/li&gt;
    &lt;li id=&quot;zoTA&quot;&gt;&lt;a href=&quot;#mDfs&quot;&gt;Сервисный файл&lt;/a&gt;;&lt;/li&gt;
    &lt;li id=&quot;rrGP&quot;&gt;&lt;a href=&quot;#nhWP&quot;&gt;Телеметрия и TSSC&lt;/a&gt;.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;uAX5&quot;&gt;&lt;a href=&quot;#yRT0&quot;&gt;Полезные вещи&lt;/a&gt;:&lt;/p&gt;
  &lt;ul id=&quot;elMk&quot;&gt;
    &lt;li id=&quot;K5NY&quot;&gt;&lt;a href=&quot;#yRT0&quot;&gt;Полезные команды при работе с нодой&lt;/a&gt;;&lt;/li&gt;
    &lt;li id=&quot;Oaee&quot;&gt;&lt;a href=&quot;#Fenr&quot;&gt;Обновление&lt;/a&gt;;&lt;/li&gt;
    &lt;li id=&quot;fuWc&quot;&gt;&lt;a href=&quot;#1tYC&quot;&gt;Перенос и бэкап&lt;/a&gt;: пригодится при переезде;&lt;/li&gt;
    &lt;li id=&quot;3kgs&quot;&gt;&lt;a href=&quot;#OdyQ&quot;&gt;Удаление ноды&lt;/a&gt;: на будущее.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;4IaS&quot;&gt;&lt;a href=&quot;#sC41&quot;&gt;Благодарности&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;SDnK&quot;&gt;&lt;a href=&quot;#vYNR&quot;&gt;Полезные ресурсы на каждый день&lt;/a&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;jw6A&quot; data-align=&quot;center&quot;&gt;ОПИСАНИЕ ПРОЕКТА&lt;/h3&gt;
    &lt;p id=&quot;Giat&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#tXns&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;SmxC&quot;&gt;&lt;strong&gt;Subspace Network&lt;/strong&gt; - сеть, позволяющая разработчикам очень просто и быстро развёртывать децентрализованные Web3-приложения, которые, в свою очередь, могут автоматически масштабироваться при необходимости.&lt;/p&gt;
  &lt;p id=&quot;GXpC&quot;&gt;Полная интеграция с &lt;strong&gt;Polkadot &amp;amp; Kusama&lt;/strong&gt;, в ближайшем будущем и с &lt;strong&gt;EVM.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;Duee&quot;&gt;&lt;strong&gt;Subspace&lt;/strong&gt; работает на блокчейне первого уровня, созданном для решения таких фундаментальных проблем, как: экология, централизация и отсутствие масштабируемости.&lt;/p&gt;
  &lt;p id=&quot;gRiN&quot;&gt;Эти проблемы позволяет решить свежая реализация &lt;strong&gt;proof-of-capacity&lt;/strong&gt; (PoC). Знакомые нам аналоги на &lt;strong&gt;PoC&lt;/strong&gt;: C&lt;em&gt;hia, Spacemesh, Filecoin.&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;qTi7&quot;&gt;Вводим новое понятие - &lt;strong&gt;дилемма фермера.&lt;/strong&gt; Более подробно почитать о проблеме можно &lt;a href=&quot;https://assets.website-files.com/61526a2af87a54e565b0ae92/617759c00edd0e3bd279aa29_Subspace_%20A%20solution%20to%20the%20farmer%27s%20dilemma.pdf&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt;, но грубый смысл в том, что, невозможно бесконечно хранить бесконечное количество данных. когда-нибудь придётся чем-то пожертвовать: децентрализацией или “качеством” данных.&lt;/p&gt;
  &lt;p id=&quot;v1YD&quot;&gt;&lt;strong&gt;Subspace&lt;/strong&gt; считает, что его аналоги вообще не решают дилемму фермера: кто-то слишком централизован, кто-то не умеет в масштабирование, а кто-то вообще файлкойн.&lt;/p&gt;
  &lt;p id=&quot;Ji0r&quot;&gt;Так как же &lt;strong&gt;Subspace&lt;/strong&gt; решает задачу?&lt;/p&gt;
  &lt;p id=&quot;CHco&quot;&gt;&lt;strong&gt;Subspace&lt;/strong&gt; работает на основе консенсуса &lt;strong&gt;proof-of-archive-storage&lt;/strong&gt; (PoAS) или “доказательство хранения архивной истории блокчейна”.&lt;/p&gt;
  &lt;p id=&quot;HUBL&quot;&gt;&lt;strong&gt;Фермеры&lt;/strong&gt; &lt;strong&gt;сабспейса&lt;/strong&gt; (не майнеры, кстати) &lt;strong&gt;хранят столько уникальных сегментов истории блокчейна, сколько позволяет их дисковое пространство.&lt;/strong&gt; хранят историю коллективно, что позволяет им работать как единый распределенный архивный узел.&lt;/p&gt;
  &lt;p id=&quot;eANO&quot;&gt;Фермеру не обязательно содержать 2 тонны ссд, чтобы хранить всю историю блокчейна. Фермер может хранить лишь сегмент/ы.&lt;/p&gt;
  &lt;p id=&quot;uatp&quot;&gt;Чем больше фермер выделяет пространства, тем больший шанс он имеет быть выбранным для создания блока.&lt;/p&gt;
  &lt;p id=&quot;wI0k&quot;&gt;Работает интересный механизм наград: &lt;em&gt;больше фермеров в сети &amp;gt; дороже транзакция &amp;gt; больше прибыль для фермера. &lt;/em&gt;Обусловлено это тем, что новая информация должна храниться на большем количестве дисков.&lt;/p&gt;
  &lt;p id=&quot;JOUt&quot;&gt;Вводим ещё одно умное словосочетание: &lt;strong&gt;блокчейн-трилемма&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;HDtr&quot;&gt;Это термин, придуманный Виталиком Бутериным для описания задачи создания масштабируемого, децентрализованного и безопасного блокчейна, в котором утверждается, что только две из этих трёх функций могут быть одновременно реализованы.&lt;/p&gt;
  &lt;p id=&quot;hWfp&quot;&gt;&lt;strong&gt;Subspace&lt;/strong&gt; предлагает следующее решение: разделить консенсус и вычисления.&lt;/p&gt;
  &lt;p id=&quot;ZEOo&quot;&gt;Фармер собирает потенциально валидные транзакции в букет и отправляет их на проверку и завершение исполнителю. Исполнители - это отдельный класс узлов, поддерживающий полное состояние блокчейна. Фермер и исполнитель делят награду за обработку транзакции.&lt;/p&gt;
  &lt;p id=&quot;07K6&quot;&gt;Исполнитель выбирается на основе его доли: &lt;em&gt;больше стейк &amp;gt; чаще избирается для завершения блока &amp;gt; больше награда.&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;HMUc&quot;&gt;Каждый может стать фермером и собирать блоки, предоставив своё свободное дисковое пространство. Но для того, чтобы подписывать и завершать их нужно быть выбранным исполнителем.&lt;/p&gt;
  &lt;p id=&quot;aAtp&quot;&gt;&lt;strong&gt;Инвесторы:&lt;/strong&gt; более $37kk от Coinbase, IOSG, Republic, Crypto.com, Alameda, Pantera, Hypersphere, Bixin, Vendetta, NGC, Gate и других.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p data-align=&quot;center&quot; id=&quot;FYQ1&quot;&gt;&lt;a href=&quot;https://medium.com/subspace-network&quot; target=&quot;_blank&quot;&gt;Medium&lt;/a&gt; | &lt;a href=&quot;https://github.com/subspace&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt; | &lt;a href=&quot;https://subspace.network/&quot; target=&quot;_blank&quot;&gt;WebSite&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/NetworkSubspace&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt; | &lt;a href=&quot;https://discord.com/invite/K56A6xrdw9&quot; target=&quot;_blank&quot;&gt;Discord&lt;/a&gt; | &lt;a href=&quot;https://t.me/subspace_network&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt; | &lt;a href=&quot;https://t.me/subspace_cis&quot; target=&quot;_blank&quot;&gt;Ru_Telegram&lt;/a&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;b5bO&quot; data-align=&quot;center&quot;&gt;НОДА&lt;/h3&gt;
    &lt;p id=&quot;Kvi1&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#tXns&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;c0pb&quot;&gt;Требования по железу:&lt;/p&gt;
  &lt;p id=&quot;wpVa&quot;&gt;Официальные требования: &lt;strong&gt;4 CPU &lt;/strong&gt;x&lt;strong&gt; 4 GB RAM &lt;/strong&gt;x&lt;strong&gt; 50 GB SSD&lt;/strong&gt; - Ubuntu 20.04.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;sIGZ&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Установка&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;shell&quot; id=&quot;11B6&quot;&gt;# обновляем &amp;#x27;базу данных&amp;#x27;, обновляем дистрибутив
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&lt;/pre&gt;
  &lt;pre data-lang=&quot;shell&quot; id=&quot;4Nre&quot;&gt;# скачиваем необходимые зависимости одной командой
sudo apt-get install wget jq ocl-icd-opencl-dev \
libopencl-clang-dev libgomp1 ocl-icd-libopencl1 -y&lt;/pre&gt;
  &lt;pre data-lang=&quot;shell&quot; id=&quot;1XCb&quot;&gt;# скачиваем исполняемые файлы и выводим их версии одной командой
mkdir $HOME/subspace &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;amp; \
cd $HOME/subspace &amp;amp;&amp;amp; \
VER=$(wget -qO- https://api.github.com/repos/subspace/subspace-cli/releases | jq &amp;#x27;.[] | select(.prerelease==false) | select(.draft==false) | .html_url&amp;#x27; | grep -Eo &amp;quot;v[0-9]*.[0-9]*.[0-9]*&amp;quot; | head -n 1) &amp;amp;&amp;amp; \
wget https://github.com/subspace/subspace-cli/releases/download/${VER}/subspace-cli-ubuntu-x86_64-v3-${VER} -qO subspace; \
sudo chmod 777 * &amp;amp;&amp;amp; \
if [[ $(./subspace -h) == &amp;quot;&amp;quot; ]]; then
  echo -e &amp;quot;\n\ndat sh*t is broken, ping @cyberomanov.\n\n&amp;quot;
else
  sudo mv * /usr/local/bin/ &amp;amp;&amp;amp; \
  echo -e &amp;quot;\n\nrelease &amp;gt;&amp;gt; ${VER}.\n\n&amp;quot;
fi &amp;amp;&amp;amp; \
cd $HOME &amp;amp;&amp;amp; \
rm -Rvf $HOME/subspace &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;puoz&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/2e/c8/2ec87ecd-2e90-4cb4-891f-eeb1f65133be.png&quot; width=&quot;2592&quot; /&gt;
    &lt;/figure&gt;
    &lt;p id=&quot;oSsR&quot;&gt;Или&lt;/p&gt;
    &lt;figure id=&quot;U6sY&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/01/91/01912331-a227-47be-ba6c-ba992676b52c.png&quot; width=&quot;2598&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;EUuF&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Polkadot wallet&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;bUi2&quot;&gt;Теперь нам нужен кошелёк. Переходим на &lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Feu-0.gemini-3c.subspace.network%2Fws#/accounts&quot; target=&quot;_blank&quot;&gt;дашборд Subspace Gemini 3c&lt;/a&gt; и копируем адрес нашего кошелька. &lt;/p&gt;
  &lt;p id=&quot;A6o0&quot;&gt;Если по каким-то причинам у вас ещё нет кошелька полькусамы, нужно скачать &lt;a href=&quot;https://polkadot.js.org/extension/&quot; target=&quot;_blank&quot;&gt;polkadot.js&lt;/a&gt; расширение и сгенерировать кошелёк там.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;DYuf&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/f4/2d/f42d62ae-d262-43f1-8449-96df4ad5e97c.png&quot; width=&quot;1420&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Wu5G&quot;&gt;На этот адрес мы будем фармить &lt;strong&gt;TSSC&lt;/strong&gt; токены, как доказательство участия в тестнете.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;3uOB&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Инициализация&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;xbPs&quot; data-lang=&quot;bash&quot;&gt;# инициализируемся
subspace init&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;xXJy&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/66/b6/66b6819f-792c-4029-929b-6ee10b813cc0.png&quot; width=&quot;1910&quot; /&gt;
    &lt;/figure&gt;
    &lt;ol id=&quot;gTvV&quot;&gt;
      &lt;li id=&quot;aFyg&quot;&gt;Вводим кошелёк из прошлого пункта;&lt;/li&gt;
      &lt;li id=&quot;IbAG&quot;&gt;Вводим желаемый никнейм;&lt;/li&gt;
      &lt;li id=&quot;D0pF&quot;&gt;Путь к плотам я оставил по дефолту (просто нажать Enter);&lt;/li&gt;
      &lt;li id=&quot;5gap&quot;&gt;Размер плота выставил 100 GB, но это индивидуально;&lt;/li&gt;
      &lt;li id=&quot;5YOQ&quot;&gt;Сеть оставил по дефолту (просто нажать Enter).&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/section&gt;
  &lt;p id=&quot;dbf8&quot;&gt;После данного шага по пути&lt;strong&gt; &lt;em&gt;/root/.config/subspace-cli/settings.toml&lt;/em&gt; &lt;/strong&gt;появится конфигурационный файл, который можно отредактировать ручками, если очень хочется:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;E8Ua&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/70/08/7008ac11-3c21-4dbc-8b82-56fcdf8c6eb6.png&quot; width=&quot;1604&quot; /&gt;
      &lt;figcaption&gt;конфиг может отличаться от версии к версии.&lt;/figcaption&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;mDfs&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Сервисный файл&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;AvbW&quot; data-lang=&quot;bash&quot;&gt;# фиксим журнал
sudo tee &amp;lt;&amp;lt;EOF &amp;gt;/dev/null /etc/systemd/journald.conf
Storage=persistent
EOF&lt;/pre&gt;
  &lt;pre id=&quot;AvbW&quot; data-lang=&quot;bash&quot;&gt;# рестартим журнал
sudo systemctl restart systemd-journald&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;6lsV&quot;&gt;# создаём файл сервиса для запуска ноды
sudo tee &amp;lt;&amp;lt;EOF &amp;gt;/dev/null /etc/systemd/system/subspaced.service
[Unit]
Description=Subspace Node
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=$(which subspace) farm -v
Restart=always
RestartSec=3
LimitNOFILE=1024000
[Install]
WantedBy=multi-user.target
EOF&lt;/pre&gt;
  &lt;pre id=&quot;5Wa9&quot; data-lang=&quot;bash&quot;&gt;# запускаем ноду
sudo systemctl daemon-reload &amp;amp;&amp;amp; \
sudo systemctl enable subspaced &amp;amp;&amp;amp; \
sudo systemctl restart subspaced&lt;/pre&gt;
  &lt;pre id=&quot;ZMTA&quot; data-lang=&quot;bash&quot;&gt;# проверяем логи
sudo journalctl -fu subspaced --no-hostname -o cat&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;nhWP&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;Телеметрия и TSSC&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;QWhS&quot;&gt;За синхронизацией можно следить в прямом эфире с помощью команды:&lt;/p&gt;
  &lt;pre id=&quot;YUyP&quot; data-lang=&quot;bash&quot;&gt;sudo journalctl -fu subspaced -o cat | grep -E &amp;quot;best&amp;quot;&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;6Opo&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/43/b9/43b9fda6-c4b5-464c-a42e-712503d8740c.png&quot; width=&quot;2804&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;9uZo&quot;&gt;Ещё можно наблюдать синхронизацию в &lt;a href=&quot;https://telemetry.subspace.network/#list/0xab946a15b37f59c5f4f27c5de93acde9fe67a28e0b724a43a30e4fe0e87246b7&quot; target=&quot;_blank&quot;&gt;телеметрии&lt;/a&gt;, но она часто отваливается.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;XWDO&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/4e/7d/4e7df19e-141c-4ec2-b2d6-d6aa8216e86d.png&quot; width=&quot;2858&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;i1ZT&quot;&gt; &amp;quot;Идеальную&amp;quot; высоту можно найти в &lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Feu-0.gemini-2a.subspace.network%2Fws#/explorer&quot; target=&quot;_blank&quot;&gt;экслорере&lt;/a&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;mAEz&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c4/9e/c49e97a2-24d2-4ef0-b694-e6b442cd26d7.png&quot; width=&quot;488&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;X4dD&quot;&gt;После завершения синхронизации ноды, фармер начнёт продуцировать блоки и получать за это награду. Если баланс кошелька увеличивается - всё работает отлично.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;3q2f&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/1e/3a/1e3a3302-bfdc-442e-a8d5-e152aaed6622.png&quot; width=&quot;206&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;cHvh&quot;&gt;Вот и всё. Фармим &lt;strong&gt;TSSC&lt;/strong&gt; и ждём окончания &lt;s&gt;инсентивайза&lt;/s&gt; стресс-теста.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;yRT0&quot; data-align=&quot;center&quot;&gt;ПОЛЕЗНЫЕ КОМАНДЫ&lt;/h3&gt;
    &lt;p id=&quot;NpKt&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#tXns&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;ETpn&quot; data-lang=&quot;bash&quot;&gt;# пезапуск фармера и ноды
sudo systemctl restart subspaced&lt;/pre&gt;
  &lt;pre id=&quot;ETpn&quot; data-lang=&quot;bash&quot;&gt;# остановка фармера и ноды
sudo systemctl stop subspaced&lt;/pre&gt;
  &lt;pre id=&quot;7yPu&quot; data-lang=&quot;bash&quot;&gt;# проверяем логи
sudo journalctl -fu subspaced --no-hostname -o cat&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;Fenr&quot; data-align=&quot;center&quot;&gt;ОБНОВЛЕНИЕ&lt;/h3&gt;
    &lt;p id=&quot;nMop&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#tXns&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;txAf&quot; data-lang=&quot;bash&quot;&gt;# останавливаем сервисы ноды и фармера
sudo systemctl stop subspaced&lt;/pre&gt;
  &lt;pre id=&quot;9rvc&quot; data-lang=&quot;bash&quot;&gt;# чистим данные старой сети одной командой
# только, если ушли в форк или хотите начать синхронизацию с нуля
subspace wipe &amp;amp;&amp;amp; rm -Rvf $HOME/.local/share/subspace-cli/node/chains/*&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;imKM&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/ea/03/ea03fd22-8aa2-4236-9330-508fa00aa2ca.png&quot; width=&quot;2142&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Qnfl&quot;&gt;Пробегаемся по &lt;a href=&quot;#b5bO&quot;&gt;установке с самого начала&lt;/a&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;1tYC&quot; data-align=&quot;center&quot;&gt;ПЕРЕНОС И БЭКАП&lt;/h3&gt;
    &lt;p id=&quot;Q7L7&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#tXns&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;KNOT&quot;&gt;Бэкапа, как такового, нет. Просто устанавливаем ноду на новом сервере, указывая старый адрес для фарма. Вот и всё.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;OdyQ&quot; data-align=&quot;center&quot;&gt;УДАЛЕНИЕ&lt;/h3&gt;
    &lt;p id=&quot;VJsH&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#tXns&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;6DCM&quot;&gt;Если вы вдруг разочаровались в проекте и хотите удалить его с сервера, то можно просто разрушить/удалить сервер из личного кабинета хостинга.&lt;/p&gt;
  &lt;p id=&quot;BjUe&quot;&gt;Это сработает, если на сервере нет других важных нод. В случае, если вы хотите оставить сервер, но удалить конкретную ноду - приступаем к её удалению:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;F08X&quot;&gt;# останавливаем и отключаем сервис ноды одной командой
sudo systemctl stop subspaced &amp;amp;&amp;amp; \
sudo systemctl disable subspaced&lt;/pre&gt;
  &lt;pre id=&quot;F08X&quot; data-lang=&quot;bash&quot;&gt;# удаляем остаточные файлы
rm -Rvf $HOME/.local/share/subspace* \
$HOME/.config/subspace* \
/usr/local/bin/subspace&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;3fU9&quot;&gt;# удаляем файл сервиса и перезагружаем демона одной командой
sudo rm -v /etc/systemd/system/subspaced.service &amp;amp;&amp;amp; \
sudo systemctl daemon-reload&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;sC41&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;БЛАГОДАРНОСТИ&lt;/strong&gt;&lt;/h3&gt;
    &lt;p id=&quot;CWHR&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#tXns&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;amQw&quot;&gt;мамичу за то, что родила такого гения.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;vYNR&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;ПОЛЕЗНЫЕ РЕСУРСЫ&lt;/strong&gt;&lt;/h3&gt;
    &lt;p id=&quot;elSw&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#tXns&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;sU81&quot;&gt;&lt;a href=&quot;https://t.me/how_to_node&quot; target=&quot;_blank&quot;&gt;@how_to_node&lt;/a&gt; - канал, где я выкладываю свои гайды.&lt;/p&gt;
  &lt;p id=&quot;4AAa&quot;&gt;&lt;a href=&quot;/WTF_resources&quot;&gt;Полезные ресурсы&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;S63T&quot;&gt;&lt;a href=&quot;/WTF_donate&quot;&gt;Крипто-кошельки автора гайда&lt;/a&gt;.&lt;/p&gt;

</content></entry><entry><id>cyberomanov:pontem</id><link rel="alternate" type="text/html" href="https://teletype.in/@cyberomanov/pontem?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=cyberomanov"></link><title>Pontem /// v1.0</title><published>2021-11-26T07:57:09.024Z</published><updated>2022-05-02T17:25:14.097Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/ec/10/ec103733-dca7-4de8-966b-d28e79df784b.png"></media:thumbnail><category term="ended" label="Ended Events"></category><summary type="html">&lt;img src=&quot;https://assets-global.website-files.com/60c9fb02ebcd0d67d7ca048a/615c72e5b6261a95708196c6_Pontem%20Explainedassetsatlaunch.png&quot;&gt;Устанавливаем ноду Pontem для участия в открытом тесте сети.</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;Epze&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://assets-global.website-files.com/60c9fb02ebcd0d67d7ca048a/615c72e5b6261a95708196c6_Pontem%20Explainedassetsatlaunch.png&quot; width=&quot;1200&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;IDjf&quot;&gt;Устанавливаем ноду &lt;strong&gt;Pontem &lt;/strong&gt;для участия в открытом тесте сети.&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;GZ8m&quot;&gt;Если вы не знаете, &lt;strong&gt;что такое нода&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_node&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;где арендовать сервер для ноды&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_server&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;как подключиться к серверу&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_MobaXterm&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы всё знаете — открываем &lt;strong&gt;MobaXterm &lt;/strong&gt;и создаём сессию.&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;GETY&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6e/b7/6eb72bd2-4a8e-4bdc-bdd4-1714e38ba7b8.png&quot; width=&quot;700&quot; /&gt;
  &lt;/figure&gt;
  &lt;ul id=&quot;Rryf&quot;&gt;
    &lt;li id=&quot;AEgZ&quot;&gt;&lt;a href=&quot;#rzV9&quot;&gt;Описание проекта&lt;/a&gt;: несколько слов о проекте, условия участия в ивенте.&lt;/li&gt;
    &lt;li id=&quot;nLO4&quot;&gt;&lt;a href=&quot;#fOyb&quot;&gt;Требования к железу&lt;/a&gt;: рекомендуемые технические параметры сервера.&lt;/li&gt;
    &lt;li id=&quot;R8R6&quot;&gt;&lt;a href=&quot;#p88m&quot;&gt;Установка&lt;/a&gt;&lt;/li&gt;
    &lt;ul id=&quot;SPTU&quot;&gt;
      &lt;li id=&quot;n504&quot;&gt;&lt;a href=&quot;#p88m&quot;&gt;Кран&lt;/a&gt;: запрашиваем токены для теста;&lt;/li&gt;
      &lt;li id=&quot;Gwoq&quot;&gt;&lt;a href=&quot;#16U3&quot;&gt;Установка&lt;/a&gt;: скачиваем и настраиваем ПО;&lt;/li&gt;
      &lt;li id=&quot;oS0R&quot;&gt;&lt;a href=&quot;#LgRK&quot;&gt;Кошелёк&lt;/a&gt;: регистрируем аккаунт Nimbus;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;ul id=&quot;p6PS&quot;&gt;
      &lt;li id=&quot;TKEK&quot;&gt;&lt;a href=&quot;#LHXC&quot;&gt;Нода&lt;/a&gt;: запускаем ноду в докере;&lt;/li&gt;
      &lt;li id=&quot;ovLf&quot;&gt;&lt;a href=&quot;#jXT0&quot;&gt;Коллатор&lt;/a&gt;: создаём валидатора;&lt;/li&gt;
      &lt;li id=&quot;ySwa&quot;&gt;&lt;a href=&quot;#ztUU&quot;&gt;Номинатор&lt;/a&gt;: делегируем токены коллатору.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;5SiI&quot;&gt;&lt;a href=&quot;#yK3h&quot;&gt;Полезные вещи&lt;/a&gt;&lt;/li&gt;
    &lt;ul id=&quot;elMk&quot;&gt;
      &lt;li id=&quot;K5NY&quot;&gt;&lt;a href=&quot;#yK3h&quot;&gt;Полезные команды при работе с нодой&lt;/a&gt;;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;ul id=&quot;wOHF&quot;&gt;
      &lt;li id=&quot;fuWc&quot;&gt;&lt;a href=&quot;#6Mla&quot;&gt;Перенос и бэкап&lt;/a&gt;: пригодится при переезде;&lt;/li&gt;
      &lt;li id=&quot;3kgs&quot;&gt;&lt;a href=&quot;#fJH9&quot;&gt;Удаление ноды&lt;/a&gt;: на будущее.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;ZNnG&quot;&gt;&lt;a href=&quot;#cFtd&quot;&gt;Благодарности&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;bUoX&quot;&gt;&lt;a href=&quot;#kY7a&quot;&gt;Полезные ресурсы на каждый день&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;rzV9&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/90/d1/90d1989f-13e9-4c6b-84e0-f9216166f5de.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;botY&quot;&gt;&lt;strong&gt;Pontem &lt;/strong&gt;- это мост между регулируемым и нерегулируемым мирами, который позволит обмениваться ценностями между ними.&lt;/p&gt;
  &lt;p id=&quot;YeYg&quot;&gt;Что делает &lt;strong&gt;Pontem&lt;/strong&gt;, так это соединяет &lt;strong&gt;Diem &lt;/strong&gt;(проект, поддерживаемый компанией &lt;strong&gt;Meta&lt;/strong&gt; (в прошлом: &lt;strong&gt;Facebook&lt;/strong&gt;)с 3,1 миллиардом пользователей) и децентрализованный мир, включая традиционные крипторынки.&lt;/p&gt;
  &lt;p id=&quot;zLqi&quot;&gt;Сеть поможет пользователям &lt;strong&gt;Diem &lt;/strong&gt;получить доступ к таким инструментам, как финансы, средства безопасности и даже игры.&lt;/p&gt;
  &lt;p id=&quot;aOYk&quot;&gt;&lt;strong&gt;Pontem &lt;/strong&gt;стремится соединить виртуальную машину &lt;strong&gt;Move&lt;/strong&gt;, язык и сообщество, созданные блокчейн-проектом &lt;strong&gt;Diem &lt;/strong&gt;с &amp;quot;разрешениями&amp;quot; (permissioned) &lt;strong&gt;Facebook&lt;/strong&gt;, с экосистемой блокчейна &amp;quot;без разрешений&amp;quot; (permissionless) через &lt;strong&gt;Polkadot&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;SCEK&quot;&gt;Язык &lt;strong&gt;Move &lt;/strong&gt;и виртуальная машина &lt;strong&gt;Move &lt;/strong&gt;- это безопасные, готовые для использования технологии, которые обеспечивают функциональность блокчейна, такую как платежи и смарт-контракты.&lt;/p&gt;
  &lt;p id=&quot;xMHq&quot;&gt;В отличие от других проектов блокчейна первого уровня, которые сосредоточены на разработке с использованием такого языка, как &lt;strong&gt;Solidity&lt;/strong&gt;, &lt;strong&gt;Pontem &lt;/strong&gt;- первый проект, который привнес технологию &lt;strong&gt;Facebook Move &lt;/strong&gt;в &amp;quot;разрешенную&amp;quot; криптометавселенную, позволяя новым и крипто-нативным проектам создавать, тестировать и развертывать приложения на блокчейне &lt;strong&gt;Diem Facebook&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;tAjL&quot;&gt;&lt;strong&gt;Pontem &lt;/strong&gt;обладает уникальным потенциалом создания инфраструктуры для поддержки миллиардов пользователей, которые впервые в жизни откроют для себя удивительные возможности криптовалюты с помощью финансовых услуг, предоставляемых экосистемой &lt;strong&gt;Diem Facebook&lt;/strong&gt;, но также захотят подключиться к криптовселенной &amp;quot;без разрешений&amp;quot;.&lt;/p&gt;
  &lt;p id=&quot;HocN&quot;&gt;Таким образом, &lt;strong&gt;Pontem &lt;/strong&gt;станет привлекательным вариантом для команд разработчиков, предоставляя им инструменты для создания приложений для большого потока пользователей, привлеченных в криптометавселенную &lt;strong&gt;Facebook &lt;/strong&gt;и ассоциацией &lt;strong&gt;Diem&lt;/strong&gt;, которая будет обеспечивать ценность сети &lt;strong&gt;Pontem&lt;/strong&gt;.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;RWmn&quot;&gt;&lt;strong&gt;Backers&lt;/strong&gt;: Animoca, Delphi, Mechanism, Morningstar, CMS, Alameda, GBIC, Kenetic, Spartan, NGC, Skynet, Momentum6, Genesis Block, AU21, Altonomy, Avalanche, Taureon и ещё около 10 фондов.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;kEnk&quot;&gt;&lt;strong&gt;Pontem &lt;/strong&gt;будет награждать активных валидаторов (коллаторов), а также делегаторов, которые вложили свои монеты в ноды активных коллаторов. &lt;/p&gt;
  &lt;p id=&quot;RK9i&quot;&gt;Если вам интересно стать валитором в основной сети - Kusama, можно заполнить &lt;a href=&quot;https://forms.gle/kG218wjfJAAUguSn6&quot; target=&quot;_blank&quot;&gt;форму интереса&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;TQ9x&quot;&gt;Стать участником тестнета можно двумя способами: &lt;/p&gt;
  &lt;ul id=&quot;Z0J3&quot;&gt;
    &lt;li id=&quot;BmQL&quot;&gt;делегировать токены активным коллаторам и получать тестовые награды (фантики) за делегирование;&lt;/li&gt;
    &lt;li id=&quot;cSo5&quot;&gt;запустить собственного коллатора (валидатора) и получать награды (фантики) за валидирование.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;lgtn&quot;&gt;Можно стать либо номинатором (делегировать через интерфейс), либо быть коллатором (запускать ноду). Одновременно нельзя держать ноду и делегировать кому-то с одного аккаунта.&lt;/p&gt;
  &lt;/section&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;I4iM&quot; data-align=&quot;center&quot;&gt;&lt;a href=&quot;https://pontem.medium.com/&quot; target=&quot;_blank&quot;&gt;Medium&lt;/a&gt; | &lt;a href=&quot;https://docs.pontem.network/02.-getting-started/getting_started&quot; target=&quot;_blank&quot;&gt;Docs&lt;/a&gt; | &lt;a href=&quot;https://github.com/pontem-network&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt; | &lt;a href=&quot;https://pontem.network/&quot; target=&quot;_blank&quot;&gt;WebSite&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/PontemNetwork&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt; | &lt;a href=&quot;https://discord.gg/Pw4T9WbJDt&quot; target=&quot;_blank&quot;&gt;Discord&lt;/a&gt; | &lt;a href=&quot;https://t.me/pontemnetworkchat&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt; | &lt;a href=&quot;https://t.me/pontem_RU&quot; target=&quot;_blank&quot;&gt;RU_Chat&lt;/a&gt;&lt;/p&gt;
  &lt;figure id=&quot;fOyb&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1e/68/1e68921d-fab9-40ff-8b0d-aea35411decd.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;TKmO&quot;&gt;Официальные требования: &lt;strong&gt;4 CPU &lt;/strong&gt;x&lt;strong&gt; 8 GB RAM &lt;/strong&gt;x&lt;strong&gt; 100 GB SSD&lt;/strong&gt; - Ubuntu 20.04.&lt;/p&gt;
  &lt;p id=&quot;MaxK&quot;&gt;Субъективные наблюдения: &lt;strong&gt;2 CPU &lt;/strong&gt;x&lt;strong&gt; 4 GB RAM &lt;/strong&gt;x&lt;strong&gt; 100 GB SSD&lt;/strong&gt; - Ubuntu 20.04.&lt;/p&gt;
  &lt;figure id=&quot;p88m&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/ad/1b/ad1bd431-7d35-4d26-af5d-3386beae0aa8.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;xHjF&quot;&gt;Прежде всего, нам нужно запросить токены. &lt;/p&gt;
  &lt;p id=&quot;taI5&quot;&gt;Для этого переходим на &lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftestnet.pontem.network%2Fws#/accounts&quot; target=&quot;_blank&quot;&gt;страницу дашборда Pontem&lt;/a&gt;. Подключаем расширение &lt;a href=&quot;https://polkadot.js.org/extension/&quot; target=&quot;_blank&quot;&gt;polkadot.js&lt;/a&gt; и копируем свой адрес, на которые хотим запросить токены:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;P5Z4&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/3c/bc/3cbcf8de-346e-4976-86f5-8c4ed2ec2f11.png&quot; width=&quot;493&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;skLG&quot;&gt;После того, как адрес получен - переходим в &lt;a href=&quot;https://t.me/pontem_faucet_bot&quot; target=&quot;_blank&quot;&gt;телеграм бота&lt;/a&gt; и запрашиваем токены:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;YRqV&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/4a/c6/4ac6a576-a6fb-4dc9-8839-2411577dd73b.png&quot; width=&quot;1000&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;PCZg&quot;&gt;На текущий момент, чтобы стать коллатором, нужно 1000 монет. &lt;/p&gt;
    &lt;p id=&quot;7wPC&quot;&gt;Бот выдаёт по 1100 монет.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;CbD8&quot;&gt;Сначала я покажу, как создать собственного коллатора, после чего мы будем делегировать ПОНТы на чужих валидаторов.&lt;/p&gt;
  &lt;figure id=&quot;16U3&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b0/38/b038e266-b2e4-40e4-9776-dc557f1e5f17.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;pre data-lang=&quot;shell&quot; id=&quot;vdnO&quot;&gt;# обновляем &amp;#x27;базу данных&amp;#x27;, обновляем дистрибутив
$ sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&lt;/pre&gt;
  &lt;pre data-lang=&quot;shell&quot; id=&quot;gOaB&quot;&gt;# скачиваем докер одной командой
$ sudo apt-get install curl gnupg apt-transport-https ca-certificates \
lsb-release -y &amp;amp;&amp;amp; curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg &amp;amp;&amp;amp; \
echo &amp;quot;deb [arch=$(dpkg --print-architecture) \
signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&amp;quot; \
| sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null &amp;amp;&amp;amp; \
sudo apt-get update &amp;amp;&amp;amp; \
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
# если не работает команда, гуглите &amp;#x27;how to install docker on ubuntu&amp;#x27;&lt;/pre&gt;
  &lt;pre data-lang=&quot;shell&quot; id=&quot;T8C6&quot;&gt;# скачиваем &amp;#x27;docker-compose&amp;#x27; одной командой
$ sudo curl -L &amp;quot;https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)&amp;quot; -o /usr/local/bin/docker-compose &amp;amp;&amp;amp; \
sudo chmod +x /usr/local/bin/docker-compose &amp;amp;&amp;amp; docker-compose --version&lt;/pre&gt;
  &lt;pre id=&quot;cTFP&quot; data-lang=&quot;bash&quot;&gt;# клонируем репозиторий одной командой
$ git clone https://github.com/pontem-network/bootstrap.git pontem-bootstrap &amp;amp;&amp;amp; \
cd ~/pontem-bootstrap &amp;amp;&amp;amp; cp .env.testnet .env&lt;/pre&gt;
  &lt;pre id=&quot;cTFP&quot; data-lang=&quot;bash&quot;&gt;# вставляем в &amp;#x27;конфиг&amp;#x27; свой никнейм
$ nano ~/pontem-bootstrap/.env&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;Qls0&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/18/b7/18b7aac2-c2cc-4043-a76e-7d40430a829b.png&quot; width=&quot;916&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;cTFP&quot; data-lang=&quot;bash&quot;&gt;# билдим
$ cd ~/pontem-bootstrap &amp;amp;&amp;amp; docker-compose build&lt;/pre&gt;
  &lt;figure id=&quot;LgRK&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f8/68/f868dcce-fcba-478b-bb09-7c6c0e6bf769.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;aUag&quot;&gt;Генерируем новый кошелёк &lt;strong&gt;Nimbus &lt;/strong&gt;и сохраняем весь вывод команды.&lt;/p&gt;
  &lt;pre id=&quot;APpG&quot; data-lang=&quot;bash&quot;&gt;$ cd ~/pontem-bootstrap &amp;amp;&amp;amp; \
docker-compose run pontem-node pontem key generate --scheme sr25519&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;PPoC&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/97/8b/978b39af-8220-48f3-ad59-d52790cbda37.png&quot; width=&quot;1150&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;2gNa&quot;&gt;Теперь привязываем ключи к ноде.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;9wER&quot;&gt;Копируем команду в текстовый редактор, меняем условную переменную &lt;strong&gt;&amp;lt;your_mnemonic&amp;gt; &lt;/strong&gt;на вашу мнемонику из первого пункта.&lt;/p&gt;
    &lt;p id=&quot;D2od&quot;&gt;Затем вставляем команду из редактора в терминал.&lt;/p&gt;
    &lt;p id=&quot;OwJn&quot;&gt;Пример правильно заполненной команды на скриншоте.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;RzpU&quot; data-lang=&quot;bash&quot;&gt;$ cd ~/pontem-bootstrap &amp;amp;&amp;amp; \
docker-compose run pontem-node pontem key insert \
--suri &amp;quot;&amp;lt;your_mnemonic&amp;gt;&amp;quot; --keystore-path /opt/pontem/keys --key-type nmbs&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;yxjw&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/6a/67/6a677c00-0eb5-4787-b592-59556280a482.png&quot; width=&quot;1504&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Qx0N&quot;&gt;Выводим ключи на экран, чтобы сделать бэкап. Сохраняем весь вывод команды.&lt;/p&gt;
  &lt;pre id=&quot;LEox&quot; data-lang=&quot;bash&quot;&gt;$ cd ~/pontem-bootstrap &amp;amp;&amp;amp; \
docker-compose run pontem-node pontem key inspect \
--keystore-path /opt/pontem/keys &amp;quot;&amp;lt;you_mnemonic&amp;gt;&amp;quot;&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;lv9e&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/10/d1/10d166a0-f523-4e36-bbdb-861922c07359.png&quot; width=&quot;1248&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;LHXC&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/08/d6/08d66f31-bf77-42b8-9aa6-981304935d40.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;sAa5&quot;&gt;# запуск &amp;#x27;pontem-node&amp;#x27;
$ cd ~/pontem-bootstrap &amp;amp;&amp;amp; docker-compose up -d&lt;/pre&gt;
  &lt;p id=&quot;iPo3&quot;&gt;Если увидели такую ошибку:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;kQEv&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/a4/1d/a41d4f9e-d2bb-4523-aac2-263efc324496.png&quot; width=&quot;1193&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;XY8s&quot;&gt;Редактируем порты только тогда, когда выбило ошибку. &lt;/p&gt;
    &lt;p id=&quot;tD3v&quot;&gt;Если всё нормально, порты не трогаем!&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;XhWo&quot;&gt;Открываем файл конфига и редактируем порты.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;RtJb&quot;&gt;Дело в том, что у меня уже стоит другой контейнер с другой нодой на данном сервере. &lt;/p&gt;
    &lt;p id=&quot;VKFe&quot;&gt;Так как 2 контейнера не могут использовать одни и те же порты, придётся их развести.&lt;/p&gt;
    &lt;p id=&quot;MGZp&quot;&gt;В моём случае я произвёл следующие замены в файле по пути &lt;strong&gt;$HOME/pontem-bootstrap/docker-compose.yml&lt;/strong&gt;:&lt;/p&gt;
    &lt;ul id=&quot;tR0V&quot;&gt;
      &lt;li id=&quot;kHV0&quot;&gt;9934 &amp;gt; 8934&lt;/li&gt;
      &lt;li id=&quot;rCwj&quot;&gt;9945 &amp;gt; 8945&lt;/li&gt;
      &lt;li id=&quot;TKU5&quot;&gt;30333 &amp;gt; 30833&lt;/li&gt;
      &lt;li id=&quot;xxuS&quot;&gt;30334 &amp;gt; 30834&lt;/li&gt;
      &lt;li id=&quot;5hn1&quot;&gt;9933 &amp;gt; 9833&lt;/li&gt;
      &lt;li id=&quot;84z3&quot;&gt;9944 &amp;gt; 9844&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p id=&quot;iBM8&quot;&gt;По какому принципу я выбирал новые значения? Ни по какому, можно указывать любые свободные порты.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;dUfL&quot; data-lang=&quot;bash&quot;&gt;$ nano $HOME/pontem-bootstrap/docker-compose.yml&lt;/pre&gt;
  &lt;p id=&quot;lNn5&quot;&gt;Теперь контейнер успешно создался.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;a7lS&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/02/f2/02f2fefc-39ab-40d9-9eb8-160f8d92e0ac.png&quot; width=&quot;922&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;wA00&quot;&gt;Посмотрим его логи:&lt;/p&gt;
  &lt;pre id=&quot;dVyJ&quot; data-lang=&quot;bash&quot;&gt;$ cd ~/pontem-bootstrap &amp;amp;&amp;amp; docker-compose logs -f --tail 10&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;OusQ&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/0e/fa/0efac8bc-6652-46dc-92fa-3a4b57b43fa3.png&quot; width=&quot;1158&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;G3Js&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/b1/61/b16131a1-51b2-4253-af24-d144b49139b6.png&quot; width=&quot;2031&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;jtTf&quot;&gt;Узнать последний блок можно в &lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftestnet.pontem.network%2Fws#/explorer&quot; target=&quot;_blank&quot;&gt;эксплорере&lt;/a&gt;:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;LaVu&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/b1/37/b1373b6f-4b9c-4ca2-8eb2-4f52ecb4f8a7.png&quot; width=&quot;617&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;d8z0&quot;&gt;Пример рабочих логов после синхронизации:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;7Qmg&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/4a/ff/4affa9dc-c659-434d-b2ae-b29ad1d12ac5.png&quot; width=&quot;2198&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;8kiR&quot;&gt;Perfect!&lt;/p&gt;
  &lt;figure id=&quot;jXT0&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/84/ee/84ee4728-e5bf-4b42-a8a9-6182a903ef18.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;oeSP&quot;&gt;Можно стать либо номинатором (делегировать через интерфейс), либо быть коллатором (запускать ноду). Одновременно нельзя держать ноду и делегировать кому-то с одного аккаунта.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;zjRD&quot;&gt;Переходим на &lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftestnet.pontem.network%2Fws#/accounts&quot; target=&quot;_blank&quot;&gt;сайт&lt;/a&gt; и теперь будем работаем с дашбордом польки.&lt;/p&gt;
  &lt;p id=&quot;e9B2&quot;&gt;Во вкладке &lt;strong&gt;Developer &lt;/strong&gt;будем использовать следующиеинструменты: &lt;/p&gt;
  &lt;ul id=&quot;Cxoy&quot;&gt;
    &lt;li id=&quot;s5vl&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss://testnet.pontem.network/ws#/extrinsics&quot; target=&quot;_blank&quot;&gt;Extrinsics&lt;/a&gt;&lt;/strong&gt;: здесь будем создавать коллатора, делегировать токены.&lt;/li&gt;
    &lt;li id=&quot;4ffP&quot;&gt;&lt;strong&gt;&lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftestnet.pontem.network%2Fws#/chainstate&quot; target=&quot;_blank&quot;&gt;Chain State&lt;/a&gt;&lt;/strong&gt;: а здесь будем запрашивать данные о блокчейне.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;ePZk&quot;&gt;Первым делом, связываем аккаунт из расширения (я надеюсь, вы уже установили &lt;a href=&quot;https://polkadot.js.org/extension/&quot; target=&quot;_blank&quot;&gt;polkadot.js&lt;/a&gt; и имеете личный кошелёк) и свой публичный ключ.&lt;/p&gt;
  &lt;p id=&quot;0BBp&quot;&gt;Открываем &lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss://testnet.pontem.network/ws#/extrinsics&quot; target=&quot;_blank&quot;&gt;Extrinsics&lt;/a&gt; и выбираем &lt;strong&gt;authorMapping, addAssociation(author_id)&lt;/strong&gt; и вставляем свой публичный ключ, который мы сохраняли раннее, в соответствующее поле.&lt;/p&gt;
  &lt;p id=&quot;uK4J&quot;&gt;Подробнее на скриншоте:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;0VQ8&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/a4/ff/a4ff6cd1-4efc-4625-a4d6-3f567b743fce.png&quot; width=&quot;1240&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;s2Wr&quot;&gt;Подтверждаем транзакцию. С баланса спишется 1 &lt;strong&gt;PONT &lt;/strong&gt;и небольшая комиссия за транзакцию.&lt;/p&gt;
  &lt;p id=&quot;F4My&quot;&gt;Теперь запрашиваем данные об уже созданных коллаторах.&lt;/p&gt;
  &lt;p id=&quot;fgor&quot;&gt;Переходим в &lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftestnet.pontem.network%2Fws#/js&quot; target=&quot;_blank&quot;&gt;JavaScript&lt;/a&gt; и &amp;quot;выполняем&amp;quot; следующий код (предварительно удалив дефолтный, разумеется):&lt;/p&gt;
  &lt;pre id=&quot;1SRX&quot;&gt;const candidatePool = await api.query.parachainStaking.candidatePool();
console.log(&amp;#x60;Candidate pool size is: ${candidatePool.length}&amp;#x60;);&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;42ZU&quot;&gt;Чтобы &amp;quot;выполнить&amp;quot; код, нужно нажать белую стрелочку в фиолетовом круге посередине.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;2XVu&quot;&gt;Вот так должно выглядеть: &lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;coiT&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/6c/3b/6c3ba59d-98e9-4fe0-a01e-7dfb99d5d840.png&quot; width=&quot;1229&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;cMs1&quot;&gt;Запомните своё значение. В моём случае, 20.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;CMX4&quot;&gt;Возвращаемся к &lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss://testnet.pontem.network/ws#/extrinsics&quot; target=&quot;_blank&quot;&gt;Extrinsics&lt;/a&gt; и выбираем &lt;strong&gt;parachainStaking&lt;/strong&gt;, &lt;strong&gt;joinCandidates(bond, candidate_count). &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;M12y&quot;&gt;Вставляем своё значение &lt;strong&gt;PONT&lt;/strong&gt;, которое хотите заделегировать в своего коллатора. Минимум 1000 токенов. &lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Po8c&quot;&gt;1000 токенов = 10000000000000 в формате u64.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;rUBk&quot;&gt;В поле &lt;strong&gt;canditate_count &lt;/strong&gt;вставляем своё значение из прошлого пункта. Для меня это 20.&lt;/p&gt;
  &lt;p id=&quot;XKWX&quot;&gt;Пример на скриншоте. Подписываем транзакцию:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;pRtP&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/4f/ae/4fae5171-9d33-4ae3-89aa-54c21546cb86.png&quot; width=&quot;1713&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;QK8I&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/04/79/047926cb-73f8-412a-a2d4-9cba12ae07c3.png&quot; width=&quot;365&quot; /&gt;
    &lt;/figure&gt;
    &lt;p id=&quot;n2im&quot;&gt;Если встретили эту ошибку, просто увеличьте на 1 своё значение кандидатов. &lt;/p&gt;
    &lt;p id=&quot;zC16&quot;&gt;Между получением значения кандидатов и отправлением транзакции, образуется время, в которое кто-то другой может стать кандидатом. &lt;/p&gt;
    &lt;p id=&quot;3IOc&quot;&gt;Поэтому выбивает ошибку, что слишком маленькое число кандидатов. Просто за это время кандидатов стало больше.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;h8p9&quot;&gt;Как только ваш коллатор окажется в числе первых, вы станете активным и начнёте генерировать блоки и, соответственно, получать реварды.&lt;/p&gt;
  &lt;p id=&quot;0zHC&quot;&gt;Реварды будут начисляться прямо на кошелёк.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;wobT&quot;&gt;Как проверить, всё ли прошло удачно?&lt;/p&gt;
  &lt;p id=&quot;LjFA&quot;&gt;Переходим в &lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftestnet.pontem.network%2Fws#/chainstate&quot; target=&quot;_blank&quot;&gt;Chain State&lt;/a&gt;, выбираем &lt;strong&gt;parachainStaking&lt;/strong&gt;, затем &lt;strong&gt;candidatePool &lt;/strong&gt;(чтобы посмотреть весь список, включая активных и неактивных) или &lt;strong&gt;selectedCandidates &lt;/strong&gt;(чтобы увидеть список только активных коллаторов).&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Xj9f&quot;&gt;Чтобы выполнить запрос нужно нажать белый плюсик в фиолетовом круге.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;hXi4&quot;&gt;Пример на скриншоте:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;evSS&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c5/c9/c5c9c23d-eede-4db9-9d3a-8233d02880af.png&quot; width=&quot;1693&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;hDm0&quot;&gt;Теперь просто ищем свой адрес, с которого отправляли транзакции по созданию коллатора.&lt;/p&gt;
  &lt;p id=&quot;TcEx&quot;&gt;С большим количеством полезных запросов можно ознакомиться в соответствующем разделе &lt;a href=&quot;https://docs.pontem.network/03.-staking/collator&quot; target=&quot;_blank&quot;&gt;официальной документации&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;bc5E&quot;&gt;После того, как вас добавили в активные коллаторы, нода начнёт принимать участие в консесусе. Доказательство тому можно лицезреть в логах контейнера:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;zyDK&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/74/ca/74ca99f5-2630-4f54-93de-c6e0b37d4b8c.png&quot; width=&quot;1280&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;ztUU&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1f/77/1f77fe7e-090f-456f-8c4e-18d558d79103.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;zuXQ&quot;&gt;Можно стать либо номинатором (делегировать через интерфейс), либо быть коллатором (запускать ноду). Одновременно нельзя держать ноду и делегировать кому-то с одного аккаунта.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ONxV&quot;&gt;В этом разделе попробуем делегировать свои токены в уже активного коллатора, чтобы получать награды за делегирование.&lt;/p&gt;
  &lt;p id=&quot;vk0J&quot;&gt;Переходим в &lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftestnet.pontem.network%2Fws#/chainstate&quot; target=&quot;_blank&quot;&gt;Chain State&lt;/a&gt;, выбираем &lt;strong&gt;parachainStaking&lt;/strong&gt;, затем &lt;strong&gt;selectedCandidates &lt;/strong&gt;(чтобы увидеть список только активных коллаторов).&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;25aF&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/bd/29/bd293c2f-fd67-4e6b-b98e-33bb39bf2ccc.png&quot; width=&quot;1701&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;6dsA&quot;&gt;Выбираем любого понравившегося и копируем его адрес.&lt;/p&gt;
  &lt;p id=&quot;nkY0&quot;&gt;Теперь переходим на &lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Ftestnet.pontem.network%2Fws#/js&quot; target=&quot;_blank&quot;&gt;JavaScript&lt;/a&gt; и выполняем следующий код, чтобы получить количество номинаторов у выбранного коллатора:&lt;/p&gt;
  &lt;pre id=&quot;3eUr&quot;&gt;const collatorAccount = &amp;#x27;COLLATOR_ADDRESS&amp;#x27;;
const collatorInfo = await api.query.parachainStaking.collatorState2(collatorAccount);
console.log(&amp;#x27;Nominators count: &amp;#x27; + collatorInfo.toHuman()[&amp;quot;nominators&amp;quot;].length);&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;mNaU&quot;&gt;Вместо &lt;strong&gt;COLLATOR_ADDRESS&lt;/strong&gt; вставляем адрес выбранного нами коллатора.&lt;/p&gt;
    &lt;p id=&quot;55P5&quot;&gt;Пример на скриншоте.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;4aL6&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/4c/b0/4cb01d1f-9357-4ce9-8e9c-751489be70a1.png&quot; width=&quot;1739&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;9diL&quot;&gt;В моём случае, результат: 0.&lt;/p&gt;
  &lt;p id=&quot;DaEs&quot;&gt;На этой же странице выполняем следующий код, чтобы получить количество номинированных нами коллаторов:&lt;/p&gt;
  &lt;pre id=&quot;lyhf&quot;&gt;const yourNominatorAccount = &amp;#x27;YOUR_ADDRESS_HERE&amp;#x27;;
const nominatorInfo = await api.query.parachainStaking.nominatorState2(yourNominatorAccount);
console.log(&amp;#x27;Nominations: &amp;#x27; + nominatorInfo.toHuman()[&amp;quot;nominations&amp;quot;].length);&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Ph2g&quot;&gt;Вместо &lt;strong&gt;YOUR_ADDRESS_HERE&lt;/strong&gt; вставляем свой адрес, с которого хотите номинировать. &lt;/p&gt;
    &lt;p id=&quot;lika&quot;&gt;Пример на скриншоте.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;idvH&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/7c/b0/7cb024e8-7639-4073-8c35-a0b164f3d84e.png&quot; width=&quot;1730&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;jEwI&quot;&gt;Так как я номинирую в первый раз, у меня выбивает ошибку. Это нормально, значит, моё значение: снова 0.&lt;/p&gt;
  &lt;p id=&quot;AHEH&quot;&gt;Теперь приступаем к стейкингу. Переходим к &lt;a href=&quot;https://polkadot.js.org/apps/?rpc=wss://testnet.pontem.network/ws#/extrinsics&quot; target=&quot;_blank&quot;&gt;Extrinsics&lt;/a&gt;, выбираем &lt;strong&gt;parachainStaking &lt;/strong&gt;&amp;gt; &lt;strong&gt;nominate(collator, amount, collatorNominatorCount, nominationCount)&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;oUAI&quot;&gt;В поле &lt;strong&gt;collator &lt;/strong&gt;вставляем адрес выбранного коллатора, в &lt;strong&gt;amount &lt;/strong&gt;- количество &lt;strong&gt;PONT&lt;/strong&gt;, в &lt;strong&gt;collatorNominatorCount &lt;/strong&gt;- результат из первого запроса, в &lt;strong&gt;nominationCount &lt;/strong&gt;- результат из второго запроса.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;66Wc&quot;&gt;100 токенов = 1000000000000 в формате u64.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;VYZy&quot;&gt;Пример на скриншоте:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;eGlo&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/ed/f5/edf59926-842e-4caf-aef3-5163905c651e.png&quot; width=&quot;1718&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;BXVK&quot;&gt;Подписываем транзакцию. Вот и всё.&lt;/p&gt;
  &lt;p id=&quot;tJ2g&quot;&gt;Чтобы застейкать больше или меньше, используем соответствующие запросы:&lt;/p&gt;
  &lt;ul id=&quot;Uueo&quot;&gt;
    &lt;li id=&quot;3KUQ&quot;&gt;nominatorBontMore&lt;/li&gt;
    &lt;li id=&quot;4VSr&quot;&gt;nominatorBondLess&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;Andp&quot;&gt;Чтобы забрать свой стейк у коллатора, выполняем запрос:&lt;/p&gt;
  &lt;ul id=&quot;9pJG&quot;&gt;
    &lt;li id=&quot;39S3&quot;&gt;revokeNomination&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;stake-more-or-less.&quot;&gt;С большим количеством полезных запросов можно ознакомиться в соответствующем разделе &lt;a href=&quot;https://docs.pontem.network/03.-staking/collator&quot; target=&quot;_blank&quot;&gt;официальной документации&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;cfmd&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;yK3h&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/8e/a7/8ea78cb3-b463-402d-a250-61327a36e888.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;4hPB&quot;&gt;# посмотреть логи контейнера
$ cd ~/pontem-bootstrap &amp;amp;&amp;amp; docker-compose logs -f --tail 10&lt;/pre&gt;
  &lt;pre id=&quot;4hPB&quot; data-lang=&quot;bash&quot;&gt;# рестартануть контейнер
$ cd ~/pontem-bootstrap &amp;amp;&amp;amp; docker-compose restart&lt;/pre&gt;
  &lt;pre id=&quot;4hPB&quot; data-lang=&quot;bash&quot;&gt;# стопнуть контейнер
$ cd ~/pontem-bootstrap &amp;amp;&amp;amp; docker-compose stop&lt;/pre&gt;
  &lt;figure id=&quot;6Mla&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/fb/9f/fb9fc170-d5ae-47d9-8296-d5abb2c16625.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;KNOT&quot;&gt;Про перенос я написал &lt;a href=&quot;/moving&quot;&gt;полноценную статью&lt;/a&gt;. Читаем внимательно и вдумчиво.&lt;/p&gt;
  &lt;p id=&quot;UwW1&quot;&gt;Конкретно в случае Pontem, нам нужно удалить текущий контейнер со старого сервера и запустить новый контейнер на тех же ключах, что и старый.&lt;/p&gt;
  &lt;figure id=&quot;fJH9&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a3/be/a3be0848-c9c7-481e-aee1-0bbb8a2d3be2.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;6DCM&quot;&gt;Если вы вдруг разочаровались в проекте и хотите удалить его с сервера, то можно просто разрушить/удалить сервер из личного кабинета хостинга.&lt;/p&gt;
  &lt;p id=&quot;BjUe&quot;&gt;Это сработает, если на сервере нет других важных нод. В случае, если вы хотите оставить сервер, но удалить конкретную ноду - приступаем к её удалению:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;mjqL&quot;&gt;# получаем ID контейнера и отключаем его
$ docker ps
$ docker stop &amp;lt;ID&amp;gt; &amp;amp;&amp;amp; docker rm &amp;lt;ID&amp;gt;&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;fuTD&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/99/28/99289121-0859-47fe-812e-0aa1322bbbad.png&quot; width=&quot;920&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;Jyk3&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/89/5f/895f298b-d6ca-40b3-92d2-8216ee7484e6.png&quot; width=&quot;734&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;QScx&quot;&gt;# получаем ID образа и удаляем образ
$ docker images
$ docker rmi &amp;lt;ID&amp;gt; --force&lt;/pre&gt;
  &lt;section&gt;
    &lt;figure id=&quot;70UA&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/a9/ee/a9ee8984-067f-4980-8800-8e04eb1880dc.png&quot; width=&quot;880&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;hSMd&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/35/44/354483f2-0b4d-4cc6-91da-7881f797c1c6.png&quot; width=&quot;894&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;QjO6&quot;&gt;# удаляем каталог
$ sudo rm -Rvf $HOME/pontem-bootstrap&lt;/pre&gt;
  &lt;figure id=&quot;cFtd&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/86/ef/86ef470d-eaa8-4f3d-a986-4fd888334fb2.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;rjco&quot;&gt;мамичу за то, что родила такого гения.&lt;/p&gt;
  &lt;p id=&quot;4m3t&quot;&gt;&lt;a href=&quot;https://t.me/saltedsanya&quot; target=&quot;_blank&quot;&gt;@saltedsanya&lt;/a&gt; за помощь с гайдом.&lt;/p&gt;
  &lt;figure id=&quot;kY7a&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/80/94/8094f1ca-b7d6-495c-b03f-332d2acbea2f.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;1w0H&quot;&gt;&lt;a href=&quot;https://t.me/how_to_node&quot; target=&quot;_blank&quot;&gt;@how_to_node&lt;/a&gt; - канал, где я выкладываю свои гайды.&lt;/p&gt;
  &lt;p id=&quot;i6bu&quot;&gt;&lt;a href=&quot;/@cyberomanov/WTF_resources&quot;&gt;Полезные ресурсы&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;nR2t&quot;&gt;&lt;a href=&quot;/@cyberomanov/WTF_donate&quot;&gt;Крипто-кошельки автора гайда&lt;/a&gt;.&lt;/p&gt;

</content></entry><entry><id>cyberomanov:gentx</id><link rel="alternate" type="text/html" href="https://teletype.in/@cyberomanov/gentx?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=cyberomanov"></link><title>How To GENTX /// v1.0</title><published>2021-11-17T19:16:06.798Z</published><updated>2023-01-13T14:25:21.501Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/a5/00/a500aa5b-5d3e-49cb-bda2-261f5349f659.png"></media:thumbnail><category term="immortal" label="Immortal Articles"></category><summary type="html">&lt;img src=&quot;https://cs11.pikabu.ru/post_img/2020/04/30/10/1588266690127712315.jpg&quot;&gt;Отправляем gentx на примере Olympus. </summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;euUW&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://cs11.pikabu.ru/post_img/2020/04/30/10/1588266690127712315.jpg&quot; width=&quot;700&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;jVkW&quot;&gt;Отправляем &lt;strong&gt;gentx &lt;/strong&gt;на примере &lt;strong&gt;Olympus&lt;/strong&gt;. &lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;uEa2&quot;&gt;Если вы не знаете, &lt;strong&gt;что такое нода&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_node&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;где арендовать сервер для ноды&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_server&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;как подключиться к серверу&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_MobaXterm&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы всё знаете — открываем &lt;strong&gt;MobaXterm &lt;/strong&gt;и создаём сессию.&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;tBXT&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6e/b7/6eb72bd2-4a8e-4bdc-bdd4-1714e38ba7b8.png&quot; width=&quot;700&quot; /&gt;
  &lt;/figure&gt;
  &lt;ul id=&quot;V0I6&quot;&gt;
    &lt;li id=&quot;GqAg&quot;&gt;&lt;a href=&quot;#lF9O&quot;&gt;Установка&lt;/a&gt;: устанавливаем необходимую ноду.&lt;/li&gt;
    &lt;li id=&quot;Nsba&quot;&gt;&lt;a href=&quot;#RPBG&quot;&gt;Gentx&lt;/a&gt;: создаём &lt;strong&gt;gentx&lt;/strong&gt;.&lt;/li&gt;
    &lt;li id=&quot;XHBK&quot;&gt;&lt;a href=&quot;#FejK&quot;&gt;Github&lt;/a&gt;: отправляем &lt;strong&gt;pull request&lt;/strong&gt;.&lt;/li&gt;
    &lt;li id=&quot;BOqS&quot;&gt;&lt;a href=&quot;#k9CY&quot;&gt;Благодарности&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;xZ7E&quot;&gt;&lt;a href=&quot;#u1jH&quot;&gt;Полезные ресурсы на каждый день&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;lF9O&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b0/38/b038e266-b2e4-40e4-9776-dc557f1e5f17.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;3au6&quot;&gt;Немного подготавливаем сервер. Подразумевается установка на чистый сервер.&lt;/p&gt;
  &lt;pre id=&quot;Qt9b&quot; data-lang=&quot;bash&quot;&gt;# обновляем &amp;#x27;базу данных&amp;#x27;, обновляем дистрибутив 
$ sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&lt;/pre&gt;
  &lt;pre id=&quot;Qt9b&quot; data-lang=&quot;bash&quot;&gt;# устанавливаем необходимые пакеты, если необходимо
$ sudo apt install curl tar wget clang pkg-config libssl-dev \
jq build-essential git make ncdu -y&lt;/pre&gt;
  &lt;pre id=&quot;Qt9b&quot; data-lang=&quot;bash&quot;&gt;# устанавливаем &amp;#x27;go&amp;#x27;, если это необходимо
$ wget https://golang.org/dl/go1.17.2.linux-amd64.tar.gz; \
rm -rv /usr/local/go 2&amp;gt;/dev/null; \
tar -C /usr/local -xzf go1.17.2.linux-amd64.tar.gz &amp;amp;&amp;amp; \
rm -v go1.17.2.linux-amd64.tar.gz &amp;amp;&amp;amp; \
echo &amp;quot;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&amp;quot; \
&amp;gt;&amp;gt; ~/.bash_profile &amp;amp;&amp;amp; \
source ~/.bash_profile &amp;amp;&amp;amp; \
go version&lt;/pre&gt;
  &lt;p id=&quot;KkKs&quot;&gt;Уставляем необходимую нам ноду.&lt;/p&gt;
  &lt;pre id=&quot;Qt9b&quot; data-lang=&quot;bash&quot;&gt;# устанавливаем нужную ноду
$ cd &amp;amp;&amp;amp; \
rm -Rvf $HOME/evmos 2&amp;gt;/dev/null; \
git clone https://github.com/tharsis/evmos.git &amp;amp;&amp;amp; \
cd $HOME/evmos &amp;amp;&amp;amp; \
make install &amp;amp;&amp;amp; \
cd&lt;/pre&gt;
  &lt;pre id=&quot;Qt9b&quot; data-lang=&quot;bash&quot;&gt;# удаляем старый генезис. если нода не &amp;#x27;evmos&amp;#x27; - редактируйте команду
$ rm $HOME/.evmosd/config/genesis.json 2&amp;gt;/dev/null&lt;/pre&gt;
  &lt;pre id=&quot;Qt9b&quot; data-lang=&quot;bash&quot;&gt;# восстанавливаем ключи из прошлого тестнета, либо генерим новые
# БЕЗ &amp;lt; &amp;gt;, ЛАДНО?
$ evmosd keys add &amp;lt;nickname&amp;gt; --recover
$ evmosd keys add &amp;lt;nickname&amp;gt;&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;64FA&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/56/8e/568e6fdc-ab01-4e78-bff0-2f2246701ca5.png&quot; width=&quot;1679&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;RPBG&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b4/d3/b4d334e7-6933-459e-8a31-2eb1e637e705.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Tvqs&quot;&gt;Создаём &lt;strong&gt;gentx&lt;/strong&gt;.&lt;/p&gt;
  &lt;pre id=&quot;Qt9b&quot; data-lang=&quot;bash&quot;&gt;# инициализируем ноду. если нода не &amp;#x27;evmos&amp;#x27; - редактируйте команду
# БЕЗ &amp;lt; &amp;gt;, ЛАДНО?
$ evmosd init &amp;lt;nickname&amp;gt; --chain-id=evmos_9000-2&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;LPHn&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c1/02/c1021d4e-faf2-421e-b0b5-30529cbd70aa.png&quot; width=&quot;2260&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;Qt9b&quot; data-lang=&quot;bash&quot;&gt;# добавляем генезис аккаунт. если нода не &amp;#x27;evmos&amp;#x27; - редактируйте команду
# БЕЗ &amp;lt; &amp;gt;, ЛАДНО?
$ evmosd add-genesis-account \
$(evmosd keys show &amp;lt;nickname&amp;gt; -a) 1000000000000aphoton&lt;/pre&gt;
  &lt;pre id=&quot;Qt9b&quot; data-lang=&quot;bash&quot;&gt;# удаляем возможный старый &amp;#x27;gentx&amp;#x27;
$ rm -Rvf $HOME/.evmosd/config/gentx&lt;/pre&gt;
  &lt;pre id=&quot;Qt9b&quot; data-lang=&quot;bash&quot;&gt;# генерация gentx. если нода не &amp;#x27;evmos&amp;#x27; - редактируйте команду
# БЕЗ &amp;lt; &amp;gt;, ЛАДНО?
$ evmosd gentx &amp;lt;nickname&amp;gt; 1000000000000aphoton \
--commission-rate=0.1 \
--commission-max-rate=1 \
--commission-max-change-rate=0.1 \
--pubkey $(evmosd tendermint show-validator) \
--chain-id=evmos_9000-2&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;IbLZ&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/f3/72/f3725ac9-1d03-4edd-9e13-7a43d499cff9.png&quot; width=&quot;1228&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;950G&quot;&gt;Выводим на экран &lt;strong&gt;gentx&lt;/strong&gt;. Если нода не &lt;strong&gt;evmos &lt;/strong&gt;- редактируем пути под себя.&lt;/p&gt;
  &lt;pre id=&quot;8KP6&quot;&gt;$ cat $HOME/.evmosd/config/gentx/&amp;#x60;ls $HOME/.evmosd/config/gentx/&amp;#x60;&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;MeN8&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/80/66/8066f89a-4b8c-407c-aed1-2bf142ede494.png&quot; width=&quot;2259&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;2kEe&quot;&gt;Копируем и сохраняем в текстовый файл на ПК.&lt;/p&gt;
  &lt;figure id=&quot;FejK&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/de/0c/de0c8aae-a8c8-4b0e-be39-2231856be254.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;cnN1&quot;&gt;Теперь заходим на &lt;a href=&quot;http://github.com&quot; target=&quot;_blank&quot;&gt;гитхаб&lt;/a&gt; и логинимся в аккаунт. &lt;/p&gt;
  &lt;p id=&quot;3Dt7&quot;&gt;Открываем репозиторий нужного нам тестнета и форкаем репозиторий.&lt;/p&gt;
  &lt;p id=&quot;Xiqq&quot;&gt;В моём случае, это эвмос: &lt;a href=&quot;https://github.com/tharsis/testnets&quot; target=&quot;_blank&quot;&gt;https://github.com/tharsis/testnets&lt;/a&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;1H8i&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/12/97/1297b466-a6e8-41ac-abcb-2f96b8ab0dfd.png&quot; width=&quot;1014&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;I5kK&quot;&gt;В открывшемся форке переходим по папкам в нужную нам. Для каждого проекта &amp;quot;нужная папка&amp;quot; уникальна и указана в официальной документации.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;3Cd0&quot;&gt;Под &amp;quot;нужная папка&amp;quot; я подразумеваю папку, куда нужно залить свою &lt;strong&gt;gentx&lt;/strong&gt;.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;QTiQ&quot;&gt;В моём случае, это &lt;strong&gt;testnets-1/olympus_mons/gentxs/:&lt;/strong&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;bcZL&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/a2/e9/a2e9d221-34e6-41ac-80de-68295af7775e.png&quot; width=&quot;1024&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;IetY&quot;&gt;Добавляем новый файл:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;2Ety&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/87/ad/87ad7588-c578-4cf2-91d4-25b8167c71d9.png&quot; width=&quot;1029&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;VVCi&quot;&gt;В названии файла пишем, собственно, название файла.&lt;/p&gt;
  &lt;p id=&quot;ahEP&quot;&gt;Для каждого тестнета требования к названию уникальны. Конкретно в моём случае, я должен назвать файл по следующему примеру: &lt;strong&gt;&amp;lt;moniker&amp;gt;.json&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;jzXA&quot;&gt;Так я и делаю. При создании &lt;strong&gt;gentx &lt;/strong&gt;в терминале я обозвал моникер, как &lt;strong&gt;test&lt;/strong&gt;, название файла указываю соответствующее. Это &lt;strong&gt;важно&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;gElF&quot;&gt;В содержимое файла вставляем последний вывод терминала и название коммита указываем: &lt;strong&gt;ADD &amp;lt;moniker&amp;gt; gentx. &lt;/strong&gt;Выглядеть должно так:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;S4RE&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c8/97/c897f451-424e-4891-b681-3b127cf27e21.png&quot; width=&quot;1041&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;7q5I&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c0/a6/c0a6b5a0-b152-4278-ab0e-f129f3789624.png&quot; width=&quot;1028&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;us6h&quot;&gt;Теперь нажимаем на &amp;quot;&lt;strong&gt;Commit new file&lt;/strong&gt;&amp;quot;. Выглядит это у меня следующим образом. &lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;eImR&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/49/0b/490b3405-7171-4fa7-b889-53515778ab87.png&quot; width=&quot;1031&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;wxdl&quot;&gt;Теперь отправим сам пул реквест: &lt;strong&gt;Contribute &amp;gt; Open pull request:&lt;/strong&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;L6Ie&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/dd/6c/dd6cbcaf-5c32-41ca-8f51-20e9c1d9cff3.png&quot; width=&quot;1024&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;XTtq&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/86/4b/864b459c-5700-40a7-9c28-b7c750a5886a.png&quot; width=&quot;1085&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;0LaZ&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/78/c8/78c8f3e2-10f8-49d0-857f-5567c6b31188.png&quot; width=&quot;1081&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;c7Ef&quot;&gt;Ваш пул должен появиться в главном репозитории, во вкладке &lt;strong&gt;Pull requests&lt;/strong&gt;:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;lVXL&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/d8/47/d8470266-2641-4a57-be57-0a1d5f77ae9c.png&quot; width=&quot;586&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;MjVT&quot;&gt;Вот и всё. Основные моменты описал. &lt;/p&gt;
  &lt;p id=&quot;5SL0&quot;&gt;Если у вас возникают трудности при таких простых манипуляциях - задумайтесь, а оно вам надо? &lt;/p&gt;
  &lt;p id=&quot;x7yZ&quot;&gt;Если надо, тогда долбите. Рано или поздно получится. Главное не сдаваться, если сильно хочется. &lt;/p&gt;
  &lt;p id=&quot;007L&quot;&gt;Взаимодействие с гитхабом очень востребовано. Важно уметь работать с ним.&lt;/p&gt;
  &lt;figure id=&quot;k9CY&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/86/ef/86ef470d-eaa8-4f3d-a986-4fd888334fb2.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;4DJE&quot;&gt;мамичу за то, что родила такого гения.&lt;/p&gt;
  &lt;figure id=&quot;u1jH&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/80/94/8094f1ca-b7d6-495c-b03f-332d2acbea2f.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Cg1O&quot;&gt;&lt;a href=&quot;https://t.me/how_to_node&quot; target=&quot;_blank&quot;&gt;@how_to_node&lt;/a&gt; - канал, где я выкладываю свои гайды.&lt;/p&gt;
  &lt;p id=&quot;602p&quot;&gt;&lt;a href=&quot;https://cyberomanov.tech/WTF_resources&quot; target=&quot;_blank&quot;&gt;Полезные ресурсы&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;GYtw&quot;&gt;&lt;a href=&quot;https://cyberomanov.tech/WTF_donate&quot; target=&quot;_blank&quot;&gt;Крипто-кошельки автора гайда&lt;/a&gt;.&lt;/p&gt;

</content></entry><entry><id>cyberomanov:IDEP</id><link rel="alternate" type="text/html" href="https://teletype.in/@cyberomanov/IDEP?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=cyberomanov"></link><title>IDEP /// v2.0</title><published>2021-10-17T00:59:46.863Z</published><updated>2022-06-28T18:22:21.962Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/02/81/02818d6b-526a-42ab-b991-67c1f07d696a.jpeg"></media:thumbnail><category term="too-late" label="Too Late"></category><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/9d/e8/9de8abf0-3dce-491f-8b3d-bcafca05d40b.png&quot;&gt;Устанавливаем ноду IDEP для участия в SanfordV2.</summary><content type="html">
  &lt;section&gt;
    &lt;figure id=&quot;nPkC&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/9d/e8/9de8abf0-3dce-491f-8b3d-bcafca05d40b.png&quot; width=&quot;1910&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;IDjf&quot;&gt;Устанавливаем ноду &lt;strong&gt;IDEP &lt;/strong&gt;для участия в &lt;strong&gt;SanfordV2&lt;/strong&gt;.&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;GZ8m&quot;&gt;Если вы не знаете, &lt;strong&gt;что такое нода&lt;/strong&gt; — читаем &lt;a href=&quot;/@cyberomanov/WTF_node&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;где арендовать сервер для ноды&lt;/strong&gt; — читаем &lt;a href=&quot;/@cyberomanov/WTF_server&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;как подключиться к серверу&lt;/strong&gt; — читаем &lt;a href=&quot;/@cyberomanov/WTF_MobaXterm&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы всё знаете — открываем &lt;strong&gt;MobaXterm &lt;/strong&gt;и создаём сессию.&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;GETY&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6e/b7/6eb72bd2-4a8e-4bdc-bdd4-1714e38ba7b8.png&quot; width=&quot;700&quot; /&gt;
  &lt;/figure&gt;
  &lt;ul id=&quot;Rryf&quot;&gt;
    &lt;li id=&quot;AEgZ&quot;&gt;&lt;a href=&quot;#qJPJ&quot;&gt;Описание проекта&lt;/a&gt;: несколько слов о проекте, условия участия в ивенте.&lt;/li&gt;
    &lt;li id=&quot;nLO4&quot;&gt;&lt;a href=&quot;#fOyb&quot;&gt;Требования к железу&lt;/a&gt;: рекомендуемые технические параметры сервера.&lt;/li&gt;
    &lt;li id=&quot;R8R6&quot;&gt;&lt;a href=&quot;#r6Rp&quot;&gt;Установка&lt;/a&gt;&lt;/li&gt;
    &lt;ul id=&quot;SPTU&quot;&gt;
      &lt;li id=&quot;n504&quot;&gt;&lt;a href=&quot;#r6Rp&quot;&gt;Нода&lt;/a&gt;: скачиваем и настраиваем ноду;&lt;/li&gt;
      &lt;li id=&quot;oS0R&quot;&gt;&lt;a href=&quot;#fhjO&quot;&gt;Кошелёк&lt;/a&gt;: регистрируем аккаунт;&lt;/li&gt;
      &lt;li id=&quot;C4WE&quot;&gt;&lt;a href=&quot;#vPXj&quot;&gt;Кран&lt;/a&gt;: запрашиваем тестовые токены;&lt;/li&gt;
      &lt;li id=&quot;TKEK&quot;&gt;&lt;a href=&quot;#0DPq&quot;&gt;Валидатор&lt;/a&gt;: создаём валидатора;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;5SiI&quot;&gt;&lt;a href=&quot;#R8n9&quot;&gt;Полезные вещи&lt;/a&gt;&lt;/li&gt;
    &lt;ul id=&quot;elMk&quot;&gt;
      &lt;li id=&quot;K5NY&quot;&gt;&lt;a href=&quot;#R8n9&quot;&gt;Полезные команды&lt;/a&gt; при работе с нодой;&lt;/li&gt;
      &lt;li id=&quot;gjYp&quot;&gt;&lt;a href=&quot;#OeBS&quot;&gt;Ределегация&lt;/a&gt;: выводим реварды за стейкинг и ределегируем их.&lt;/li&gt;
      &lt;li id=&quot;jJSj&quot;&gt;&lt;a href=&quot;#tVcn&quot;&gt;Идентификация&lt;/a&gt;: делаем валидатора уникальным;&lt;/li&gt;
      &lt;li id=&quot;Oaee&quot;&gt;&lt;a href=&quot;#NLRG&quot;&gt;Обновление&lt;/a&gt;;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;ul id=&quot;wOHF&quot;&gt;
      &lt;li id=&quot;fuWc&quot;&gt;&lt;a href=&quot;#6Mla&quot;&gt;Перенос и бэкап&lt;/a&gt;: пригодится при переезде;&lt;/li&gt;
      &lt;li id=&quot;3kgs&quot;&gt;&lt;a href=&quot;#fJH9&quot;&gt;Удаление ноды&lt;/a&gt;: на будущее.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;ZNnG&quot;&gt;&lt;a href=&quot;#cFtd&quot;&gt;Благодарности&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;bUoX&quot;&gt;&lt;a href=&quot;#kY7a&quot;&gt;Полезные ресурсы на каждый день&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;qJPJ&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/19/82/1982211d-2729-405d-9545-1dd5170a5f7c.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;SRUZ&quot;&gt;&lt;strong&gt;IDEP &lt;/strong&gt;- это блокчейн&lt;strong&gt; NFT2.0&lt;/strong&gt;, который фокусируется на децентрализованных цифровых медиа. Он построен с использованием механизма консенсуса &lt;strong&gt;Tendermint &lt;/strong&gt;и &lt;strong&gt;Cosmos SDK&lt;/strong&gt;. &lt;/p&gt;
  &lt;p id=&quot;2CSI&quot;&gt;Основное видение &lt;strong&gt;IDEP &lt;/strong&gt;состоит в том, чтобы стать первой платформой AR  (дополненной реальности) для цифровых медиа глобального масштаба, использующей &lt;strong&gt;PoS Tendermint&lt;/strong&gt;. &lt;/p&gt;
  &lt;p id=&quot;o48E&quot;&gt;Сеть &lt;strong&gt;IDEP &lt;/strong&gt;делает это возможным за счет создания слоя &lt;strong&gt;AR &lt;/strong&gt;на основе геолокации, который легко интегрируется с мобильными устройствами и умными очками. &lt;/p&gt;
  &lt;p id=&quot;rJpW&quot;&gt;&lt;strong&gt;AR IDEP&lt;/strong&gt; - новый стандарт в области дополненной реальности. &lt;/p&gt;
  &lt;p id=&quot;LIY8&quot;&gt;Модули сети &lt;strong&gt;IDEP &lt;/strong&gt;будут иметь полную интеграцию и нативное использование &lt;strong&gt;AR&lt;/strong&gt;. Кроме того, поскольку слой &lt;strong&gt;AR&lt;/strong&gt; настолько тесно интегрирован с сетью, он сможет использоваться остальной частью экосистемы &lt;strong&gt;Cosmos &lt;/strong&gt;и более широким сообществом блокчейнов. &lt;/p&gt;
  &lt;p id=&quot;umL4&quot;&gt;Протокол связи между блокчейнами, &lt;strong&gt;IBC&lt;/strong&gt;, приведет к захватывающему сотрудничеству и примерам использования, основанным на технологии &lt;strong&gt;AR IDEP&lt;/strong&gt;. &lt;/p&gt;
  &lt;p id=&quot;ZM7x&quot;&gt;Сеть &lt;strong&gt;IDEP &lt;/strong&gt;придерживается философии с открытым исходным кодом, приглашая все сообщество &lt;strong&gt;IDEP &lt;/strong&gt;внести свой вклад в развитие сети, создавая самодостаточную децентрализованную платформу.&lt;/p&gt;
  &lt;p id=&quot;fs3L&quot;&gt;&lt;strong&gt;IDEP &lt;/strong&gt;запустится с 3 основными базовыми моделями экосистемы:&lt;/p&gt;
  &lt;ul id=&quot;rekf&quot;&gt;
    &lt;li id=&quot;ztLx&quot;&gt;&lt;em&gt;Uptake&lt;/em&gt;: платформа следующего поколения NFT2.0;&lt;/li&gt;
    &lt;li id=&quot;n6hV&quot;&gt;&lt;em&gt;IDENTITY&lt;/em&gt;: гиперрасширяемый сетевой профиль;&lt;/li&gt;
    &lt;li id=&quot;rlBr&quot;&gt;&lt;em&gt;IDEP-Swap&lt;/em&gt;: рынок цифровых активов. &lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;9PpX&quot;&gt;Сейчас множество блокчейнов являются &amp;quot;общими&amp;quot; сетями, с отсутствием целенаправленности, узкой специализизации. &lt;/p&gt;
  &lt;p id=&quot;DW6B&quot;&gt;&lt;strong&gt;IDEP &lt;/strong&gt;считает это проблемой. Архитектура должна быть адаптирована для создания экосистемы, которая наилучшим образом подходит для развития конкретного сообщества.&lt;/p&gt;
  &lt;p id=&quot;jMUf&quot;&gt;Сеть &lt;strong&gt;IDEP &lt;/strong&gt;является частью &lt;strong&gt;Cosmos&lt;/strong&gt;, что подразумевает нативную поддержку &lt;strong&gt;IBC&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;8Km1&quot;&gt;&lt;strong&gt;IDEP &lt;/strong&gt;полностью интегрировал виртуальную машину &lt;strong&gt;Ethereum &lt;/strong&gt;(&lt;strong&gt;EVM&lt;/strong&gt;) в свою архитектуру. Используя &lt;strong&gt;EVM &lt;/strong&gt;в качестве основы, вся база знаний &lt;strong&gt;Ethereum &lt;/strong&gt;напрямую применима к &lt;strong&gt;IDEP &lt;/strong&gt;- разработчики могут использовать все инструменты, которые уже созданы для экосистемы &lt;strong&gt;Ethereum&lt;/strong&gt;. &lt;/p&gt;
  &lt;p id=&quot;ReJV&quot;&gt;Это позволяет существующим проектам из индустрии &lt;strong&gt;NFT &lt;/strong&gt;и цифровых медиа легко переходить с &lt;strong&gt;Ethereum &lt;/strong&gt;на &lt;strong&gt;IDEP&lt;/strong&gt;, чтобы воспользоваться преимуществами высокой скорости транзакций, безопасности и низких сборов за газ. &lt;/p&gt;
  &lt;p id=&quot;uiJK&quot;&gt;В конечном счете, это позволит проектам сотрудничать с другими проектами, ориентированными на цифровой контент, в одной экосистеме.&lt;/p&gt;
  &lt;p id=&quot;2TY6&quot;&gt;&lt;strong&gt;$IDEP&lt;/strong&gt; - это собственный, нативный токен сети &lt;strong&gt;IDEP&lt;/strong&gt;. Подробная информация о токеномике представлена &lt;a href=&quot;https://medium.com/idep-network/idep-network-tokenomics-c05babc463b7&quot; target=&quot;_blank&quot;&gt;здесь&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;7lN0&quot;&gt;&lt;strong&gt;Roadmap&lt;/strong&gt;:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;ehqJ&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://docs.idep.network/assets/images/roadmap_paper-884d62fd01f109139dc5cd0cd4a055d0.png&quot; width=&quot;1036&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;j0uA&quot;&gt;Текущая фаза тестнета является стимулируемой (оплачиваемой). &lt;/p&gt;
  &lt;p id=&quot;R3eY&quot;&gt;За награды могут бороться только участники дискорда с ролью &lt;strong&gt;Testnet-Sanford&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;090c&quot;&gt;Если у вас нет такой роли - нет смысла ставить ноду.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;I4iM&quot; data-align=&quot;center&quot;&gt;&lt;a href=&quot;https://medium.com/idep-network&quot; target=&quot;_blank&quot;&gt;Medium&lt;/a&gt; | &lt;a href=&quot;https://docs.idep.network/&quot; target=&quot;_blank&quot;&gt;Docs&lt;/a&gt; | &lt;a href=&quot;https://github.com/IDEP-network&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt; | &lt;a href=&quot;https://idep.network/&quot; target=&quot;_blank&quot;&gt;WebSite&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/idepnetwork&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt; | &lt;a href=&quot;https://discord.com/invite/Jrarctk4hG&quot; target=&quot;_blank&quot;&gt;Discord&lt;/a&gt; | &lt;a href=&quot;https://t.me/IDEPNetwork&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt; | &lt;a href=&quot;https://t.me/IDEP_RU&quot; target=&quot;_blank&quot;&gt;RU_Chat&lt;/a&gt;&lt;/p&gt;
  &lt;figure id=&quot;fOyb&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1e/68/1e68921d-fab9-40ff-8b0d-aea35411decd.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;TKmO&quot;&gt;Официальные требования: &lt;strong&gt;4 CPU &lt;/strong&gt;x&lt;strong&gt; 8 GB RAM &lt;/strong&gt;x&lt;strong&gt; 1 TB SSD&lt;/strong&gt; - Ubuntu 20.04.&lt;/p&gt;
  &lt;p id=&quot;MaxK&quot;&gt;Субъективные наблюдения: &lt;strong&gt;2 CPU &lt;/strong&gt;x&lt;strong&gt; 4 GB RAM &lt;/strong&gt;x&lt;strong&gt; 200 GB SSD&lt;/strong&gt; - Ubuntu 20.04.&lt;/p&gt;
  &lt;figure id=&quot;r6Rp&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b0/38/b038e266-b2e4-40e4-9776-dc557f1e5f17.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;pre data-lang=&quot;shell&quot; id=&quot;JhZa&quot;&gt;# обновляем &amp;#x27;базу данных&amp;#x27;, обновляем дистрибутив
$ sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&lt;/pre&gt;
  &lt;pre data-lang=&quot;shell&quot; id=&quot;1U8q&quot;&gt;# скачиваем необходимые зависимости
$ sudo apt-get install git curl build-essential gcc jq -y&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;WgFZ&quot;&gt;# устанавливаем &amp;#x27;go&amp;#x27; одной командой
$ wget https://golang.org/dl/go1.17.5.linux-amd64.tar.gz; \
rm -rv /usr/local/go; \
tar -C /usr/local -xzf go1.17.5.linux-amd64.tar.gz &amp;amp;&amp;amp; \
rm -v go1.17.5.linux-amd64.tar.gz &amp;amp;&amp;amp; \
echo &amp;quot;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&amp;quot; &amp;gt;&amp;gt; ~/.bash_profile &amp;amp;&amp;amp; \
source ~/.bash_profile &amp;amp;&amp;amp; \
go version&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;XeUr&quot;&gt;# клонируем репозиторий
$ git clone https://github.com/IDEP-network/SanfordV2.git &amp;amp;&amp;amp; \
sudo cp SanfordV2/iond /usr/local/bin/&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;h6i1&quot;&gt;# выдаём права на исполнение
$ sudo chmod a+x /usr/local/bin/iond&lt;/pre&gt;
  &lt;pre id=&quot;h6i1&quot; data-lang=&quot;bash&quot;&gt;# устанавливаем &amp;#x27;wasmvm&amp;#x27; одной командой
$ cd &amp;amp;&amp;amp; \
go get -u github.com/CosmWasm/wasmvm@v1.0.0-beta4 &amp;amp;&amp;amp; \
cd $HOME/go/pkg/mod/github.com/\!cosm\!wasm/wasmvm@v1.0.0-beta4/api &amp;amp;&amp;amp; \
chmod +x libwasmvm.so &amp;amp;&amp;amp; \
mv libwasmvm.so /usr/lib/ &amp;amp;&amp;amp; \
cd&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;vZhF&quot;&gt;# проверяем работоспособность
$ iond -h&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;MnoM&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/1b/fd/1bfdc2b0-ea4b-48ec-93fd-f412a67c44ac.png&quot; width=&quot;923&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;m2cZ&quot;&gt;Если всё прошло успешно, тогда переходим к инициализации ноды.&lt;/p&gt;
  &lt;p id=&quot;n6E7&quot;&gt;Первым делом добавим наш никнейм, который будет в дальнейшем использоваться в качестве названия кошелька, в систему, как переменную.&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;zqrW&quot;&gt;Замените условную переменную &lt;strong&gt;&amp;lt;nickname&amp;gt;&lt;/strong&gt; на желаемый никнейм, раскрывая кавычки.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;hFe4&quot;&gt;# например, &amp;quot;export NICKNAME=&amp;quot;cyberomanov&amp;quot;&amp;quot; 
$ echo &amp;quot;export NICKNAME=&amp;quot;&amp;lt;nickname&amp;gt;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bash_profile&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;GMmv&quot;&gt;# чтобы переменная загрузилась, необходимо перезагрузить &amp;#x27;.bash_profile&amp;#x27; 
$ source ~/.bash_profile&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;ouQB&quot;&gt;# проверим значение переменной, выведя её на экран
$ echo $NICKNAME&lt;/pre&gt;
  &lt;section&gt;
    &lt;figure id=&quot;sZsU&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/0a/a1/0aa12a1a-e213-4eb7-a513-c017bc881a85.png&quot; width=&quot;792&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;SGDp&quot;&gt;Инициализируем ноду.&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;ZNQq&quot;&gt;$ rm ~/.ion/config/genesis.json; \
iond init $NICKNAME --chain-id SanfordNetworkV2&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;D2Is&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/12/d3/12d323db-5def-4170-93f2-60805846bcff.png&quot; width=&quot;920&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;sVsE&quot; data-lang=&quot;bash&quot;&gt;# удаляем старый файл генезиса и скачиваем новый одной командой
$ rm $HOME/.ion/config/genesis*; \
wget -O $HOME/.ion/config/genesis.json &amp;quot;https://raw.githubusercontent.com/IDEP-network/SanfordV2/master/genesis.json&amp;quot;&lt;/pre&gt;
  &lt;pre id=&quot;sVsE&quot; data-lang=&quot;bash&quot;&gt;# определяем моникер в файле конфига одной командой
$ sed -i.bak -e &amp;quot;s/^moniker *=.*/moniker = \&amp;quot;$NICKNAME\&amp;quot;/&amp;quot; \
$HOME/.ion/config/config.toml&lt;/pre&gt;
  &lt;pre id=&quot;sVsE&quot; data-lang=&quot;bash&quot;&gt;# добавляем сиды в файл конфига одной командой
$ sed -i.bak -e &amp;quot;s/^seeds *=.*/seeds = \
\&amp;quot;4f32b91384999069bdfdbc82b7725866f1c37cbb@142.93.121.105:26656\&amp;quot;/&amp;quot; \
$HOME/.ion/config/config.toml&lt;/pre&gt;
  &lt;pre id=&quot;sVsE&quot; data-lang=&quot;bash&quot;&gt;# включаем прунинг одной командой
$ pruning=&amp;quot;custom&amp;quot; &amp;amp;&amp;amp; \
pruning_keep_recent=&amp;quot;100&amp;quot; &amp;amp;&amp;amp; \
pruning_keep_every=&amp;quot;5000&amp;quot; &amp;amp;&amp;amp; \
pruning_interval=&amp;quot;10&amp;quot; &amp;amp;&amp;amp; \
sed -i -e &amp;quot;s/^pruning *=.*/pruning = \&amp;quot;$pruning\&amp;quot;/&amp;quot; $HOME/.ion/config/app.toml &amp;amp;&amp;amp; \
sed -i -e &amp;quot;s/^pruning-keep-recent *=.*/pruning-keep-recent = \&amp;quot;$pruning_keep_recent\&amp;quot;/&amp;quot; $HOME/.ion/config/app.toml &amp;amp;&amp;amp; \
sed -i -e &amp;quot;s/^pruning-keep-every *=.*/pruning-keep-every = \&amp;quot;$pruning_keep_every\&amp;quot;/&amp;quot; $HOME/.ion/config/app.toml &amp;amp;&amp;amp; \
sed -i -e &amp;quot;s/^pruning-interval *=.*/pruning-interval = \&amp;quot;$pruning_interval\&amp;quot;/&amp;quot; $HOME/.ion/config/app.toml&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;CVsc&quot;&gt;# создаём файл сервиса для запуска ноды
$ sudo tee &amp;lt;&amp;lt;EOF &amp;gt;/dev/null /etc/systemd/system/iond.service
[Unit]
Description=IDEP
After=network-online.target
[Service]
User=$USER
ExecStart=$(which iond) start
Restart=always
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;z1Tw&quot;&gt;# включаем сервис &amp;#x27;idepd&amp;#x27; одной командой
$ sudo systemctl daemon-reload &amp;amp;&amp;amp; \
sudo systemctl enable iond &amp;amp;&amp;amp; sudo systemctl restart iond&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;6zTV&quot;&gt;# проверяем логи
$ sudo journalctl -u iond -f -o cat&lt;/pre&gt;
  &lt;p id=&quot;CuHC&quot;&gt;Ждём, пока нода найдёт рабочие пиры и начнёт синхронизацию.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;GLX5&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/a0/46/a046e240-84f3-448f-a4d8-1cde64eaf6e2.png&quot; width=&quot;1569&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;GKmq&quot; data-lang=&quot;bash&quot;&gt;# настраиваем сеть и ноду &amp;#x27;по умолчанию&amp;#x27;
$ iond config chain-id SanfordNetworkV2
$ iond config node &amp;#x60;cat &amp;quot;$HOME/.ion/config/config.toml&amp;quot; \
| grep -oPm1 &amp;quot;(?&amp;lt;=^laddr = \&amp;quot;)([^%]+)(?=\&amp;quot;)&amp;quot;&amp;#x60;&lt;/pre&gt;
  &lt;pre id=&quot;5mjA&quot; data-lang=&quot;bash&quot;&gt;# проверяем конфиг
$ iond config&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;1cIe&quot;&gt;# получаем высоту блоков нашей ноды
$ iond status 2&amp;gt;&amp;amp;1 | jq .&amp;quot;SyncInfo&amp;quot;.&amp;quot;latest_block_height&amp;quot;&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;dmKh&quot;&gt;# получаем статус синхронизации ноды
$ iond status 2&amp;gt;&amp;amp;1 | jq .&amp;quot;SyncInfo&amp;quot;.&amp;quot;catching_up&amp;quot;

# &amp;#x27;true&amp;#x27; - нода синхронизируется, &amp;#x27;false&amp;#x27; - нода синхронизирована&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;oDBW&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/b3/9c/b39c9dae-79db-485b-8e20-98fe8316bcb1.png&quot; width=&quot;793&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;fhjO&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f8/68/f868dcce-fcba-478b-bb09-7c6c0e6bf769.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;oTWq&quot;&gt;Создаём новый кошелёк, как просит команда. &lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;XrLb&quot;&gt;Если спросят, перезаписать ли старый кошелёк - удостоверьтесь, что сохранили от него мнемонику.&lt;/p&gt;
    &lt;p id=&quot;Zz3z&quot;&gt;После чего подтверждаем перезапись.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;HZfD&quot;&gt;# выполняем команду создания кошелька
$ iond keys add $NICKNAME

# либо восстанавливаем старый по мнемонике (не рекомендуется)
$ iond keys add $NICKNAME --recover&lt;/pre&gt;
  &lt;section&gt;
    &lt;figure id=&quot;E2Re&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/8d/e8/8de8864c-6a0f-46ef-acc0-e463bf1c14d5.png&quot; width=&quot;917&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section&gt;
    &lt;p id=&quot;ma2b&quot;&gt;Не забываем записать мнемонику - это &lt;strong&gt;единственный&lt;/strong&gt; способ восстановить кошелёк.&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;vPXj&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/ad/1b/ad1bd431-7d35-4d26-af5d-3386beae0aa8.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;lXMX&quot;&gt;Чтобы запросить токены на адрес, необходимо, прежде всего, этот адрес узнать.&lt;/p&gt;
  &lt;p id=&quot;tq12&quot;&gt;Если вы сделали бэкап ключей, как я просил - можете скопировать адрес оттуда.&lt;/p&gt;
  &lt;p id=&quot;MdMm&quot;&gt;Для остальных выполняем команду:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;Qpou&quot;&gt;$ iond keys list&lt;/pre&gt;
  &lt;p id=&quot;9vJZ&quot;&gt;Копируем адрес, вставляем его в дискорд &lt;strong&gt;#confirm-wallet&lt;/strong&gt; и ждём, пока команда начислит токены.&lt;/p&gt;
  &lt;section&gt;
    &lt;figure id=&quot;Spcz&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/39/c0/39c0e9af-8a59-4299-b22d-b53d36d03aa3.png&quot; width=&quot;514&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;oKlQ&quot;&gt;Посмотреть баланс из терминала можно только после полной синхронизации ноды:&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;JhyI&quot;&gt;Замените условную переменную &lt;strong&gt;&amp;lt;address&amp;gt;&lt;/strong&gt; на idepxxx, раскрывая кавычки.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;5oWQ&quot;&gt;# проверяем баланс из командной строки
$ iond query bank balances &amp;lt;address&amp;gt;&lt;/pre&gt;
  &lt;section&gt;
    &lt;figure id=&quot;XxrT&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/2d/6a/2d6aa303-4119-4007-9d01-45623bacbed4.png&quot; width=&quot;921&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;0DPq&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e4/32/e432392d-ec81-4b5b-91d0-4766e424b2b8.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;FgbU&quot;&gt;Отправляем транзакцию создания валидатора после полной синхронизации:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;K2V6&quot;&gt;$ iond tx staking create-validator \
--amount 10000000000idep \
--commission-max-change-rate 0.01 \
--commission-max-rate 0.2 \
--commission-rate 0.1 \
--from &amp;quot;$NICKNAME&amp;quot; \
--min-self-delegation 1 \
--moniker &amp;quot;$NICKNAME&amp;quot; \
--pubkey $(iond tendermint show-validator)&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;6EDI&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/48/f9/48f98659-2b3c-40fe-9142-159891be80e2.png&quot; width=&quot;920&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;nez8&quot;&gt;Посмотрим информацию о валидаторе:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;FAZQ&quot;&gt;$ iond query staking \
validator $(iond keys show $NICKNAME --bech=val -a)&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;y6cC&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/90/fd/90fd26f3-9300-4e48-8f1b-31c04f1c2450.png&quot; width=&quot;754&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;R8n9&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/8e/a7/8ea78cb3-b463-402d-a250-61327a36e888.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;C03z&quot;&gt;Несколько команд для удобной работы с нодой.&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;853H&quot;&gt;# получаем высоту блоков нашей ноды
$ iond status 2&amp;gt;&amp;amp;1 | jq .&amp;quot;SyncInfo&amp;quot;.&amp;quot;latest_block_height&amp;quot;&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;NJOs&quot;&gt;# получаем статус синхронизации ноды
$ iond status 2&amp;gt;&amp;amp;1 | jq .&amp;quot;SyncInfo&amp;quot;.&amp;quot;catching_up&amp;quot;

# &amp;#x27;true&amp;#x27; - нода синхронизируется, &amp;#x27;false&amp;#x27; - нода синхронизирована&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;5uNy&quot;&gt;# посмотреть информацию о валидаторе
$ iond query staking \
validator $(iond keys show $NICKNAME --bech=val -a)&lt;/pre&gt;
  &lt;pre id=&quot;5uNy&quot; data-lang=&quot;bash&quot;&gt;# локальный эксплорер
$ iond q staking validators \
-o json --limit=1000 \
| jq &amp;#x27;.validators[] | select(.status==&amp;quot;BOND_STATUS_BONDED&amp;quot;)&amp;#x27; \
| jq -r &amp;#x27;.tokens + &amp;quot; - &amp;quot; + .description.moniker&amp;#x27; | sort -gr | nl&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;OoTn&quot;&gt;# выйти из &amp;#x27;тюрьмы&amp;#x27;
$ iond tx slashing unjail \
--gas=&amp;quot;auto&amp;quot; \
--gas-prices=&amp;quot;0.5idep&amp;quot; \
--gas-adjustment=1.5 \
--from=$NICKNAME&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;NOI9&quot;&gt;# перезапустить сервис с нодой
$ sudo systemctl restart iond&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;QxJL&quot;&gt;# остановить сервис с нодой
$ sudo systemctl stop iond&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;lVdY&quot;&gt;# проверить логи ноды
$ sudo journalctl -u iond -f -o cat&lt;/pre&gt;
  &lt;figure id=&quot;OeBS&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b1/3a/b13a6b0d-36ee-44b2-bccd-10163f81d7de.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;DUQo&quot;&gt;План работы: выводим реварды за активное валидирование, проверяем баланс, ределегируем собранную награду снова на своего валидатора.&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;Rx2x&quot;&gt;# вывести реварды за стейкинг для последующей ределегации
$ iond tx distribution withdraw-all-rewards -y \
--gas=&amp;quot;auto&amp;quot; \
--gas-adjustment=1.5 \
--gas-prices=&amp;quot;0.5idep&amp;quot; \
--from=$NICKNAME&lt;/pre&gt;
  &lt;section&gt;
    &lt;figure id=&quot;oo5M&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/82/9a/829a7d72-1cbb-4bc4-8427-3cb902919ef2.png&quot; width=&quot;921&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;bhx5&quot;&gt;# проверяем новый баланс на аккаунтах
$ iond query bank balances &amp;lt;address&amp;gt;&lt;/pre&gt;
  &lt;section&gt;
    &lt;p id=&quot;r9dg&quot;&gt;Где &lt;strong&gt;&amp;lt;address&amp;gt; &lt;/strong&gt;- адрес, с которого производилось создание валидатора.&lt;/p&gt;
    &lt;figure id=&quot;XqEH&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/58/af/58af25c2-e76c-447f-b4a5-1d869b8f4105.png&quot; width=&quot;920&quot; /&gt;
    &lt;/figure&gt;
    &lt;p id=&quot;Z0NL&quot;&gt;В &lt;strong&gt;amount &lt;/strong&gt;показывает весь свободный баланс. Не советую делегировать весь баланс, помните, что каждая транзакция имеет комиссию.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;y1KD&quot;&gt;# добавляем свой &amp;#x27;operator-address&amp;#x27; в переменные
$ echo &amp;quot;export OPERATOR=&amp;quot;$(iond query staking \
validator $(iond keys show $NICKNAME --bech=val -a) \
| grep &amp;quot;valoper&amp;quot; | awk &amp;#x27;{print $2}&amp;#x27;)&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bash_profile&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;cquu&quot;&gt;# чтобы переменная загрузилась, необходимо перезагрузить &amp;#x27;.bash_profile&amp;#x27; 
$ source ~/.bash_profile&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;2ltb&quot;&gt;# проверим значение переменной, выведя её на экран
$ echo $OPERATOR&lt;/pre&gt;
  &lt;pre id=&quot;2ltb&quot; data-lang=&quot;bash&quot;&gt;# делегируем токены на своего валидатора
$ iond tx staking delegate $OPERATOR &amp;quot;100000000idep&amp;quot; -y \
--gas=&amp;quot;auto&amp;quot; \
--gas-adjustment=1.5 \
--gas-prices=&amp;quot;0.5idep&amp;quot; \
--from=$NICKNAME&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;QAQV&quot;&gt;&lt;strong&gt;&amp;quot;100000000idep&amp;quot;&lt;/strong&gt; - 1 токен.&lt;br /&gt;Меняем только значение &amp;quot;&lt;strong&gt;100000000idep&lt;/strong&gt;&amp;quot; на своё.&lt;/p&gt;
    &lt;figure id=&quot;p5Tr&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/11/78/1178854f-10b4-4f51-900a-98fe85acc5c5.png&quot; width=&quot;922&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;nez8&quot;&gt;Посмотрим информацию о валидаторе:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;vK1u&quot;&gt;$ iond query staking \
validator $(iond keys show $NICKNAME --bech=val -a)&lt;/pre&gt;
  &lt;section&gt;
    &lt;figure id=&quot;B7yQ&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/ed/cb/edcbfb4b-9327-450d-9cd5-e30ad277d1bd.png&quot; width=&quot;760&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;tVcn&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b7/eb/b7ebf872-8fe4-44b0-a685-e416a514211f.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;5TCq&quot;&gt;Добавим аватар и немного описания нашему валидатору.&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;uBK9&quot;&gt;Советую сначала скопировать команду в блокнот, отредактировать, а затем вставлять в терминал.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;fLn9&quot;&gt;$ iond tx staking edit-validator -y \
--moniker=&amp;quot;new node nickname&amp;quot; \
--website=&amp;quot;https://t.me/nickname&amp;quot; \
--identity=&amp;quot;1A1A2B2B3C3C4D4D&amp;quot; \
--details=&amp;quot;any details&amp;quot; \
--gas=&amp;quot;auto&amp;quot; \
--gas-adjustment=&amp;quot;1.5&amp;quot; \
--gas-prices=&amp;quot;0.5idep&amp;quot; \
--from=$NICKNAME&lt;/pre&gt;
  &lt;section&gt;
    &lt;p id=&quot;w8Uu&quot;&gt;Если вы не знаете, что такое &lt;strong&gt;identity &lt;/strong&gt;и где его получить - посмотрите на &lt;a href=&quot;/@letskynode/OmniFlix#mktv&quot;&gt;пример из статьи @letskynode&lt;/a&gt;.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section&gt;
    &lt;figure id=&quot;3yfq&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/f8/51/f8518781-3368-4e4b-990a-bc715e632daf.png&quot; width=&quot;879&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;c7CL&quot;&gt;На данный момент у блокчейна нет своего эксплорера, обещают добавить в течение ближайших недель. &lt;/p&gt;
  &lt;p id=&quot;w7vk&quot;&gt;Посмотрим информацию о валидаторе:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;o0NA&quot;&gt;$ iond query staking \
validator $(iond keys show $NICKNAME --bech=val -a)&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;CfBH&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/e4/e7/e4e7d6ac-9a49-476d-ab49-6fe51e093ca5.png&quot; width=&quot;766&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;NLRG&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/24/78/24787619-a7d5-479c-992f-276dc5ff2713.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;5KMb&quot;&gt;Первым делом бэкапим файл по пути &lt;strong&gt;~/.ion/config/priv_validator_key.json&lt;/strong&gt; и файлы ключей: &lt;strong&gt;9ef0xxxxxx.address, wallet.info, keyhash&lt;/strong&gt;. На всякий случай.&lt;/p&gt;
  &lt;pre id=&quot;aDVC&quot; data-lang=&quot;bash&quot;&gt;# удаляем мусор
$ sudo systemctl stop iond &amp;amp;&amp;amp; \
iond unsafe-reset-all &amp;amp;&amp;amp; \
rm -Rvf ~/testnet-binaries/ ~/incentivized-testnet/&lt;/pre&gt;
  &lt;p id=&quot;cHUa&quot;&gt;И начинаем установку с нуля.&lt;/p&gt;
  &lt;figure id=&quot;6Mla&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/fb/9f/fb9fc170-d5ae-47d9-8296-d5abb2c16625.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;KNOT&quot;&gt;Про перенос я написал &lt;a href=&quot;/@cyberomanov/moving&quot;&gt;полноценную статью&lt;/a&gt;. Читаем внимательно и вдумчиво.&lt;/p&gt;
  &lt;figure id=&quot;fJH9&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a3/be/a3be0848-c9c7-481e-aee1-0bbb8a2d3be2.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;6DCM&quot;&gt;Если вы вдруг разочаровались в проекте и хотите удалить его с сервера, то можно просто разрушить/удалить сервер из личного кабинета хостинга.&lt;/p&gt;
  &lt;p id=&quot;BjUe&quot;&gt;Это сработает, если на сервере нет других важных нод. В случае, если вы хотите оставить сервер, но удалить конкретную ноду - приступаем к её удалению:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;L9VR&quot;&gt;# останавливаем и отключаем сервис ноды
$ sudo systemctl stop iond &amp;amp;&amp;amp; sudo systemctl disable iond&lt;/pre&gt;
  &lt;section&gt;
    &lt;p id=&quot;XJmx&quot;&gt;Не забудьте сделать бэкап каталога &lt;strong&gt;$HOME/.ion&lt;/strong&gt;, даже если хотите удалить ноду с сервера.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;dRBi&quot;&gt;# удаляем каталоги и исполняемые файлы
$ sudo rm -Rvf $HOME/.ion/ /usr/bin/iond $HOME/SanfordV2/&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;YwpS&quot;&gt;# удаляем файлы сервиса и перезагружаем демона одной командой
$ sudo rm -v /etc/systemd/system/iond.service \
&amp;amp;&amp;amp; sudo systemctl daemon-reload&lt;/pre&gt;
  &lt;figure id=&quot;cFtd&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/86/ef/86ef470d-eaa8-4f3d-a986-4fd888334fb2.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;rjco&quot;&gt;мамичу за то, что родила такого гения.&lt;/p&gt;
  &lt;p id=&quot;2iI5&quot;&gt;&lt;a href=&quot;https://t.me/mzonder&quot; target=&quot;_blank&quot;&gt;@mzonder&lt;/a&gt;.&lt;/p&gt;
  &lt;figure id=&quot;kY7a&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/80/94/8094f1ca-b7d6-495c-b03f-332d2acbea2f.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;1w0H&quot;&gt;&lt;a href=&quot;https://t.me/how_to_node&quot; target=&quot;_blank&quot;&gt;@how_to_node&lt;/a&gt; - канал, где я выкладываю свои гайды.&lt;/p&gt;
  &lt;p id=&quot;i6bu&quot;&gt;&lt;a href=&quot;/@cyberomanov/WTF_resources&quot;&gt;Полезные ресурсы&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;nR2t&quot;&gt;&lt;a href=&quot;/@cyberomanov/WTF_donate&quot;&gt;Крипто-кошельки автора гайда&lt;/a&gt;.&lt;/p&gt;

</content></entry><entry><id>cyberomanov:KYVE</id><link rel="alternate" type="text/html" href="https://teletype.in/@cyberomanov/KYVE?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=cyberomanov"></link><title>KYVE /// v2.0</title><published>2021-10-07T13:27:35.749Z</published><updated>2023-08-10T15:17:46.716Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/b4/bd/b4bd924e-6ff2-4276-b00f-da7f44db963c.png"></media:thumbnail><category term="ended" label="Ended Events"></category><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/ba/99/ba999de5-911e-41f0-b423-adfb16220662.png&quot;&gt;Участвуем в публичном тестнете KYVE Network.</summary><content type="html">
  &lt;section&gt;
    &lt;figure id=&quot;PWqA&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/ba/99/ba999de5-911e-41f0-b423-adfb16220662.png&quot; width=&quot;887&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;QWwJ&quot;&gt;Участвуем в публичном тестнете &lt;strong&gt;KYVE&lt;/strong&gt; &lt;strong&gt;Network&lt;/strong&gt;.&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;u7Mi&quot;&gt;Если вы не знаете, &lt;strong&gt;что такое нода&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_node&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;где арендовать сервер для ноды&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_server&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;как подключиться к серверу&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_MobaXterm&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы всё знаете — открываем &lt;strong&gt;MobaXterm &lt;/strong&gt;и создаём сессию.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;hq2j&quot; data-align=&quot;center&quot;&gt;СОДЕРЖАНИЕ&lt;/h3&gt;
  &lt;/section&gt;
  &lt;ul id=&quot;FNwc&quot;&gt;
    &lt;li id=&quot;rTTX&quot;&gt;&lt;a href=&quot;#zuAz&quot;&gt;Описание проекта&lt;/a&gt;.&lt;/li&gt;
    &lt;li id=&quot;QgcX&quot;&gt;&lt;a href=&quot;#XWju&quot;&gt;Участие&lt;/a&gt;:&lt;/li&gt;
    &lt;ul id=&quot;2rMU&quot;&gt;
      &lt;li id=&quot;d9lB&quot;&gt;&lt;a href=&quot;#XWju&quot;&gt;Кран: Arweave + Korellia&lt;/a&gt;&lt;a href=&quot;#yqLV&quot;&gt;;&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;ul id=&quot;x7W8&quot;&gt;
      &lt;li id=&quot;MimK&quot;&gt;&lt;a href=&quot;#BSBJ&quot;&gt;Нода: kysor&lt;/a&gt;&lt;a href=&quot;#5ePz&quot;&gt;;&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;ul id=&quot;C8oP&quot;&gt;
      &lt;li id=&quot;5rGY&quot;&gt;&lt;a href=&quot;#GwrY&quot;&gt;Полезные команды&lt;/a&gt;;&lt;/li&gt;
      &lt;li id=&quot;CROR&quot;&gt;&lt;a href=&quot;#gWPh&quot;&gt;Удаление ноды&lt;/a&gt;;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;QOOQ&quot;&gt;&lt;a href=&quot;#sC41&quot;&gt;Благодарности&lt;/a&gt;.&lt;/li&gt;
    &lt;li id=&quot;YShM&quot;&gt;&lt;a href=&quot;#vYNR&quot;&gt;Полезные ресурсы на каждый день&lt;/a&gt;.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;zuAz&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;ОПИСАНИЕ ПРОЕКТА&lt;/strong&gt;&lt;/h3&gt;
    &lt;p id=&quot;a1rv&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#hq2j&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;vbTM&quot;&gt;&lt;strong&gt;KYVE &lt;/strong&gt;- децентрализованный протокол архивирования данных. Это протокол нового поколения, который стандартизирует, валидирует и хранит потоки данных.&lt;/p&gt;
  &lt;p id=&quot;hcbI&quot;&gt;Основная проблема текущих блокчейнов - постоянно растущее количество информации. Чем больше информации хранится в блокчейне, тем дороже и сложнее с ней взаимодействовать. &lt;strong&gt;KYVE &lt;/strong&gt;позволяет хранить и доставать информацию из блокчейнов моментально. А это, в свою очередь, помогает и упрощает работу приложениям при взаимодействии с данными блокчейнов.&lt;/p&gt;
  &lt;p id=&quot;HYzf&quot;&gt;Платформа сжимает любой настраиваемый поток данных в легко извлекаемые &amp;quot;моментальные снимки&amp;quot;. В тандеме с &lt;strong&gt;Arweave &lt;/strong&gt;для создания постоянных резервных копий, KYVE обеспечивает долговечность этих данных с течением времени.&lt;/p&gt;
  &lt;p id=&quot;0ZOZ&quot;&gt;Благодаря своей масштабируемости, постоянности и доступности, &lt;strong&gt;Arweave &lt;/strong&gt;является идеальным решением для хранения данных.&lt;/p&gt;
  &lt;p id=&quot;Utn8&quot;&gt;Тем не менее, доступность данных не равнозначна достоверности данных. &lt;br /&gt;Поэтому мы рассматриваем &lt;strong&gt;KYVE &lt;/strong&gt;и &lt;strong&gt;Arweave &lt;/strong&gt;как связку: в то время как &lt;strong&gt;KYVE &lt;/strong&gt;обеспечивает надежную достоверность данных, &lt;strong&gt;Arweave&lt;/strong&gt;, напротив, фокусируется на доступности данных (воспроизводимости).&lt;/p&gt;
  &lt;p id=&quot;3Amc&quot;&gt;Когда блокчейн создает блок, эта информация является общедоступной. &lt;strong&gt;KYVE &lt;/strong&gt;извлекает эти данные через узлы блокчейна, валидирует (проверяет достоверность) и сохраняет информацию с помощью &lt;strong&gt;Arweave&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;CCws&quot;&gt;Архитектура &lt;strong&gt;KYVE &lt;/strong&gt;полностью децентрализована и состоит из двух основных компонентов: пулы и загрузчики с валидаторами.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;37k0&quot;&gt;&lt;strong&gt;Пулы&lt;/strong&gt;. Пул - этоавтономная система управления, которая занимается проверкой &amp;quot;качества работы загрузчиков и валидаторов&amp;quot; или &amp;quot;нарушениями контракта”.&lt;/p&gt;
  &lt;p id=&quot;CzQH&quot;&gt;Пулы можно описать как отдельные объекты, расположенные вокруг определенных источников данных. Они могут быть созданы кем угодно, настроены для извлечения данных из любого места и организации повседневных операций между участниками сети.&lt;/p&gt;
  &lt;p id=&quot;PXtp&quot;&gt;Перед пулом стоит 2 задачи: получить информацию из источника (в нашем случае, из блокчейна) и проверить информацию на достоверность.&lt;/p&gt;
  &lt;p id=&quot;V3Lv&quot;&gt;Функциональность управления обеспечивается путем размещения токена &lt;strong&gt;$KYVE&lt;/strong&gt;, гарантируя, что участники ведут себя в соответствии с целями сети.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;I3bM&quot;&gt;&lt;strong&gt;Валидаторы и загрузчики&lt;/strong&gt;. Это вычислительный уровень, который позволяет участникам запускать настраиваемые узлы. В обмен на $KYVE узлы выполняют различные задачи. Эти узлы проверяют, стандартизируют и архивируют потоки данных.&lt;/p&gt;
  &lt;p id=&quot;MWw5&quot;&gt;&lt;strong&gt;Загрузчик (Uploader)&lt;/strong&gt;: Для каждого пула выбирается только один загрузчик. &lt;br /&gt;Загрузчики извлекают данные из источника, выполняют инструкции, которые могут включать вычислительный этап, и записывают эти данные в &lt;strong&gt;Arweave&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;Ddih&quot;&gt;Если валидаторы обнаружат, что загрузчик нарушает их условия, доля загрузчика уменьшается - происходит слешинг и на место загрузчика выбирается валидатор.&lt;br /&gt;То же самое произойдёт, если узел загрузчика по какой-либо причине был отключен.&lt;/p&gt;
  &lt;p id=&quot;6gB5&quot;&gt;&lt;strong&gt;Валидатор (Validator)&lt;/strong&gt;: проверяет информацию, загруженную загрузчиком на достоверность.&lt;/p&gt;
  &lt;p id=&quot;0RIn&quot;&gt;Когда информация получена и проверена, на арену выходит &lt;strong&gt;Arweave&lt;/strong&gt;, который обеспечивает безопасное и надёжное хранение данных, а также моментальный доступ к информации.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;ykEs&quot;&gt;Каждый пул принимает форму децентрализованной автономной организации (&lt;strong&gt;DAO&lt;/strong&gt;), которая работает на &lt;strong&gt;SmartWeave&lt;/strong&gt;, языке смарт-контрактов &lt;strong&gt;Arweave&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;ks7E&quot;&gt;Операторы узлов являются синонимами участников пула, которые организованы в получение потоков данных, выполнение вычислений на них и запись результатов в &lt;strong&gt;Arweave&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;xcED&quot;&gt;Если соблюдены определенные критерии, пулы также распределяют токены &lt;strong&gt;$KYVE&lt;/strong&gt; среди назначенных загрузчиков и валидаторов.&lt;/p&gt;
  &lt;p id=&quot;u72s&quot;&gt;Теперь узлы, желающие присоединиться к сети блокчейна и синхронизироваться с ее последним состоянием, могут сделать это на порядок быстрее, чем раньше.&lt;/p&gt;
  &lt;p id=&quot;M6sD&quot;&gt;Операторам больше не нужно извлекать блоки один за другим; вместо этого потоки данных сокращаются в моментальные снимки с гарантированной доступностью.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;fEm6&quot;&gt;&lt;strong&gt;Backers&lt;/strong&gt;: Coinbase, CMS, Mechanism, Distributed Global, Solana, Hypersphere, Permanent, 4SV, Volt, Compute, Ternary, Avalanche, Zee Prime, Mina, Moonbeam, Near, Interchain, Ava и ещё 7 &amp;quot;скрытых&amp;quot; инвесторов.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;RdIK&quot;&gt;&lt;strong&gt;Roadmap&lt;/strong&gt;: &lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;7KcW&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/33/b4/33b42ff9-60d7-49e3-9d9d-e7f0a4a50989.png&quot; width=&quot;2428&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;hr /&gt;
  &lt;p data-align=&quot;center&quot; id=&quot;tJBj&quot;&gt;&lt;a href=&quot;https://blog.kyve.network/&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt; | &lt;a href=&quot;https://docs.kyve.network/&quot; target=&quot;_blank&quot;&gt;Docs&lt;/a&gt; | &lt;a href=&quot;https://github.com/KYVENetwork&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt; | &lt;a href=&quot;https://www.kyve.network/&quot; target=&quot;_blank&quot;&gt;WebSite&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/KYVENetwork&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt; | &lt;a href=&quot;https://discord.gg/SZT9uUQk&quot; target=&quot;_blank&quot;&gt;Discord&lt;/a&gt; | &lt;a href=&quot;https://t.me/kyvenet&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt; | &lt;a href=&quot;https://t.me/KYVE_CIS&quot; target=&quot;_blank&quot;&gt;Chat_RU&lt;/a&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;XWju&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;FAUCET&lt;/strong&gt;&lt;/p&gt;
    &lt;p id=&quot;3cPc&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#hq2j&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Bcww&quot;&gt;Первым делом, мы, конечно, должны привязать кошелёк к &lt;a href=&quot;https://app.kyve.network/#/&quot; target=&quot;_blank&quot;&gt;app.kyve.network&lt;/a&gt;. Открываем &lt;a href=&quot;https://app.kyve.network/#/&quot; target=&quot;_blank&quot;&gt;DApp&lt;/a&gt;, чтобы подключить свой &lt;a href=&quot;https://www.keplr.app/&quot; target=&quot;_blank&quot;&gt;Keplr&lt;/a&gt;:&lt;/p&gt;
  &lt;section&gt;
    &lt;figure id=&quot;egD4&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/d6/1f/d61f31c5-d3c4-420b-abea-23af413ecfac.png&quot; width=&quot;309&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;SWyC&quot;&gt;Разрешаем сайту получить доступ к кошельку и добавить в него сеть &lt;strong&gt;Kaon/Korellia&lt;/strong&gt;, кликнув на &lt;strong&gt;Approve&lt;/strong&gt;:&lt;/p&gt;
  &lt;section&gt;
    &lt;figure id=&quot;npT0&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/d3/a8/d3a889a4-d29a-4c7f-8c5e-eb6307e919fe.png&quot; width=&quot;256&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;eQfU&quot;&gt;Отлично, кошелёк подключился.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;vVoN&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/10/75/10756530-3fff-4544-884c-0c3a1c410690.png&quot; width=&quot;1106&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;PEM3&quot;&gt;Предлагаю запросить тестовые токены в &lt;a href=&quot;https://app.kyve.network/#/faucet&quot; target=&quot;_blank&quot;&gt;кране&lt;/a&gt;, которые нам в будущем в любом случае понадобятся.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;LZZe&quot;&gt;Краны работают почти стабильно. Иногда токены доходят долго, иногда не доходят. Наберитесь терпения и не спамьте в чатах и дискордах.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;GeGv&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/aa/56/aa566d70-f6c3-46a3-aa4a-8966b6d908e2.png&quot; width=&quot;2728&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;q5MJ&quot;&gt;Нажимаем на &lt;strong&gt;Share on twitter, &lt;/strong&gt;твиттер сразу предложит отправить твит:&lt;/p&gt;
  &lt;section&gt;
    &lt;figure id=&quot;udPW&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/58/e7/58e776e9-fce4-4edd-8799-018ba7060dd3.png&quot; width=&quot;1812&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;GC8J&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/a6/19/a619a48d-7c3f-4ad1-bb15-930b1d622992.png&quot; width=&quot;1170&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;DtKx&quot;&gt;После отправки твита, копируем ссылку на свой пост и вставляем её в соответствующее поле на сайте. Нажимаем &lt;strong&gt;Claim your tokens&lt;/strong&gt; и решаем капчу:&lt;/p&gt;
  &lt;section&gt;
    &lt;figure id=&quot;Cj0w&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/d7/19/d7193b6b-eb33-40b8-a9b1-4922f1c0c2ac.png&quot; width=&quot;366.2442396313364&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;abaY&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/64/e7/64e72567-95e7-4cbb-87db-b7eac7229cdf.png&quot; width=&quot;370&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Yz1l&quot;&gt;Теперь открываем &lt;strong&gt;Keplr&lt;/strong&gt; и выбираем сеть &lt;strong&gt;Korellia&lt;/strong&gt;, которая была добавлена автоматически:&lt;/p&gt;
  &lt;section&gt;
    &lt;figure id=&quot;x3sn&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/f5/7d/f57ded8d-f03f-4323-b2e6-03b9d42db4ab.png&quot; width=&quot;332.5793103448276&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;E8r7&quot;&gt;И наблюдаем наш баланс:&lt;/p&gt;
  &lt;section&gt;
    &lt;figure id=&quot;Rnl6&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/3c/ee/3ceecb5b-79fe-480c-a1c3-5bf8248e256e.png&quot; width=&quot;317&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;WPQr&quot;&gt;Ещё можно воспользоваться &lt;a href=&quot;https://app.kyve.network/#/faucet&quot; target=&quot;_blank&quot;&gt;колесом фортуны&lt;/a&gt;, где заработаем от 1 до 10 токенов:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;q6L6&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/d3/7e/d37e4392-5fc1-4661-a7ab-30366643327d.png&quot; width=&quot;294.58974358974365&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Yu4a&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;ARWEAVE&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;sIUq&quot;&gt;One more thing: нам нужно несколько десятых токена&lt;strong&gt; AR&lt;/strong&gt; и &lt;strong&gt;arweave.json&lt;/strong&gt;. Это файл, содержащий приватные ключи от кошелька &lt;strong&gt;Arweave&lt;/strong&gt;. &lt;/p&gt;
  &lt;p id=&quot;MDpn&quot;&gt;Если до сих пор у вас нет arweave-кошелька, то переходим на &lt;a href=&quot;https://faucet.arweave.net/&quot; target=&quot;_blank&quot;&gt;сайт&lt;/a&gt;, где мы сгенерируем аккаунт и сразу запросим на него пару копеек.&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;YnBv&quot;&gt;Кран работает с перебоями, поэтому я просто купил пару копеек &lt;strong&gt;AR&lt;/strong&gt; на бинансе (&lt;a href=&quot;https://www.coingecko.com/en/coins/arweave#markets&quot; target=&quot;_blank&quot;&gt;список бирж&lt;/a&gt;) и скинул их на кошелёк, но можно попробовать запросить &lt;strong&gt;AR&lt;/strong&gt; с крана.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;NSg8&quot;&gt;Нажимаем &lt;strong&gt;Continue&lt;/strong&gt;:&lt;/p&gt;
  &lt;section&gt;
    &lt;figure id=&quot;71u4&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/84/9b/849b383d-8e6c-495a-b9fe-2a6c97482c41.png&quot; width=&quot;498.6791666666669&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;TUce&quot;&gt;И скачиваем ключи. Сохраните &lt;strong&gt;arweave.json&lt;/strong&gt; в надёжное место, этот файл нам ещё понадобится:&lt;/p&gt;
  &lt;section&gt;
    &lt;figure id=&quot;A1wl&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/72/c3/72c33e71-40cf-42d5-9a16-b26dfd734e7d.png&quot; width=&quot;677&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;7Nrt&quot;&gt;Нажимаем &lt;strong&gt;Open tweet pop-up&lt;/strong&gt;, чтобы запросить токены и отправляем твит:&lt;/p&gt;
  &lt;section&gt;
    &lt;figure id=&quot;Is9u&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/81/63/81635b69-5528-4a95-92e7-556179f25feb.png&quot; width=&quot;434&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;COM6&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/9f/3e/9f3ee276-3751-453e-816c-89723b7a83c0.png&quot; width=&quot;422&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;Hs76&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/d5/36/d53647b8-14b3-4d10-b15b-e5ecb693896e.png&quot; width=&quot;422&quot; /&gt;
      &lt;figcaption&gt;Скриншот из расширения &lt;a href=&quot;https://chrome.google.com/webstore/detail/arweave/iplppiggblloelhoglpmkmbinggcaaoc/related?hl=en-GB&quot; target=&quot;_blank&quot;&gt;Arweave&lt;/a&gt;.&lt;/figcaption&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;bkCN&quot;&gt;Итого у вас должно быть:&lt;/p&gt;
  &lt;ul id=&quot;XX6v&quot;&gt;
    &lt;li id=&quot;FGVZ&quot;&gt;Токены &lt;strong&gt;KYVE&lt;/strong&gt; на кошельке &lt;strong&gt;Keplr&lt;/strong&gt; и мнемоника от этого кошелька;&lt;/li&gt;
    &lt;li id=&quot;c0pH&quot;&gt;Токены &lt;strong&gt;AR&lt;/strong&gt; на кошельке &lt;strong&gt;Arweave&lt;/strong&gt; и файл с ключами от этого кошелька&lt;strong&gt;.&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;5ePz&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;НОДА&lt;/strong&gt;&lt;/h3&gt;
    &lt;p id=&quot;BSBJ&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#hq2j&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;waVo&quot;&gt;Валидатором можно стать, запустив ноду и застейкав на себя токены.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;lbgB&quot;&gt;Имейте в виду, что для того, чтобы быть активным валидатором, необходимо быть в ТОР-50 по стейку в своём пуле.&lt;/p&gt;
    &lt;p id=&quot;ujZI&quot;&gt;То же касается и регистрации валидатора. Вы не сможете его создать, если селфстейк будет меньше, чем у ТОР-50 валидатора в конкретном пуле.&lt;/p&gt;
    &lt;p id=&quot;oxdj&quot;&gt;Если ваш стейк перестал входить в ТОР-50, ваши токены возвращаются на баланс и нода перестаёт голосовать.&lt;/p&gt;
  &lt;/section&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;8ahY&quot;&gt;Требования по железу:&lt;/p&gt;
  &lt;p id=&quot;twGf&quot;&gt;Официальные требования: &lt;strong&gt;1 CPU &lt;/strong&gt;x&lt;strong&gt; 4 GB RAM &lt;/strong&gt;x&lt;strong&gt; 20 GB SSD&lt;/strong&gt; - Ubuntu 20.04.&lt;br /&gt;Субъективные наблюдения: &lt;strong&gt;1 CPU &lt;/strong&gt;x&lt;strong&gt; 2 GB RAM &lt;/strong&gt;x&lt;strong&gt; 40 GB SSD&lt;/strong&gt; - Ubuntu 20.04.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;FNct&quot;&gt;Самое время выбрать пул, в котором вы хотите стать валидатором. Список пулов доступен в разделе &lt;a href=&quot;https://app.kyve.network/#/&quot; target=&quot;_blank&quot;&gt;Pools&lt;/a&gt;:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;Pgcy&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/4d/3f/4d3f82c5-e109-4499-ab72-f2ca6f579d36.png&quot; width=&quot;2696&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;9IF4&quot;&gt;Пул может выходить в статус &lt;strong&gt;Paused&lt;/strong&gt;. Такое происходит, когда в коде находятся ошибки и недоработки, это нормально для тестнета.&lt;/p&gt;
    &lt;p id=&quot;tOEn&quot;&gt;В случае, если ваш пул ушёл на паузу, вы можете перепрыгнуть в другой пул, либо ожидать, пока включат ваш.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;p2iA&quot;&gt;# обновляем &amp;#x27;базу данных&amp;#x27;
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;aG0j&quot;&gt;# скачиваем необходимые пакеты
sudo apt-get install curl build-essential git jq unzip -y&lt;/pre&gt;
  &lt;pre id=&quot;aG0j&quot; data-lang=&quot;bash&quot;&gt;# скачиваем &amp;#x27;kysor&amp;#x27;
wget https://github.com/KYVENetwork/kyvejs/releases/download/%40kyve%2Fkysor%401.0.0-beta.7/kysor-linux-x64.zip &amp;amp;&amp;amp; \
unzip kysor-linux-x64.zip &amp;amp;&amp;amp; \
mv kysor-linux-x64 kysor &amp;amp;&amp;amp; \
chmod +x kysor &amp;amp;&amp;amp; \
mv kysor /usr/bin/kysor &amp;amp;&amp;amp; \
rm kysor-linux-x64.zip*&lt;/pre&gt;
  &lt;pre id=&quot;aG0j&quot; data-lang=&quot;bash&quot;&gt;# инициализируем &amp;#x27;kysor&amp;#x27;
kysor init -d \
--chain-id korellia \
--rpc &amp;quot;https://rpc.korellia.kyve.network&amp;quot; \
--rest &amp;quot;https://api.korellia.kyve.network&amp;quot;&lt;/pre&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;MwwG&quot;&gt;Теперь нам нужно загрузить &lt;strong&gt;arweave.json&lt;/strong&gt; (&lt;a href=&quot;#KXGn&quot;&gt;мы генерировали его здесь&lt;/a&gt;) на сервер, в каталог &lt;strong&gt;&lt;code&gt;$HOME/.kysor/&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;O9Fa&quot;&gt;Обязательно переименуйте файл &lt;strong&gt;arweave-key-8qi2faiF4.json&lt;/strong&gt; в &lt;strong&gt;arweave.json&lt;/strong&gt;.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;QZyP&quot;&gt;Можно отправить файл на сервер с помощью инструментов программы &lt;strong&gt;Mobaxterm/Termius&lt;/strong&gt;, но я воспользуюсь &lt;strong&gt;SCP&lt;/strong&gt;:&lt;/p&gt;
  &lt;pre data-lang=&quot;shell&quot; id=&quot;Rjdq&quot;&gt;# выполняем команду на локальном пк
scp path/myfile user@8.8.8.8:/full/path/to/new/location/&lt;/pre&gt;
  &lt;pre data-lang=&quot;shell&quot; id=&quot;tLjS&quot;&gt;# в моём случае команда выглядит так
scp /Users/cyber/Downloads/arweave.json root@8.8.8.8:/root/.kysor/&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Az9I&quot;&gt;Если у вас уже имеется файл в каталоге &lt;strong&gt;$HOME/&lt;/strong&gt;, его можно просто переместить в нужную директорию следующей командой:&lt;/p&gt;
    &lt;pre id=&quot;eCaz&quot; data-lang=&quot;bash&quot;&gt;mv $HOME/arweave.json $HOME/.kysor/&lt;/pre&gt;
  &lt;/section&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;mXRk&quot;&gt;Сейчас нужно создать &lt;strong&gt;&lt;em&gt;valaccount&lt;/em&gt;&lt;/strong&gt; - это кошелёк, на котором нужно хранить несколько десятков &lt;strong&gt;$KYVE&lt;/strong&gt; для оплаты комиссий за транзакции валидатора.&lt;/p&gt;
  &lt;p id=&quot;gJnu&quot;&gt;Этот &lt;strong&gt;&lt;em&gt;valaccount&lt;/em&gt;&lt;/strong&gt; будет храниться на сервере и подписывать транзакции.&lt;/p&gt;
  &lt;p id=&quot;H6wu&quot;&gt;Если раньше мы валидировали и стейкали с одного кошелька, то теперь эти функции разделены, чтобы на сервере не хранить мнемонику с миллионами токенов.&lt;/p&gt;
  &lt;p id=&quot;vCkg&quot;&gt;Стейкать мы будем из &amp;quot;браузера&amp;quot; и хранить средства на отдельном кошельке, который не будет задействоваться на сервере.&lt;/p&gt;
  &lt;p id=&quot;a4Mj&quot;&gt;Если вы знакомы с полькадот-экосистемой, то можно провести аналогию со стэшем и контроллером:&lt;/p&gt;
  &lt;ul id=&quot;wSnz&quot;&gt;
    &lt;li id=&quot;X021&quot;&gt;Стэш - основной адрес, который не участвует в валидировании -&amp;gt; не хранится на сервере;&lt;/li&gt;
    &lt;li id=&quot;HvMw&quot;&gt;Контроллер - дополнительный кошелёк, который чисто подписывает транзакции -&amp;gt; хранится на сервере.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;pre id=&quot;mXRk&quot; data-lang=&quot;bash&quot;&gt;# создаём &amp;#x27;valaccount&amp;#x27;
kysor valaccounts create \
--name &amp;lt;pool_name&amp;gt; \
--pool &amp;lt;N&amp;gt; \
--storage-priv &amp;quot;$(cat ~/.kysor/arweave.json)&amp;quot; \
--metrics&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;FztN&quot;&gt;Если вы переносите ноду с сервера на сервер, то восстанавливаем раннее сгенерированный &lt;strong&gt;&lt;em&gt;valaccount&lt;/em&gt;&lt;/strong&gt; следующей командой:&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;ZKgF&quot; data-lang=&quot;bash&quot;&gt;# восстанавливаем &amp;#x27;valaccount&amp;#x27;
kysor valaccounts create \
--name &amp;lt;pool_name&amp;gt; \
--pool &amp;lt;N&amp;gt; \
--storage-priv &amp;quot;$(cat ~/.kysor/arweave.json)&amp;quot; \
--recover&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;9Xyp&quot;&gt;После чего вводим мнемонику. Если ставите в первый раз - выполняем команду без флага &lt;strong&gt;&lt;em&gt;--recover&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(236, 74%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;43YJ&quot;&gt;Где:&lt;/p&gt;
    &lt;p id=&quot;bhQJ&quot;&gt;&lt;strong&gt;&lt;em&gt;&amp;lt;pool_name&amp;gt;&lt;/em&gt;&lt;/strong&gt; - название будущего &lt;em&gt;valaccount&lt;/em&gt;. рекомендуется называть так же, как и называется пул, для простоты понимания;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;&amp;lt;N&amp;gt;&lt;/strong&gt; &lt;/em&gt;- номер пула, который можно найти на странице конкретного пула в адресной строке браузера или в описанных параметрах.&lt;/p&gt;
    &lt;figure id=&quot;2HX0&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/02/51/025135a7-f3a3-4094-9ee4-528154926f15.png&quot; width=&quot;415&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;t80s&quot;&gt;То есть, если я хочу запустить протокольную ноду биткоина, то для меня команда будет выглядеть следующим образом:&lt;/p&gt;
  &lt;pre id=&quot;CBr2&quot; data-lang=&quot;bash&quot;&gt;# создаём &amp;#x27;valaccount&amp;#x27;
kysor valaccounts create \
--name bitcoin \
--pool 3 \
--storage-priv &amp;quot;$(cat ~/.kysor/arweave.json)&amp;quot; \
--metrics&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;YrfQ&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/36/43/3643fcb7-37f4-4009-8df9-e5ad9d4979dd.png&quot; width=&quot;503&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;8dOY&quot;&gt;Теперь поменяем порт, на котором лежат метрики ноды, чтобы на всякий случай:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;m3zj&quot;&gt;# идём в каталог с конфигами
cd ~/.kysor/valaccounts/&lt;/pre&gt;
  &lt;pre id=&quot;m3zj&quot; data-lang=&quot;bash&quot;&gt;# выводим на экран все конфиги
ls&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;3alD&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/14/a5/14a53da8-e498-42ff-8267-a85fafb87ec4.png&quot; width=&quot;686&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;EZrU&quot;&gt;В моём случае конфиг называется &lt;strong&gt;&lt;em&gt;bitcoin.toml&lt;/em&gt;&lt;/strong&gt;. Открываем файл и редактируем порт:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;UbYZ&quot;&gt;nano bitcoin.toml&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;t3ja&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/6a/14/6a146c4e-b262-40e2-82f0-6dc47085c029.png&quot; width=&quot;329&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;2rdh&quot;&gt;Я выбрал значение &lt;strong&gt;10001&lt;/strong&gt;. Можете выбрать любой порт из возможных и открытых. В случае, если я захочу поставить на этот же сервер вторую протокольную ноду, скажем, &lt;strong&gt;&lt;em&gt;Avalanche&lt;/em&gt;&lt;/strong&gt;, я установлю её на &lt;strong&gt;10002&lt;/strong&gt; порт и так далее.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Gew9&quot;&gt;Неплохо было бы сохранить мнемонику только что сгенерированного &lt;em&gt;valaccount&lt;/em&gt;. Её можно увидеть в том же &lt;em&gt;config.toml&lt;/em&gt; файле, где меняем порт.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;m3zj&quot; data-lang=&quot;bash&quot;&gt;# создаём файл сервиса для запуска &amp;#x27;kysor&amp;#x27;
tee &amp;lt;&amp;lt;EOF &amp;gt; /dev/null /etc/systemd/system/bitcoind.service
[Unit]
Description=KYVE Protocol
After=network-online.target
[Service]
User=$USER
ExecStart=$(which kysor) start \\
--valaccount bitcoin
Restart=always
RestartSec=3
LimitNOFILE=infinity
[Install]
WantedBy=multi-user.target
EOF&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;SJVB&quot;&gt;Где меняем:&lt;/p&gt;
    &lt;p id=&quot;Ltv1&quot;&gt;&lt;em&gt;&lt;strong&gt;bitcoind.service&lt;/strong&gt; -&amp;gt; на название своего пула;&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;gROT&quot;&gt;&lt;em&gt;&lt;strong&gt;--valaccount bitcoin &lt;/strong&gt;-&amp;gt; на название своего valaccount.&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;6kJq&quot;&gt;# запускаем ноду со своим названием сервисного файла
sudo systemctl daemon-reload &amp;amp;&amp;amp; \
sudo systemctl enable bitcoind &amp;amp;&amp;amp; \
sudo systemctl restart bitcoind&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;Orqu&quot;&gt;# проверяем логи
sudo journalctl -u bitcoind -f -o cat&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;UWK2&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/26/ce/26ce0b34-7485-467e-9c28-6cee9ea02577.png&quot; width=&quot;1592&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;aBmF&quot;&gt;Если вчитаться, то логи сервиса просят нас присоединиться к пулу, поскольку мы этого ещё не сделали. Приступим.&lt;/p&gt;
  &lt;p id=&quot;qYZj&quot;&gt;Открываем &lt;a href=&quot;https://app.kyve.network/&quot; target=&quot;_blank&quot;&gt;app.kyve.network&lt;/a&gt;, убеждаемся, что включен мод эксперта:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;O1IP&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/6b/83/6b832ffc-a2fd-4f34-8ced-6e1e55321765.png&quot; width=&quot;263&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;oszn&quot;&gt;Переходим на &lt;a href=&quot;https://app.kyve.network/#/validators?status=1&quot; target=&quot;_blank&quot;&gt;страницу валидаторов&lt;/a&gt; и нажимаем на &lt;strong&gt;&lt;em&gt;Become a validator&lt;/em&gt;&lt;/strong&gt;:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;MZSt&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/bb/6c/bb6c6251-d6ce-49d5-a502-2dc170ac4566.png&quot; width=&quot;443&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;gw69&quot;&gt;Прокликиваем и читаем предложенный нам текст:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;OJrc&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/d6/38/d638125f-c9e2-4e6c-aa7c-d506958308ff.png&quot; width=&quot;355.3083164300203&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;OxYU&quot;&gt;Вписываем желаемое количество токенов, которое хотите внести в качестве селф-стейка:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;Euca&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/94/b5/94b59719-f4af-4758-adad-66b58a898208.png&quot; width=&quot;365.54279749478076&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;M0lQ&quot;&gt;Подписываем транзакцию и попадаем в личный кабинет нашего валидатора:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;9v2P&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/aa/5f/aa5faf48-c042-453c-b192-dd605c427ee9.png&quot; width=&quot;2324&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ibiB&quot;&gt;В разделе &lt;strong&gt;&lt;em&gt;Manage Validator&lt;/em&gt;&lt;/strong&gt; можно отредактировать комиссию и описание валидатора:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;lm76&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/f6/4b/f64b9510-5e58-4eec-bbda-468da2921cd9.png&quot; width=&quot;264&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;Enju&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/1d/9f/1d9f3f82-6d2a-4d14-9c2e-0cda8a275e66.png&quot; width=&quot;399.6506550218341&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;jlru&quot;&gt;После того, как нарядили своего валидатора, можно присоединиться к пулу:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;vgt9&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/ff/a4/ffa45fdf-1d98-4521-922c-620c2ee1f224.png&quot; width=&quot;2312&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;eqyI&quot; class=&quot;m_custom&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/1b/19/1b1929ae-8a48-402c-be96-deb997c024ea.png&quot; width=&quot;436&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Af4I&quot;&gt;&lt;strong&gt;&lt;em&gt;valaddress&lt;/em&gt;&lt;/strong&gt; и &lt;em&gt;&lt;strong&gt;valname&lt;/strong&gt;&lt;/em&gt; можно найти в логах:&lt;/p&gt;
    &lt;figure id=&quot;CwVM&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/07/6d/076d86ff-05b8-4d81-8ccb-f75cc812f107.png&quot; width=&quot;1044&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;46qA&quot;&gt;Как только мы подписали транзакцию после нажатия &lt;strong&gt;&lt;em&gt;Join pool&lt;/em&gt;&lt;/strong&gt;, начали бежать логи:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;XtNA&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/21/94/21940471-674f-4e29-8078-3b404386783b.png&quot; width=&quot;2310&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;eTbI&quot;&gt;Вот и всё. Мы создали и запустили валидатора.&lt;/p&gt;
  &lt;p id=&quot;mFYu&quot;&gt;Следите за балансом &lt;strong&gt;&lt;em&gt;valaccount&lt;/em&gt;&lt;/strong&gt; и вовремя пополняйте его, чтобы не угодить в &lt;strong&gt;&lt;em&gt;jail&lt;/em&gt;&lt;/strong&gt;:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;UkRu&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/e4/48/e4483e92-73a2-4952-865b-606e57c76dd8.png&quot; width=&quot;2284&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Symk&quot;&gt;Если вы хотите запустить несколько протокольных нод с одного сервера и с одного &amp;quot;мастер-адреса&amp;quot;, просто повторяем все действия с &lt;a href=&quot;#mXRk&quot;&gt;создания &lt;em&gt;valaccount&lt;/em&gt;&lt;/a&gt;:&lt;/p&gt;
  &lt;ol id=&quot;2EUZ&quot;&gt;
    &lt;li id=&quot;gaUA&quot;&gt;Создаём &lt;em&gt;valaccount&lt;/em&gt;;&lt;/li&gt;
    &lt;li id=&quot;jArf&quot;&gt;Меняем порт, на котором висят метрики в новом конфиге;&lt;/li&gt;
    &lt;li id=&quot;U85u&quot;&gt;Создаём новый сервис с новым названием;&lt;/li&gt;
    &lt;li id=&quot;rCuh&quot;&gt;Присоединяемся к новому пулу через сайт.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;GwrY&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;ПОЛЕЗНЫЕ КОМАНДЫ&lt;/strong&gt;&lt;/h3&gt;
    &lt;p id=&quot;L1TY&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#hq2j&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;VxY2&quot;&gt;# пезапуск сервиса
sudo systemctl restart bitcoind&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;YQGr&quot;&gt;# остановка сервиса
sudo systemctl stop bitcoind&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;SYr5&quot;&gt;# проверка лога
sudo journalctl -u bitcoind -f -o cat&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;gWPh&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;УДАЛЕНИЕ&lt;/strong&gt;&lt;/h3&gt;
    &lt;p id=&quot;z7tH&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#hq2j&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;pjXi&quot;&gt;Если вы вдруг разочаровались в проекте и хотите удалить его с сервера, то можно просто разрушить/удалить сервер из личного кабинета хостинга.&lt;/p&gt;
  &lt;p id=&quot;70te&quot;&gt;Это сработает, если на сервере нет других важных нод. В случае, если вы хотите оставить сервер, но удалить конкретную ноду - приступаем к её удалению:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;kz49&quot;&gt;# останавливаем сервис
sudo systemctl stop bitcoind &amp;amp;&amp;amp; \
sudo systemctl disable bitcoind&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;zK9n&quot;&gt;# удаляем остаточные файлы
rm -Rvf /usr/bin/kysor* $HOME/.kysor&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;VNLK&quot;&gt;# удаляем файл сервиса и перезагружаем демона одной командой
sudo rm -v /etc/systemd/system/bitcoind.service; \
sudo systemctl daemon-reload&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;sC41&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;БЛАГОДАРНОСТИ&lt;/strong&gt;&lt;/h3&gt;
    &lt;p id=&quot;CWHR&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#hq2j&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;amQw&quot;&gt;мамичу за то, что родила такого гения.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(263, 48%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;h3 id=&quot;vYNR&quot; data-align=&quot;center&quot;&gt;&lt;strong&gt;ПОЛЕЗНЫЕ РЕСУРСЫ&lt;/strong&gt;&lt;/h3&gt;
    &lt;p id=&quot;elSw&quot; data-align=&quot;right&quot;&gt;&lt;a href=&quot;#hq2j&quot;&gt;Содержание&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ya6z&quot;&gt;&lt;a href=&quot;https://t.me/kyvecheckerbot&quot; target=&quot;_blank&quot;&gt;@kyvecheckerbot&lt;/a&gt; - бот для слежения за нодой.&lt;/p&gt;
  &lt;p id=&quot;PmnJ&quot;&gt;&lt;a href=&quot;https://t.me/KyveProposals&quot; target=&quot;_blank&quot;&gt;@KyveProposals&lt;/a&gt; - канал с уведомлениями о пропозалах.&lt;/p&gt;
  &lt;p id=&quot;sU81&quot;&gt;&lt;a href=&quot;https://t.me/how_to_node&quot; target=&quot;_blank&quot;&gt;@how_to_node&lt;/a&gt; - канал, где я выкладываю свои гайды.&lt;/p&gt;
  &lt;p id=&quot;4AAa&quot;&gt;&lt;a href=&quot;/WTF_resources&quot;&gt;Полезные ресурсы&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;S63T&quot;&gt;&lt;a href=&quot;/WTF_donate&quot;&gt;Крипто-кошельки автора гайда&lt;/a&gt;.&lt;/p&gt;

</content></entry><entry><id>cyberomanov:grafana</id><link rel="alternate" type="text/html" href="https://teletype.in/@cyberomanov/grafana?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=cyberomanov"></link><title>Grafana /// v1.0</title><published>2021-09-26T06:00:28.109Z</published><updated>2023-01-13T14:25:03.197Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/a7/c0/a7c0a9b4-7591-4921-ae53-20c434893686.png"></media:thumbnail><category term="immortal" label="Immortal Articles"></category><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/77/42/77425a46-470b-48b6-8772-e810af4ba000.png&quot;&gt;В этой статье мы будем добавлять в дашборд графаны свои сервера с нодами, что позволит нам отслеживать нагрузку на железо и вообще красиво так выглядит, как будто хацкер кокой-то.</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;JsoO&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/77/42/77425a46-470b-48b6-8772-e810af4ba000.png&quot; width=&quot;2487&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;sxjH&quot;&gt;В этой статье мы будем добавлять в дашборд графаны свои сервера с нодами, что позволит нам отслеживать нагрузку на железо и вообще красиво так выглядит, как будто хацкер кокой-то.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;uEa2&quot;&gt;Если вы не знаете, &lt;strong&gt;что такое нода&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_node&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;где арендовать сервер для ноды&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_server&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;как подключиться к серверу&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_MobaXterm&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы всё знаете — открываем &lt;strong&gt;MobaXterm &lt;/strong&gt;и создаём сессию.&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;tBXT&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6e/b7/6eb72bd2-4a8e-4bdc-bdd4-1714e38ba7b8.png&quot; width=&quot;700&quot; /&gt;
  &lt;/figure&gt;
  &lt;ul id=&quot;V0I6&quot;&gt;
    &lt;li id=&quot;lon3&quot;&gt;&lt;a href=&quot;#ccd0&quot;&gt;А зачем?&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;GqAg&quot;&gt;&lt;a href=&quot;#tN9U&quot;&gt;Установка&lt;/a&gt;&lt;/li&gt;
    &lt;ul id=&quot;QVCe&quot;&gt;
      &lt;li id=&quot;Nsba&quot;&gt;&lt;a href=&quot;#tN9U&quot;&gt;Установка node-exporter на сервер с нодой&lt;/a&gt;&lt;/li&gt;
      &lt;li id=&quot;Xzq0&quot;&gt;&lt;a href=&quot;#RhBG&quot;&gt;Установка prometheus на сервер-обработчик&lt;/a&gt;&lt;/li&gt;
      &lt;li id=&quot;qhnQ&quot;&gt;&lt;a href=&quot;#3aF5&quot;&gt;Установка grafana на сервер-обработчик&lt;/a&gt;&lt;/li&gt;
      &lt;li id=&quot;tXBo&quot;&gt;&lt;a href=&quot;#RPwZ&quot;&gt;Импортируем лучший в мире дашборд&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;BOqS&quot;&gt;&lt;a href=&quot;#k9CY&quot;&gt;Благодарности&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;xZ7E&quot;&gt;&lt;a href=&quot;#u1jH&quot;&gt;Полезные ресурсы на каждый день&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;ccd0&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6d/3d/6d3d9397-52c8-4a17-9b1a-cfe2060f7fa8.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;wKWH&quot;&gt;&lt;strong&gt;Grafana &lt;/strong&gt;- это платформа с открытым исходным кодом для визуализации, мониторинга и анализа данных. &lt;/p&gt;
  &lt;p id=&quot;0Yww&quot;&gt;&lt;strong&gt;Grafana &lt;/strong&gt;позволяет пользователям создавать дашборды с панелями, каждая из которых отображает определенные показатели.&lt;/p&gt;
  &lt;p id=&quot;Qg9o&quot;&gt;С помощью графаны можно творить действительно волшебные вещи. &lt;/p&gt;
  &lt;p id=&quot;Ddb7&quot;&gt;Например, &lt;a href=&quot;https://t.me/razumv&quot; target=&quot;_blank&quot;&gt;разум&lt;/a&gt; (человек, отвечающий за ноды в команде DoubleTop), сделал для своего коммьюнити общий дашборд.&lt;/p&gt;
  &lt;p id=&quot;Aqb2&quot;&gt;С помощью этого дашборда, можно отслеживать полную информацию о сервере не только со стороны железа (нагрузка CPU, RAM и т.п.), но так же и инфу о последнем обработанном блоке вашей ноды.&lt;/p&gt;
  &lt;p id=&quot;AlNw&quot;&gt;Другими словами, можно в режиме реального времени заметить, что сервер нагружен, но вот нода по какой-то причине отстала от сети, даже не включая сервер, а наблюдая красивые графики в браузере. Выглядит примерно так:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;evN9&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/9b/2d/9b2d8f2e-8f46-4adb-addd-d702ede69d84.png&quot; width=&quot;1843&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;A8ic&quot;&gt;По истине волшебная вещь, но за таким дашбордом - добро пожаловать в 2Top.&lt;/p&gt;
  &lt;p id=&quot;RQiI&quot;&gt;В данной статье я просто не могу объяснить, как добавить мониторинг на таком уровне - я не знаю язык запросов. &lt;/p&gt;
  &lt;p id=&quot;McT6&quot;&gt;Сейчас мы будем настраивать мониторинг серверов на самом простом уровне: нагрузка проца, память, сеть и т.п.&lt;/p&gt;
  &lt;p id=&quot;oS4H&quot;&gt;Это пригодится как минимум тогда, когда вы решаете: а к какому серверу мне подселить очередную ноду? На помощь придут графики и статистика на дистанции, а не в моменте. Это позволит сделать правильный выбор.&lt;/p&gt;
  &lt;p id=&quot;KkvQ&quot;&gt;Или вы можете заметить, что тестнет с каждым днём пожирает всё больше и больше места на диске и заблаговременно докупить дисковое пространство.&lt;/p&gt;
  &lt;p id=&quot;BJCy&quot;&gt;Я надеюсь. Во всяком случае, мы попробуем.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;khPH&quot;&gt;Нам будет нужно:&lt;/p&gt;
    &lt;ul id=&quot;FYuP&quot;&gt;
      &lt;li id=&quot;Hepe&quot;&gt;На сервер с нодой установить &lt;strong&gt;node-exporter&lt;/strong&gt; - ПО, которое собирает и экспортирует метрики и статистику о работе железа.&lt;/li&gt;
      &lt;li id=&quot;rGJe&quot;&gt;Арендовать отдельный сервер (1 Core x 1 GB RAM) под ноду-обработчик и установить на новый сервер &lt;strong&gt;Prometheus &lt;/strong&gt;и &lt;strong&gt;Grafana&lt;/strong&gt;. &lt;br /&gt;&lt;strong&gt;Prometheus &lt;/strong&gt;подтягивает и аккумулирует данные из &lt;strong&gt;node-exporter&lt;/strong&gt;, а &lt;strong&gt;Grafana &lt;/strong&gt;их визуализирует.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;tN9U&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c3/ab/c3abafed-5afa-4c81-b548-d92248b62077.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;TVow&quot;&gt;Открываем сессию с сервером, где установлена какая-нибудь нода, откуда вы хотите получать данные в дашборд и устанавливаем на этот сервер ПО:&lt;/p&gt;
  &lt;pre id=&quot;kE59&quot; data-lang=&quot;bash&quot;&gt;# обновляем &amp;#x27;базу данных&amp;#x27;
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&lt;/pre&gt;
  &lt;pre id=&quot;kE59&quot; data-lang=&quot;bash&quot;&gt;# скачиваем &amp;#x27;node_exporter&amp;#x27; и наводим порядок одной командой
cd $HOME &amp;amp;&amp;amp; \
wget https://github.com/prometheus/node_exporter/releases/download/v1.2.0/node_exporter-1.2.0.linux-amd64.tar.gz &amp;amp;&amp;amp; \
tar xvf node_exporter-1.2.0.linux-amd64.tar.gz &amp;amp;&amp;amp; \
rm node_exporter-1.2.0.linux-amd64.tar.gz &amp;amp;&amp;amp; \
sudo mv node_exporter-1.2.0.linux-amd64 node_exporter &amp;amp;&amp;amp; \
chmod +x $HOME/node_exporter/node_exporter &amp;amp;&amp;amp; \
mv $HOME/node_exporter/node_exporter /usr/bin &amp;amp;&amp;amp; \
rm -Rvf $HOME/node_exporter/&lt;/pre&gt;
  &lt;pre id=&quot;t07O&quot; data-lang=&quot;bash&quot;&gt;# создаём файл сервиса &amp;#x27;exporterd&amp;#x27;
sudo tee /etc/systemd/system/exporterd.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF
[Unit]
Description=node_exporter
After=network-online.target
[Service]
User=$USER
ExecStart=/usr/bin/node_exporter
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF&lt;/pre&gt;
  &lt;pre id=&quot;rtFz&quot; data-lang=&quot;bash&quot;&gt;# запускаем сервис &amp;#x27;exporterd&amp;#x27; одной командой
sudo systemctl daemon-reload &amp;amp;&amp;amp; \
sudo systemctl enable exporterd &amp;amp;&amp;amp; \
sudo systemctl restart exporterd&lt;/pre&gt;
  &lt;pre id=&quot;PurX&quot; data-lang=&quot;bash&quot;&gt;# проверяем логи
sudo journalctl -u exporterd -f&lt;/pre&gt;
  &lt;p id=&quot;EBkb&quot;&gt;В выводе терминала вы увидите нечто подобное:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;IGO7&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c0/f0/c0f09778-2b93-401e-bf4b-c544b7be87e8.png&quot; width=&quot;1365&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;oYXP&quot;&gt;Теперь переходим в браузере на своём домашнем устройстве по адресу: &lt;a href=&quot;https://&lt;server_IP&gt;:9100&quot; target=&quot;_blank&quot;&gt;http://&amp;lt;server_IP&amp;gt;:9100/&lt;/a&gt;, где &lt;strong&gt;&amp;lt;server_IP&amp;gt;&lt;/strong&gt; - IP сервера, на котором установлен &lt;strong&gt;node_exporter&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;hUTK&quot;&gt;Отобразится &lt;strong&gt;Node Exporter&lt;/strong&gt;. Нажимаем &lt;strong&gt;Metrics:&lt;/strong&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;SiEb&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c1/07/c107eac6-1444-41aa-9df5-e43ca06c0192.png&quot; width=&quot;460&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;ztV2&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c5/c3/c5c3c86e-b999-4022-a161-f5127a4e764a.png&quot; width=&quot;942&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ea4K&quot;&gt;Здесь мы увидим десять тысяч метрик, которые будут отправляться на ноду-обработчик и в дальнейшем отображаться в графане. Отлично.&lt;/p&gt;
  &lt;figure id=&quot;RhBG&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/3b/5f/3b5fd36b-cf29-4216-aa12-7eafceb37c49.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;n1YP&quot;&gt;Нам потребуется сервер, куда будут отправляться данные для обработки и визуализации со всех наших серверов с нодами.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Tuns&quot;&gt;Я возьму сервер с &lt;strong&gt;1 CPU&lt;/strong&gt;,&lt;strong&gt; 1 GB RAM &lt;/strong&gt;и&lt;strong&gt; 20 GB&lt;/strong&gt; памяти на борту. Если этого окажется мало, то в будущем я обновлю требования.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;6vdM&quot;&gt;Открываем сессию с нашим новым сервером (нода-обработчик) и устанавливаем необходимое ПО:&lt;/p&gt;
  &lt;pre id=&quot;bLL7&quot; data-lang=&quot;bash&quot;&gt;# обновляем &amp;#x27;базу данных&amp;#x27; 
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&lt;/pre&gt;
  &lt;pre id=&quot;bLL7&quot; data-lang=&quot;bash&quot;&gt;# устанавливаем &amp;#x27;prometheus&amp;#x27; одной командой
wget https://github.com/prometheus/prometheus/releases/download/v2.28.1/prometheus-2.28.1.linux-amd64.tar.gz &amp;amp;&amp;amp; \
tar xvf prometheus-2.28.1.linux-amd64.tar.gz &amp;amp;&amp;amp; \
rm prometheus-2.28.1.linux-amd64.tar.gz &amp;amp;&amp;amp; \
mv prometheus-2.28.1.linux-amd64 prometheus&lt;/pre&gt;
  &lt;pre id=&quot;bLL7&quot; data-lang=&quot;bash&quot;&gt;# открываем конфиг прометеуса для настройки
nano $HOME/prometheus/prometheus.yml&lt;/pre&gt;
  &lt;p id=&quot;2SvZ&quot;&gt;В графу &lt;strong&gt;tagrets &lt;/strong&gt;нам нужно после запятой добавить IP-адрес нашего сервера с нодой, откуда экспортируется статистика. &lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;0HJd&quot;&gt;В будущем их можно будет добавить бесконечно много, но сейчас ограничимся одним сервером.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;9HFg&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/65/7a/657adb08-35fe-40ac-907c-b916dbd36d42.png&quot; width=&quot;588&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;yUeC&quot;&gt;Сохраняем изменения и создаём сервис.&lt;/p&gt;
  &lt;pre id=&quot;Ukky&quot; data-lang=&quot;bash&quot;&gt;# выдаём права на исполнение
chmod +x $HOME/prometheus/prometheus&lt;/pre&gt;
  &lt;pre id=&quot;Ukky&quot; data-lang=&quot;bash&quot;&gt;# создаём файл сервиса &amp;#x27;prometheusd&amp;#x27;
sudo tee /etc/systemd/system/prometheusd.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF
[Unit]
Description=prometheus
After=network-online.target
[Service]
User=$USER
ExecStart=$HOME/prometheus/prometheus \
--config.file=&amp;quot;$HOME/prometheus/prometheus.yml&amp;quot;
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF&lt;/pre&gt;
  &lt;pre id=&quot;Ukky&quot; data-lang=&quot;bash&quot;&gt;# запускаем сервис &amp;#x27;prometheusd&amp;#x27; одной командой
sudo systemctl daemon-reload &amp;amp;&amp;amp; \
sudo systemctl enable prometheusd &amp;amp;&amp;amp; \
sudo systemctl restart prometheusd&lt;/pre&gt;
  &lt;pre id=&quot;Ukky&quot; data-lang=&quot;bash&quot;&gt;# проверяем логи
sudo journalctl -u prometheusd -f&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;3Xcq&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/e7/d6/e7d60e04-40eb-46a8-a149-7c700298e601.png&quot; width=&quot;965&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;7PxZ&quot;&gt;Переходим в браузере на своём домашнем устройстве по адресу: &lt;a href=&quot;https://&lt;server_IP&gt;:9100&quot; target=&quot;_blank&quot;&gt;http://&amp;lt;server_IP&amp;gt;:9090/&lt;/a&gt;, где &lt;strong&gt;&amp;lt;server_IP&amp;gt;&lt;/strong&gt; - IP сервера, на котором установлен &lt;strong&gt;prometheus&lt;/strong&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;oDCP&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/5f/ab/5fab3b28-03e0-44b9-9b8a-547aecf85b9a.png&quot; width=&quot;543&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;kvOE&quot;&gt;Переходим в &lt;strong&gt;Status &amp;gt; Targets:&lt;/strong&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;8THs&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/47/7f/477fd29f-d241-4017-b889-a107c229cfcd.png&quot; width=&quot;237&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;ZTvs&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/8f/d8/8fd8f001-e829-4f5d-a8ba-68c314325cf0.png&quot; width=&quot;890&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Wq0T&quot;&gt;Прометеус показывает 2 цели: первая - сервер, где мы устанавливали &lt;strong&gt;node_exporter&lt;/strong&gt;, 2 - сам прометеус (localhost). Отлично.&lt;/p&gt;
  &lt;figure id=&quot;3aF5&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/3f/2a/3f2aa2f0-946c-4a33-ae47-cb44b3024662.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;l5jW&quot;&gt;Теперь на этот же сервер с прометеусом мы устанавливаем графану, чтобы как-то визуализировать всю собирающуюся статистику.&lt;/p&gt;
  &lt;pre id=&quot;uh3M&quot; data-lang=&quot;bash&quot;&gt;# устанавливаем графану одной командой
sudo apt-get install -y adduser libfontconfig1 &amp;amp;&amp;amp; \
wget https://dl.grafana.com/oss/release/grafana_8.0.6_amd64.deb &amp;amp;&amp;amp; \
sudo dpkg -i grafana_8.0.6_amd64.deb&lt;/pre&gt;
  &lt;pre id=&quot;uh3M&quot; data-lang=&quot;bash&quot;&gt;# запускаем сервис &amp;#x27;grafana-server&amp;#x27;
sudo systemctl daemon-reload &amp;amp;&amp;amp; \
sudo systemctl enable grafana-server &amp;amp;&amp;amp; \
sudo systemctl restart grafana-server&lt;/pre&gt;
  &lt;pre id=&quot;uh3M&quot; data-lang=&quot;bash&quot;&gt;# смотрим логи
sudo journalctl -u grafana-server -f&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;LQsM&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c7/9a/c79a2691-14c7-4042-90bd-5745c9eec726.png&quot; width=&quot;1647&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;nfFx&quot;&gt;Переходим в браузере на своём домашнем устройстве по адресу: &lt;a href=&quot;https://&lt;server_IP&gt;:9100&quot; target=&quot;_blank&quot;&gt;http://&amp;lt;server_IP&amp;gt;:3000/&lt;/a&gt;, где &lt;strong&gt;&amp;lt;server_IP&amp;gt;&lt;/strong&gt; - IP сервера, на котором установлен &lt;strong&gt;prometheus &lt;/strong&gt;и &lt;strong&gt;grafana&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;pDN6&quot;&gt;Если всё прошло удачно, нас встречает приветственное окно графаны:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;vTAj&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/58/4c/584c9869-4b4a-47a9-ae92-4d20757fddd0.png&quot; width=&quot;529&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Ykmx&quot;&gt;Пароль: &lt;strong&gt;admin&lt;br /&gt;&lt;/strong&gt;Логин: &lt;strong&gt;admin&lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;DZr8&quot;&gt;Теперь задаём собственный пароль:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;77vq&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/67/cc/67cc3de7-fcfa-4a4d-86bb-a1c3ce70561d.png&quot; width=&quot;509&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;r9kc&quot;&gt;Следующим шагом станет добавление &lt;strong&gt;Data Sources.&lt;/strong&gt; Выбираем &lt;strong&gt;Prometheus:&lt;/strong&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;88AA&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/d5/07/d5078028-06de-4bb9-b424-53399969a611.png&quot; width=&quot;1280&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;oi7d&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/de/b0/deb02033-2854-44e4-9f49-932ec533c3d7.png&quot; width=&quot;1301&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;p4VX&quot;&gt;Указываем в графе &lt;strong&gt;URL &lt;/strong&gt;адрес к своему серверу с прометеусом и графаной:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;bggS&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/ef/bc/efbc2032-7da9-4271-a149-b4ba3b28a8d0.png&quot; width=&quot;658&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;eVNV&quot;&gt;После чего нажимаем &lt;strong&gt;Save &amp;amp; test&lt;/strong&gt;. &lt;/p&gt;
  &lt;p id=&quot;SGRA&quot;&gt;Если всё настроили правильно - отобразится зелёная галочка:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;HfcS&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/d5/7f/d57f0d16-0de7-4c34-bfc4-1e17816728dd.png&quot; width=&quot;276&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;PEEI&quot;&gt;Теперь нам нужно импортировать дашборд, чтобы наконец-то увидеть графики:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;FY7W&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/26/06/2606413e-d16a-4897-9fff-c3e42b300c7f.png&quot; width=&quot;190&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;1hhO&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/f0/e6/f0e6142f-576f-48e9-a314-84b93511f732.png&quot; width=&quot;638&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;N6VT&quot;&gt;Чтобы импортировать дашборд по &lt;strong&gt;ID&lt;/strong&gt;, нам, прежде всего, этот &lt;strong&gt;ID &lt;/strong&gt;нужно узнать.&lt;/p&gt;
  &lt;p id=&quot;EOe3&quot;&gt;Переходим к &lt;a href=&quot;https://grafana.com/grafana/dashboards&quot; target=&quot;_blank&quot;&gt;каталогу дашбордов&lt;/a&gt; и выбираем любой понравившийся.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;NhiM&quot;&gt;К сожалению, не все дашборды из каталога будут работать, но, если потрудиться, то можно найти рабочие решения. Далее в статье я представлю свой дашборд.&lt;/p&gt;
    &lt;p id=&quot;Vufg&quot;&gt;Для примера я укажу ID - &lt;strong&gt;1860&lt;/strong&gt;.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;U8qm&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/0c/4d/0c4d6b62-58d5-4039-bca8-8ceb2f72b779.png&quot; width=&quot;639&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;lrX4&quot;&gt;Выбираем имя для дашборда и источник прометеуса:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;4MeJ&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/b0/fa/b0faaf7b-f229-496f-beb2-ebcdaad1c240.png&quot; width=&quot;635&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;23Lm&quot;&gt;И вот уже начинают заполняться некоторые графики и панели:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;RZ3T&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/62/46/6246fd66-3b63-4a70-80fc-6ae82c3aa845.png&quot; width=&quot;2480&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;B41l&quot;&gt;Уже выглядит неплохо, правда? &lt;/p&gt;
  &lt;p id=&quot;gQw6&quot;&gt;Но как добавить в один дашборд несколько нод? Ведь не интересно создавать для каждой ноды отдельный дашборд в отдельной вкладке - это не удобно.&lt;/p&gt;
  &lt;figure id=&quot;RPwZ&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b2/17/b2171bf0-809e-4ad9-8f2c-a32adff386d5.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;s5dO&quot;&gt;Я решил не показывать весь процесс настройки своего дашборда. Я нашёл классный трафарет в каталоге, но пока довёл его до ума прошёл не один час. Запечатлеть все мои действия в статье не представляется возможным.&lt;/p&gt;
  &lt;p id=&quot;BsLB&quot;&gt;Но зато я создал 2 темплейта для коммьюнити, возможно вам понравится.&lt;/p&gt;
  &lt;p id=&quot;xowj&quot;&gt;Выглядят они вот так:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;6FVB&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/da/2d/da2d07d6-1b5b-4ec4-a568-64d13393bcf2.png&quot; width=&quot;2490&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;Vxc8&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/5d/e4/5de45136-d5bf-4458-8a06-a8f803b22d69.png&quot; width=&quot;2487&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;hvBh&quot;&gt;Как вы могли заметить, я добавил возможность получать общую статистику со всех добавленных нод в виде таблицы. Как по мне, это супер удобно. У нас будет только 1 дашборд для всех нод:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;V1yt&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/63/be/63bebb01-6919-4380-b7a0-82e66ec5ce10.png&quot; width=&quot;2479&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Io1O&quot;&gt;Прям по кайфу, реально.&lt;/p&gt;
  &lt;p id=&quot;qVYI&quot;&gt;Плюс к этому, в левом углу есть поле &lt;strong&gt;Node&lt;/strong&gt;, в выпадающем списке можно выбрать интересующую ноду и посмотреть её метрики более детально:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;5LKO&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/9f/5c/9f5cb924-da24-446e-94df-1f41f7fc527d.png&quot; width=&quot;275&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;cmjv&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/29/e9/29e9ac5b-9fa1-44cd-a863-b79ce2e660c4.png&quot; width=&quot;2472&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;aCKQ&quot;&gt;Пушка, правда? &lt;/p&gt;
  &lt;p id=&quot;PJuR&quot;&gt;Теперь расскажу, как импортировать один из этих дашбордов себе и как добавить несколько нод в таблицу.&lt;/p&gt;
  &lt;p id=&quot;l2lj&quot;&gt;Первым делом, заходим на &lt;a href=&quot;https://github.com/cyberomanov/grafana&quot; target=&quot;_blank&quot;&gt;мой гитхаб&lt;/a&gt; и скачиваем архив с двумя json-файлами:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;bphC&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/98/e6/98e675f8-f798-4bdb-83d6-b0b4f60ee718.png&quot; width=&quot;1176&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;IOou&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/d7/cf/d7cf6fcd-4993-44ef-94c6-49e917fe15d8.png&quot; width=&quot;170&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Zj6o&quot;&gt;Затем открываем сессии с нужными нам серверами и устанавливаем на каждый сервер (откуда хотите собирать статистику) &lt;strong&gt;node-exporter&lt;/strong&gt; из &lt;a href=&quot;#tN9U&quot;&gt;соответствующего раздела статьи&lt;/a&gt;. &lt;/p&gt;
  &lt;p id=&quot;WJe3&quot;&gt;Проверяем, чтобы экспортёр установился корректно на каждом сервере.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;HGKU&quot;&gt;Мы устанавливаем только &lt;strong&gt;node-exporter&lt;/strong&gt; и только на те машины, с которых хотим собирать метрики. &lt;/p&gt;
    &lt;p id=&quot;yQ0A&quot;&gt;&lt;strong&gt;Grafana &lt;/strong&gt;и &lt;strong&gt;Prometheus &lt;/strong&gt;устанавливаем только на один сервер, который мы выделили, как ноду-обработчик.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;BVJk&quot;&gt;После того, как экспортёры настроены, открываем файл конфига прометеуса на ноде-обработчике:&lt;/p&gt;
  &lt;pre id=&quot;rspi&quot; data-lang=&quot;bash&quot;&gt;nano $HOME/prometheus/prometheus.yml&lt;/pre&gt;
  &lt;p id=&quot;URTx&quot;&gt;Так выглядит мой конфиг:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;PF1f&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/71/a5/71a58fc9-031b-4fed-8e44-d8eed7c26d66.png&quot; width=&quot;384&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;wEAy&quot;&gt;Нас интересует только раздел &lt;strong&gt;static_configs.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;qdwr&quot;&gt;&lt;strong&gt;targets &lt;/strong&gt;- это цель, определённая машина, на которую мы устанавливали ноду-экспортёр и откуда желаем собирать метрики.&lt;/p&gt;
  &lt;p id=&quot;E77F&quot;&gt;&lt;strong&gt;label &lt;/strong&gt;- название этого сервера для отображения в графане.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Rk01&quot;&gt;&lt;strong&gt;targets: [&amp;lt;IP&amp;gt;:9100]&lt;/strong&gt; - меняем только IP.&lt;br /&gt;&lt;strong&gt;label: &amp;quot;&amp;lt;label&amp;gt;&amp;quot; &lt;/strong&gt;- меняем на своё название сервера.&lt;/p&gt;
    &lt;p id=&quot;QATX&quot;&gt;Строго соблюдаем синтаксис: каждый отступ - 2 пробела. &lt;/p&gt;
    &lt;p id=&quot;zea5&quot;&gt;Не рекомендую исопользовать пробелы в названиях лейблов, у меня так не работало.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;Uhp1&quot; data-lang=&quot;bash&quot;&gt;# так будет выглядеть конфиг для одной ноды
global:
  scrape_interval:     15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: &amp;quot;node_exporter&amp;quot;
    static_configs:
    - targets: [&amp;lt;IP&amp;gt;:9100]
      labels:
        label: &amp;quot;&amp;lt;label_1&amp;gt;&amp;quot;
        
# так будет выглядеть конфиг для четырёх нод
global:
  scrape_interval:     15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: &amp;quot;node_exporter&amp;quot;
    static_configs:
    - targets: [&amp;lt;IP-1&amp;gt;:9100]
      labels:
        label: &amp;quot;&amp;lt;label_1&amp;gt;&amp;quot;
    - targets: [&amp;lt;IP-2&amp;gt;:9100]
      labels:
        label: &amp;quot;&amp;lt;label_2&amp;gt;&amp;quot;
    - targets: [&amp;lt;IP-3&amp;gt;:9100]
      labels:
        label: &amp;quot;&amp;lt;label_3&amp;gt;&amp;quot;
    - targets: [&amp;lt;IP-4&amp;gt;:9100]
      labels:
        label: &amp;quot;&amp;lt;label_4&amp;gt;&amp;quot;&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;9eOn&quot;&gt;По аналогии можно добавить хоть бесконечность таргетов, главное сохранять синтаксис и отступы.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;QGgR&quot;&gt;После того, как настроили конфиг - сохраняем изменения и перезапускаем графану и прометеус:&lt;/p&gt;
  &lt;pre id=&quot;O572&quot; data-lang=&quot;bash&quot;&gt;sudo systemctl daemon-reload &amp;amp;&amp;amp; \
sudo systemctl enable grafana-server &amp;amp;&amp;amp; \
sudo systemctl restart grafana-server &amp;amp;&amp;amp; \
sudo systemctl restart prometheusd&lt;/pre&gt;
  &lt;p id=&quot;wEKr&quot;&gt;Возвращаемся в графану и импортируем один из скачанных с гитхаба дашбордов:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;2a2p&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/e0/66/e06628e1-b420-4a49-9180-4d0f4ca78140.png&quot; width=&quot;198&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;4dvT&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/7a/f1/7af19f95-8c9d-4756-9e33-d0599f885d0d.png&quot; width=&quot;184&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;Eql9&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/d1/cc/d1cc8027-02a8-43f5-83cc-d59781c24906.png&quot; width=&quot;397&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;3iJd&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/71/ae/71aeb37e-30a8-439b-b04c-45f1a77de465.png&quot; width=&quot;641&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;iz4r&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/55/b2/55b2babe-9d46-448d-9c83-d362e213a0ea.png&quot; width=&quot;2486&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;5n3d&quot;&gt;Вуаля! Выглядит бомбически, мне очень нравится.&lt;/p&gt;
  &lt;p id=&quot;6JPO&quot;&gt;Если вам не нравится форма или размер виджета/панели, можно легко их редактировать: просто потянув за правый нижний угол виджета.&lt;/p&gt;
  &lt;p id=&quot;yn4v&quot;&gt;Например, если у вас много нод в списке и не удобно просматривать список с помощью скрола - просто увеличиваем высоту виджета:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;mddJ&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/fe/31/fe314f93-cd43-47fb-96db-3eeafcdaa010.png&quot; width=&quot;184&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;CH0I&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/f8/37/f837df79-fdda-4413-9e99-021ae71d9d7f.png&quot; width=&quot;2490&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;cOKZ&quot;&gt;Главное, нажать на кнопку сохранения в правом верхнем углу страницы, чтобы изменения вступили в силу:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;wIjI&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/6d/68/6d686f49-9f0b-4096-a52d-8c53c4393b98.png&quot; width=&quot;418&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;VYrV&quot;&gt;Возможно, в будущем добавлю ещё несколько вариаций дашбордов, если затянет. Подписываемся на обновления, хаха!&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;k9CY&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/86/ef/86ef470d-eaa8-4f3d-a986-4fd888334fb2.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;4DJE&quot;&gt;мамичу за то, что родила такого гения.&lt;/p&gt;
  &lt;figure id=&quot;u1jH&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/80/94/8094f1ca-b7d6-495c-b03f-332d2acbea2f.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Cg1O&quot;&gt;&lt;a href=&quot;https://t.me/how_to_node&quot; target=&quot;_blank&quot;&gt;@how_to_node&lt;/a&gt; - канал, где я выкладываю свои гайды.&lt;/p&gt;
  &lt;p id=&quot;602p&quot;&gt;&lt;a href=&quot;https://cyberomanov.tech/WTF_resources&quot; target=&quot;_blank&quot;&gt;Полезные ресурсы&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;GYtw&quot;&gt;&lt;a href=&quot;https://cyberomanov.tech/WTF_donate&quot; target=&quot;_blank&quot;&gt;Крипто-кошельки автора гайда&lt;/a&gt;.&lt;/p&gt;

</content></entry><entry><id>cyberomanov:moving</id><link rel="alternate" type="text/html" href="https://teletype.in/@cyberomanov/moving?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=cyberomanov"></link><title>Перенос Polkadot &amp; Cosmos /// v1.0</title><published>2021-09-22T16:14:42.329Z</published><updated>2023-01-13T14:24:44.564Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/ec/79/ec797605-e173-4103-9bcf-1bc96ffa5c12.png"></media:thumbnail><category term="immortal" label="Immortal Articles"></category><summary type="html">&lt;img src=&quot;https://boxit.es/wp-content/uploads/post/jorje/Mudanza-en-invierno.jpg&quot;&gt;В этой статье я буду «переносить» ноды, построенные на базе Polkadot и Tendermint, на другие сервера, не теряя валидатора и (практически) не пропуская блоков.</summary><content type="html">
  &lt;section&gt;
    &lt;figure id=&quot;wJ63&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://boxit.es/wp-content/uploads/post/jorje/Mudanza-en-invierno.jpg&quot; width=&quot;800&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;DhCA&quot;&gt;В этой статье я буду «переносить» ноды, построенные на базе &lt;strong&gt;Polkadot &lt;/strong&gt;и &lt;strong&gt;Tendermint, &lt;/strong&gt;на другие сервера, не теряя валидатора и (практически) не пропуская блоков.&lt;/p&gt;
  &lt;p id=&quot;JSrp&quot;&gt;Проекты на вышеупомянутых сетях «переносятся» по одному и тому же сценарию.&lt;/p&gt;
  &lt;p id=&quot;1ocx&quot;&gt;Если проект использует свой собственный блокчейн — подход будет уникальным от проекта к проекту и лучше уточнять особенности «переезда» в тематическом чате.&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;vHwX&quot;&gt;Если вы не знаете, &lt;strong&gt;что такое нода&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_node&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;где арендовать сервер для ноды&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_server&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;как подключиться к серверу&lt;/strong&gt; — читаем &lt;a href=&quot;/WTF_MobaXterm&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы всё знаете — открываем &lt;strong&gt;MobaXterm &lt;/strong&gt;и создаём сессию.&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;tBXT&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6e/b7/6eb72bd2-4a8e-4bdc-bdd4-1714e38ba7b8.png&quot; width=&quot;700&quot; /&gt;
  &lt;/figure&gt;
  &lt;ul id=&quot;FNwc&quot;&gt;
    &lt;li id=&quot;9mUE&quot;&gt;&lt;a href=&quot;#EF8B&quot;&gt;Polkadot или Cosmos?&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;NQXz&quot;&gt;&lt;a href=&quot;#Ixqg&quot;&gt;Перенос&lt;/a&gt;&lt;/li&gt;
    &lt;ul id=&quot;6Iwk&quot;&gt;
      &lt;li id=&quot;TbkV&quot;&gt;&lt;a href=&quot;#Ixqg&quot;&gt;Перенос Polkadot&lt;/a&gt;&lt;/li&gt;
      &lt;li id=&quot;XAYA&quot;&gt;&lt;a href=&quot;#ci3E&quot;&gt;Перенос Cosmos&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;Z4U7&quot;&gt;&lt;a href=&quot;#k9CY&quot;&gt;Благодарности&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;QzTq&quot;&gt;&lt;a href=&quot;#u1jH&quot;&gt;Полезные ресурсы на каждый день&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;EF8B&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/29/8f/298f1bb2-5782-4dff-9a9e-cc18d95d08eb.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Aw2h&quot;&gt;Я не буду углубляться в технические особенности и различия блокчейнов на уровне кода — я в этом не силён, да нам и не нужно. &lt;/p&gt;
  &lt;p id=&quot;Uzkj&quot;&gt;Определить, с каким блокчейном вы работаете, можно посмотрев на команды и инструменты, которыми вы пользуетесь при «поднятии» и «содержании» ноды.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;qbJZ&quot;&gt;Например, отличительной особенностью нод на польке является их телеметрия и дашборд.&lt;/p&gt;
  &lt;p id=&quot;wveu&quot;&gt;Так выглядит дашборд или эксплорер:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;bktG&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/7e/af/7eaf4794-90d0-4d19-9de8-b59885df5e5f.png&quot; width=&quot;1730&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;MdKN&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/ef/51/ef51590b-a905-4c95-a59f-40147b5c0917.png&quot; width=&quot;1736&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Qhn6&quot;&gt;А так телеметрия:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;FGKx&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/6b/d4/6bd46b13-3593-493b-a050-b63316f294a3.png&quot; width=&quot;1902&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;fVvl&quot;&gt;Если вам знаком данный дизайн, можете приступать к пункту: &lt;a href=&quot;#Ixqg&quot;&gt;перенос polkadot&lt;/a&gt;.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;piwy&quot;&gt;У космоса нет единого эксплорера для всех проектов, как у польки. &lt;/p&gt;
  &lt;p id=&quot;HqMk&quot;&gt;Но зато, все команды, используемые при работе с тендерминтом, практически идентичны.&lt;/p&gt;
  &lt;p id=&quot;3TWU&quot;&gt;Для космоса характерны такие команды, как:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;FMwW&quot;&gt;# отправляем транзакцию создания валидатора
$ rizond tx staking create-validator \
--amount=&amp;quot;7000000uatolo&amp;quot; \
--pubkey=$($HOME/go/bin/rizond tendermint show-validator) \
--moniker=$NICKNAME \
--commission-rate=&amp;quot;0.10&amp;quot; \
--commission-max-rate=&amp;quot;0.20&amp;quot; \
--commission-max-change-rate=&amp;quot;0.01&amp;quot; \
--min-self-delegation=&amp;quot;1&amp;quot; \
--from $NICKNAME&amp;#x27;_keys&amp;#x27; \
--chain-id=groot-011 \
--fees=&amp;quot;1000uatolo&amp;quot;&lt;/pre&gt;
  &lt;p id=&quot;V6Um&quot;&gt;или:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;WnOB&quot;&gt;# получаем высоту блоков нашей ноды
$ stchaincli status 2&amp;gt;&amp;amp;1 | jq .&amp;quot;sync_info&amp;quot;.&amp;quot;latest_block_height&amp;quot;&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;buY9&quot;&gt;# получаем статус синхронизации ноды
$ stchaincli status 2&amp;gt;&amp;amp;1 | jq .&amp;quot;sync_info&amp;quot;.&amp;quot;catching_up&amp;quot;

# &amp;#x27;true&amp;#x27; - нода синхронизируется, &amp;#x27;false&amp;#x27; - нода синхронизирована&lt;/pre&gt;
  &lt;p id=&quot;KyWL&quot;&gt;Если вы узнали эти команды, можно приступать к пункту: &lt;a href=&quot;#ci3E&quot;&gt;перенос tendermint&lt;/a&gt;.&lt;/p&gt;
  &lt;figure id=&quot;Ixqg&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f9/bf/f9bf68b9-158f-4da5-a4eb-60bff53ffd4f.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;mFlB&quot;&gt;Чтобы «перенести» ноду «на польке» на новый сервер, не теряя валидатора, нам нужно будет:&lt;/p&gt;
    &lt;ul id=&quot;aT4R&quot;&gt;
      &lt;li id=&quot;8IyF&quot;&gt;установить новую ноду (без валидатора) на новом сервере и начать её синхронизацию.&lt;/li&gt;
      &lt;li id=&quot;papM&quot;&gt;дождаться, пока в телеметрии новая нода догонит последний блок.&lt;/li&gt;
      &lt;li id=&quot;oEAQ&quot;&gt;в дашборде тестнета перепривязать сессионые ключи валидатора к новому серверу и выключить старую ноду.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/section&gt;
  &lt;p id=&quot;DNb7&quot;&gt;Например, у меня есть функционирующая нода &lt;a href=&quot;https://nodes.guru/porta&quot; target=&quot;_blank&quot;&gt;porta&lt;/a&gt;, которую я хочу «перенести» на другой сервер.&lt;/p&gt;
  &lt;p id=&quot;SCT6&quot;&gt;Первое, что нужно сделать — зайти в &lt;strong&gt;Staking &amp;gt; Account actions&lt;/strong&gt; и убедиться, что валидатор вообще работает:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;fkO6&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/e9/d4/e9d4b9b3-2190-4240-973d-7cbf8743658b.png&quot; width=&quot;1130&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Yp64&quot;&gt;Важно иметь мнемонику и &lt;strong&gt;json&lt;/strong&gt;-файлы от &lt;strong&gt;stash&lt;/strong&gt;-аккаунта и &lt;strong&gt;controller&lt;/strong&gt;-аккаунта. &lt;/p&gt;
    &lt;p id=&quot;2qWC&quot;&gt;При «переносе» нам они не пригодятся, если данные сохранились в «личном кабинете» на сайте полькадота, но возьмите в привычку: всегда бэкапить абсолютно все мнемоники и &lt;strong&gt;json&lt;/strong&gt;-файлы. &lt;/p&gt;
    &lt;p id=&quot;0S7W&quot;&gt;Имея их, можно будет восстановить ноду на любом сервере.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Dslg&quot;&gt;Второе, мы арендуем второй сервер (куда будем «переносить» ноду) и устанавливаем ПО на новый сервер, запускаем узел и начинаем синхронизацию. Можно даже использовать старый никнейм ноды.&lt;/p&gt;
  &lt;p id=&quot;yTcU&quot;&gt;В конечном итоге, у вас должны быть: &lt;strong&gt;старая нода с функционирующим валидатором&lt;/strong&gt; и &lt;strong&gt;новая, уже синхронизированная нода без валидатора&lt;/strong&gt;. &lt;/p&gt;
  &lt;p id=&quot;IXyt&quot;&gt;Вот так это будет примерно выглядеть в телеметрии:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;w8vZ&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/33/ba/33badcee-eb9b-4899-8088-beddc5088dda.png&quot; width=&quot;986&quot; /&gt;
      &lt;figcaption&gt;скриншот не из порты, у порты нет телеметрии. скриншот для примера.&lt;/figcaption&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;wCQr&quot;&gt;Теперь мы заходим в &lt;strong&gt;Staking &amp;gt; Account actions&lt;/strong&gt;, выбираем своего валидатора и нажимаем на настройки, затем — &lt;strong&gt;Change session keys&lt;/strong&gt;:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;nP5x&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/f8/07/f8071a01-5f3c-46a3-9b26-5cd97c5a5f90.png&quot; width=&quot;1123&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ycD1&quot;&gt;На новом сервере выполняем команду генерации сессионных ключей:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;hpZk&quot;&gt;Возможно, от проекта к проекту, команда будет незначительно отличаться, просто выполните команду, которую выполняли в самый первый раз, когда ставили ноду.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;z1D7&quot; data-lang=&quot;bash&quot;&gt;$ curl -H &amp;quot;Content-Type: application/json&amp;quot; \
-d &amp;#x27;{&amp;quot;id&amp;quot;:1, &amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;, &amp;quot;method&amp;quot;: &amp;quot;author_rotateKeys&amp;quot;, &amp;quot;params&amp;quot;:[]}&amp;#x27; \
http://127.0.0.1:9937 | jq .result | sed &amp;#x27;s/&amp;quot;//g&amp;#x27;&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;ZFPw&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/38/fe/38fe1b11-d701-4baa-8180-57e99fe4ba57.png&quot; width=&quot;886&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;1hLw&quot;&gt;И вставляем новые ключи в соответствующее поле на сайте:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;Cyg0&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/ac/8b/ac8b9669-be35-4f12-8047-e13df7ae4c7a.png&quot; width=&quot;1002&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;84Lj&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/5b/c8/5bc80dd8-af7d-4e08-8221-aceb19403cdc.png&quot; width=&quot;238&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;9EwO&quot;&gt;На скриншоте видно, что транзакция прошла успешно и нода теперь «привязана» к новому серверу. Теперь можно выключить ноду на старом сервере. &lt;/p&gt;
  &lt;p id=&quot;IJoj&quot;&gt;Для меня это:&lt;/p&gt;
  &lt;pre id=&quot;tmYs&quot; data-lang=&quot;bash&quot;&gt;$ sudo systemctl stop portad&lt;/pre&gt;
  &lt;p id=&quot;B9lN&quot;&gt;В начале новой эпохи валидатор перестанет валидировать, нужно будет вновь нажать &lt;strong&gt;Validate&lt;/strong&gt; в &lt;strong&gt;Staking &amp;gt; Account actions&lt;/strong&gt; и заново настроить комиссию:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;aeQ6&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/1b/70/1b70ddbe-b832-4e39-9e27-08e79e81aa21.png&quot; width=&quot;236&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;X8Q2&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/e4/15/e415e0c4-3a6f-4976-b8f8-af45a226c41d.png&quot; width=&quot;1059&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Cmn6&quot;&gt;Теперь валидатор валидирует с нового сервера с новыми ключами:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;ZFgU&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/89/1c/891c580c-3de4-48e5-850d-a2fd61aa3870.png&quot; width=&quot;561&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;ci3E&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bb/21/bb2113d3-b708-43a0-891e-13fbd2642571.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;iEAT&quot;&gt;Чтобы «перенести» ноду «на тендерминте» на новый сервер, не теряя валидатора, нам нужно будет:&lt;/p&gt;
    &lt;ul id=&quot;aT4R&quot;&gt;
      &lt;li id=&quot;NaFb&quot;&gt;установить новую ноду на новом сервере и начать её синхронизацию.&lt;/li&gt;
      &lt;li id=&quot;LOKv&quot;&gt;дождаться, пока новая нода догонит последний блок.&lt;/li&gt;
      &lt;li id=&quot;yid2&quot;&gt;восстановить старые ключи (кошелёк) на новой ноде.&lt;/li&gt;
      &lt;li id=&quot;QcSx&quot;&gt;скопировать 1 файл со старого сервера на новый: &lt;strong&gt;priv_validator_key.json.&lt;/strong&gt;&lt;/li&gt;
      &lt;li id=&quot;JH7R&quot;&gt;остановить старую ноду и включить новую с подменёнными файлами.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/section&gt;
  &lt;p id=&quot;CDpF&quot;&gt;Например, у меня есть функционирующая нода &lt;a href=&quot;https://teletype.in/@cyberomanov/stratos&quot; target=&quot;_blank&quot;&gt;stratos&lt;/a&gt;, которую я хочу «перенести» на другой сервер.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;zicc&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/4b/d3/4bd3ec4d-1586-4071-adf5-0976d9f33d0a.png&quot; width=&quot;1048&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;TUjL&quot;&gt;Первое, мы скачиваем со старого сервера файл, которые находится в следующем каталоге: &lt;strong&gt;$HOME/.&amp;lt;cosmos&amp;gt;/config/&lt;/strong&gt; на свой компьютер.&lt;/p&gt;
  &lt;p id=&quot;P2cj&quot;&gt;Нужный нам файл называется: &lt;strong&gt;priv_validator_key.json&lt;/strong&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;J5eq&quot;&gt;Название каталога с необходимым нам конфигом будет начинаться с точки и содержать несколько «папок»: &lt;strong&gt;config&lt;/strong&gt;, &lt;strong&gt;data&lt;/strong&gt;, возможно &lt;strong&gt;keyring-test&lt;/strong&gt; или что-то подобное.&lt;/p&gt;
    &lt;p id=&quot;vF1i&quot;&gt;Нам нужно найти в «корневом каталоге» (обычно, &lt;strong&gt;root&lt;/strong&gt;)директорию, которая содержит папку &lt;strong&gt;config&lt;/strong&gt;, и скачать её себе на ПК.&lt;/p&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;nD6c&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/e0/4c/e04cc3ce-8936-45bb-8625-b71f9a3a6b4f.png&quot; width=&quot;144&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;bCNk&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/d1/d2/d1d2e613-340b-4970-9c08-e5cc20838c91.png&quot; width=&quot;118&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;IOB1&quot;&gt;Скачать файлы можно с помощью инструментов программы &lt;strong&gt;MobaXterm &lt;/strong&gt;или &lt;strong&gt;SCP&lt;/strong&gt;:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;hk71&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/8f/8b/8f8b5618-a03e-4978-a677-c4e111028b0f.png&quot; width=&quot;621&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;kMlY&quot;&gt;Теперь мы должны начать установку ноды на новом сервере, настроить конфиги, файлы генезиса и следовать инструкции &lt;strong&gt;вплоть до запуска синхронизации&lt;/strong&gt; &lt;strong&gt;ноды и дождаться её полного завершения&lt;/strong&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;RxBR&quot;&gt;Создавать валидатора &lt;strong&gt;не нужно&lt;/strong&gt;, мы его восстановим. &lt;/p&gt;
    &lt;p id=&quot;bRwq&quot;&gt;Ключи создавать &lt;strong&gt;не нужно&lt;/strong&gt;, мы их восстановим.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;4Ii1&quot;&gt;В определённый момент у вас будет &lt;strong&gt;всё ещё активный валидатор&lt;/strong&gt; на старом сервере и &lt;strong&gt;полностью синхронизированная нода без валидатора&lt;/strong&gt; на новом сервере.&lt;/p&gt;
  &lt;figure id=&quot;CLoD&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1b/5d/1b5ddbb9-39b6-436d-a7a7-bef6efff99c9.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;HK3N&quot;&gt;Теперь восстанавливаем ключи на новом сервере по старой мнемонической фразе. Для стратоса команда имеет вид:&lt;/p&gt;
  &lt;pre id=&quot;JbzB&quot; data-lang=&quot;bash&quot;&gt;$ stchaincli keys add --hd-path &amp;quot;m/44&amp;#x27;/606&amp;#x27;/0&amp;#x27;/0/0&amp;quot; \
--keyring-backend=test $NICKNAME --recover&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;XKEp&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/91/6a/916aff1a-5f68-46a8-82ed-8d011bed277d.png&quot; width=&quot;935&quot; /&gt;
      &lt;figcaption&gt;скриншот со старого сервера&lt;/figcaption&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;uPcu&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c4/6e/c46e1fe1-8e1b-45d6-8a48-097cf978b8df.png&quot; width=&quot;1584&quot; /&gt;
      &lt;figcaption&gt;скриншот с нового сервера&lt;/figcaption&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ojXn&quot;&gt;Стандартный вид команды:&lt;/p&gt;
  &lt;pre id=&quot;e319&quot; data-lang=&quot;bash&quot;&gt;$ cosmosd keys add $NICKNAME --recover&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;69pS&quot;&gt;Как вы могли заметить, команда для восстановления ключей по мнемонике, идентична с командой для генерации новых ключей, за исключением одного параметра: &lt;strong&gt;--recover&lt;/strong&gt;.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;eFG6&quot;&gt;Если нет мнемоники, можно перенести следующие файлы со старого сервера на новый:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;VvVM&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/c2/3d/c23de974-3345-4be7-870f-0c06019a5ba8.png&quot; width=&quot;308&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;puOa&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/32/a0/32a0b202-7fba-47c2-9a82-2cc19e7f5f14.png&quot; width=&quot;223&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;5xQo&quot;&gt;И положить их в соответствующую директорию: рядом с конфигом или в конкретный каталог keyring-test, например, — одним словом туда, откуда вы их сохранили со старого сервера.&lt;/p&gt;
  &lt;figure id=&quot;NWRO&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e4/32/e432392d-ec81-4b5b-91d0-4766e424b2b8.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;mkcU&quot;&gt;Настал момент, когда нам &lt;strong&gt;нужно остановить сервисы нод&lt;/strong&gt; на каждом из серверов, чтобы не было такой ситуации, что одновременно работают 2 валидатора на одних и тех же ключах.&lt;/p&gt;
  &lt;p id=&quot;WZgu&quot;&gt;Важно убедиться, что старая нода выключена и не обрабатывает блоки. Очень важно.&lt;/p&gt;
  &lt;p id=&quot;7Aqy&quot;&gt;Для меня это:&lt;/p&gt;
  &lt;pre id=&quot;tAMp&quot; data-lang=&quot;bash&quot;&gt;$ sudo systemctl stop stratosd&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;DcDD&quot;&gt;В этот момент старый валидатор перестанет обрабатывать блоки. &lt;/p&gt;
    &lt;p id=&quot;Zlw9&quot;&gt;Чтобы не угодить в «тюрьму», следующие действия нужно выполнять &lt;strong&gt;быстро&lt;/strong&gt;.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;qlCF&quot;&gt;На новом сервере, в каталоге &lt;strong&gt;config&lt;/strong&gt; мы удаляем файл &lt;strong&gt;priv_validator_key.json&lt;/strong&gt;. Можно руками, можно командами:&lt;/p&gt;
  &lt;pre id=&quot;G3QL&quot; data-lang=&quot;bash&quot;&gt;$ cd $HOME/.&amp;lt;cosmos&amp;gt;/config/
$ rm -vf priv_validator_key.json&lt;/pre&gt;
  &lt;p id=&quot;1Sj0&quot;&gt;И загружаем скачанный ранее &lt;strong&gt;priv_validator_key.json &lt;/strong&gt;на новый сервер, в соответствующую директорию &lt;strong&gt;config.&lt;/strong&gt;&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;lPgn&quot;&gt;Этими действиями мы «переносим» валидатора на новый сервер, пропуская минимум блоков.&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;1p8N&quot;&gt;Теперь можно со спокойной душой запускать сервис на новом сервере:&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(323, 50%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;JUzE&quot;&gt;&lt;strong&gt;Важно убедиться, что старая нода выключена и не обрабатывает блоки. Только после этого запускаем новую ноду. &lt;/strong&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;Alpr&quot; data-lang=&quot;bash&quot;&gt;# включаем сервис &amp;#x27;stratosd&amp;#x27; одной командой 
$ sudo systemctl daemon-reload &amp;amp;&amp;amp; \
sudo systemctl enable stratosd &amp;amp;&amp;amp; sudo systemctl restart stratosd&lt;/pre&gt;
  &lt;p id=&quot;be24&quot;&gt;Сейчас нужно наблюдать в эксплорере, прошло ли всё удачно. &lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;nRhL&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/63/e3/63e35675-216f-474a-a218-0556f1bff213.png&quot; width=&quot;569&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;wGvV&quot;&gt;Как видно на скриншоте, валидатор продолжает обрабатывать блоки, несмотря на то, что первый сервер выключен.&lt;/p&gt;
  &lt;p id=&quot;lpTG&quot;&gt;Также можно проверить состояние валидатора на новом сервере с помощью команды:&lt;/p&gt;
  &lt;pre id=&quot;RIGG&quot; data-lang=&quot;bash&quot;&gt;$ stchaincli query staking validator $(stchaincli keys show $NICKNAME \
--bech val --address --keyring-backend test) --trust-node&lt;/pre&gt;
  &lt;p id=&quot;BmfN&quot;&gt;Стандартный вид команды:&lt;/p&gt;
  &lt;pre id=&quot;Cmo6&quot; data-lang=&quot;bash&quot;&gt;$ cosmosd query staking \
validator $(cosmosd keys show $NICKNAME --bech val --address)&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;BzRf&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/9b/56/9b56b643-48f7-4d33-badc-d93483a2fef9.png&quot; width=&quot;954&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;DH0K&quot;&gt;Получилось всё провести быстро и нода даже не успела попасть в тюрьму.&lt;/p&gt;
  &lt;p id=&quot;yoge&quot;&gt;Но если валидатор всё же угодил в неё — нужно соответствующей командой его оттуда вытащить:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;60Gz&quot;&gt;# выйти из &amp;#x27;тюрьмы&amp;#x27;
$ stchaincli tx slashing unjail --from=$NICKNAME \
--chain-id=stratos-testnet-2 \
--keyring-backend=test \
--gas=&amp;quot;auto&amp;quot; \
--gas-prices=&amp;quot;0.5ustos&amp;quot; \
--gas-adjustment=1.5&lt;/pre&gt;
  &lt;p id=&quot;eTY0&quot;&gt;Стандартный вид команды:&lt;/p&gt;
  &lt;pre id=&quot;rMp5&quot; data-lang=&quot;bash&quot;&gt;$ cosmosd tx slashing unjail --from=$NICKNAME --chain-id=&amp;lt;chain-id&amp;gt;&lt;/pre&gt;
  &lt;figure id=&quot;k9CY&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/86/ef/86ef470d-eaa8-4f3d-a986-4fd888334fb2.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;TVct&quot;&gt;мамичу за то, что родила такого гения.&lt;/p&gt;
  &lt;p id=&quot;o1VK&quot;&gt;&lt;a href=&quot;https://t.me/napal_ded&quot; target=&quot;_blank&quot;&gt;@napal_ded&lt;/a&gt; за &lt;a href=&quot;https://telegra.ph/Pereezd-Omnifliksa-na-novuyu-tachku-bez-popoboli-nu-pochti-09-16&quot; target=&quot;_blank&quot;&gt;статью про переезд омнифликса&lt;/a&gt;. эта статья и натолкнула меня на написание текущего, на мой взгляд, более универсального гайда.&lt;/p&gt;
  &lt;p id=&quot;qJwZ&quot;&gt;&lt;a href=&quot;https://t.me/MikhailRadusha&quot; target=&quot;_blank&quot;&gt;@MikhailRadusha&lt;/a&gt; за отчёт по «переносу» порты.&lt;/p&gt;
  &lt;figure id=&quot;u1jH&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/80/94/8094f1ca-b7d6-495c-b03f-332d2acbea2f.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#tBXT&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Cg1O&quot;&gt;&lt;a href=&quot;https://t.me/how_to_node&quot; target=&quot;_blank&quot;&gt;@how_to_node&lt;/a&gt; - канал, где я выкладываю свои гайды.&lt;/p&gt;
  &lt;p id=&quot;602p&quot;&gt;&lt;a href=&quot;https://cyberomanov.tech/WTF_resources&quot; target=&quot;_blank&quot;&gt;Полезные ресурсы&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;GYtw&quot;&gt;&lt;a href=&quot;https://cyberomanov.tech/WTF_donate&quot; target=&quot;_blank&quot;&gt;Крипто-кошельки автора гайда&lt;/a&gt;.&lt;/p&gt;

</content></entry><entry><id>cyberomanov:omniflix</id><link rel="alternate" type="text/html" href="https://teletype.in/@cyberomanov/omniflix?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=cyberomanov"></link><title>Omniflix /// v3.0</title><published>2021-09-08T05:35:39.122Z</published><updated>2022-02-17T09:55:17.023Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/56/1f/561ffade-7c80-4265-a743-3eb41f47416d.png"></media:thumbnail><category term="ended" label="Ended Events"></category><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/84/76/84768602-64b5-4cff-979a-6623176f8cc3.png&quot;&gt;Устанавливаем ноду Omniflix для участия в тестнете FlixNet-3.</summary><content type="html">
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;8lgf&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/84/76/84768602-64b5-4cff-979a-6623176f8cc3.png&quot; width=&quot;881&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Y5Cy&quot;&gt;Устанавливаем ноду &lt;strong&gt;Omniflix&lt;/strong&gt; для участия в тестнете &lt;strong&gt;FlixNet-3&lt;/strong&gt;.&lt;/p&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;Y9Bt&quot;&gt;Если вы не знаете, &lt;strong&gt;что такое нода&lt;/strong&gt; — читаем &lt;a href=&quot;/@cyberomanov/WTF_node&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;где арендовать сервер для ноды&lt;/strong&gt; — читаем &lt;a href=&quot;/@cyberomanov/WTF_server&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы не знаете, &lt;strong&gt;как подключиться к серверу&lt;/strong&gt; — читаем &lt;a href=&quot;/@cyberomanov/WTF_MobaXterm&quot;&gt;статью&lt;/a&gt;. &lt;br /&gt;Если вы всё знаете — открываем &lt;strong&gt;MobaXterm &lt;/strong&gt;и создаём сессию.&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;GETY&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6e/b7/6eb72bd2-4a8e-4bdc-bdd4-1714e38ba7b8.png&quot; width=&quot;700&quot; /&gt;
  &lt;/figure&gt;
  &lt;ul id=&quot;NsFS&quot;&gt;
    &lt;li id=&quot;AEgZ&quot;&gt;&lt;a href=&quot;#j7MY&quot;&gt;Краткое описание ивента&lt;/a&gt;: несколько слов про ивент, условия участия.&lt;/li&gt;
    &lt;li id=&quot;nLO4&quot;&gt;&lt;a href=&quot;#CO6F&quot;&gt;Требования к железу&lt;/a&gt;: рекомендуемые технические параметры сервера.&lt;/li&gt;
    &lt;li id=&quot;R8R6&quot;&gt;&lt;a href=&quot;#QeBm&quot;&gt;Установка&lt;/a&gt;&lt;/li&gt;
    &lt;ul id=&quot;SPTU&quot;&gt;
      &lt;li id=&quot;n504&quot;&gt;&lt;a href=&quot;#QeBm&quot;&gt;Нода&lt;/a&gt;: скачиваем и настраиваем ноду;&lt;/li&gt;
      &lt;li id=&quot;MSc2&quot;&gt;&lt;a href=&quot;#vkWw&quot;&gt;Валидатора&lt;/a&gt;: создаём файл сервиса и запускаем валидатора.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;li id=&quot;5SiI&quot;&gt;&lt;a href=&quot;#shK3&quot;&gt;Полезные вещи&lt;/a&gt;&lt;/li&gt;
    &lt;ul id=&quot;elMk&quot;&gt;
      &lt;li id=&quot;K5NY&quot;&gt;&lt;a href=&quot;#shK3&quot;&gt;Полезные команды&lt;/a&gt; при работе с нодой;&lt;/li&gt;
      &lt;li id=&quot;fuWc&quot;&gt;&lt;a href=&quot;#6B1R&quot;&gt;Перенос и бэкап&lt;/a&gt;: пригодится при переезде;&lt;/li&gt;
      &lt;li id=&quot;3kgs&quot;&gt;&lt;a href=&quot;#fJH9&quot;&gt;Удаление ноды&lt;/a&gt;: на будущее;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/ul&gt;
  &lt;ul id=&quot;EHP3&quot;&gt;
    &lt;ul id=&quot;8Ffd&quot;&gt;
      &lt;li id=&quot;Ieze&quot;&gt;&lt;a href=&quot;#OeBS&quot;&gt;Ределегация&lt;/a&gt;: выводим реварды за стейкинг и ределегируем их.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/ul&gt;
  &lt;ul id=&quot;wITm&quot;&gt;
    &lt;li id=&quot;ZNnG&quot;&gt;&lt;a href=&quot;#hFgi&quot;&gt;Благодарности&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;bUoX&quot;&gt;&lt;a href=&quot;#WXC2&quot;&gt;Полезные ресурсы на каждый день&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;j7MY&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/90/d1/90d1989f-13e9-4c6b-84e0-f9216166f5de.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;IZaF&quot;&gt;&lt;strong&gt;Omniflix Network&lt;/strong&gt; - это мультимедийная сеть для авторов, позволяющая создавать, распространять и монетизировать мультимедийные активы.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p data-align=&quot;center&quot; id=&quot;IBFH&quot;&gt;&lt;a href=&quot;https://blog.omniflix.network/&quot; target=&quot;_blank&quot;&gt;Blog&lt;/a&gt; | &lt;a href=&quot;https://github.com/OmniFlix/testnets&quot; target=&quot;_blank&quot;&gt;Docs&lt;/a&gt; | &lt;a href=&quot;https://github.com/OmniFlix/omniflixhub&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt; | &lt;a href=&quot;https://omniflix.network/&quot; target=&quot;_blank&quot;&gt;WebSite&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/OmniFlixNetwork&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt; | &lt;a href=&quot;https://discord.com/invite/JAPr6MzEu7&quot; target=&quot;_blank&quot;&gt;Discord&lt;/a&gt; | &lt;a href=&quot;https://t.me/OmniFlixNetwork&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/p&gt;
  &lt;figure id=&quot;CO6F&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1e/68/1e68921d-fab9-40ff-8b0d-aea35411decd.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;bfdA&quot;&gt;Официальные требования: &lt;strong&gt;2 CPU &lt;/strong&gt;x&lt;strong&gt; 4 GB RAM &lt;/strong&gt;x&lt;strong&gt; 200 GB SSD&lt;/strong&gt; - Ubuntu 20.04.&lt;/p&gt;
  &lt;p id=&quot;MaxK&quot;&gt;Субъективные наблюдения: &lt;strong&gt;1 CPU &lt;/strong&gt;x&lt;strong&gt; 2 GB RAM &lt;/strong&gt;x&lt;strong&gt; 200 GB SSD&lt;/strong&gt; - Ubuntu 20.04.&lt;/p&gt;
  &lt;figure id=&quot;QeBm&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b0/38/b038e266-b2e4-40e4-9776-dc557f1e5f17.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;wNaM&quot;&gt;В этом блоке мы скачаем необходимые модули на сервер, установим и инициализируем ноду, а также восстановим ключи.&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;QGHK&quot;&gt;# обновляем &amp;#x27;базу данных&amp;#x27; и скачиваем необходимые зависимости 
$ sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y
$ sudo apt install curl build-essential git wget jq -y&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;YgAU&quot;&gt;# устанавливаем &amp;#x27;go&amp;#x27; одной командой
$ wget https://golang.org/dl/go1.17.5.linux-amd64.tar.gz; \
rm -rv /usr/local/go; \
tar -C /usr/local -xzf go1.17.5.linux-amd64.tar.gz &amp;amp;&amp;amp; \
rm -v go1.17.5.linux-amd64.tar.gz &amp;amp;&amp;amp; \
echo &amp;quot;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&amp;quot; &amp;gt;&amp;gt; ~/.bash_profile &amp;amp;&amp;amp; \
source ~/.bash_profile &amp;amp;&amp;amp; \
go version&lt;/pre&gt;
  &lt;p id=&quot;5E9n&quot;&gt;Отлично, сервер подготовлен. Приступаем к скачиванию необходимых файлов.&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;L9r1&quot;&gt;# клонируем и устанавливаем ноду
$ git clone https://github.com/Omniflix/omniflixhub.git &amp;amp;&amp;amp; \
cd omniflixhub &amp;amp;&amp;amp; \
git fetch --all &amp;amp;&amp;amp; \
git checkout v0.3.0 &amp;amp;&amp;amp; \
go mod tidy &amp;amp;&amp;amp; \
make install &amp;amp;&amp;amp; \
cd&lt;/pre&gt;
  &lt;pre id=&quot;vRd5&quot; data-lang=&quot;bash&quot;&gt;# проверяем
$ omniflixhubd version&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;pwSE&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/e9/4c/e94ccfad-dc1e-4bcb-b0d1-4ffd3385560a.png&quot; width=&quot;536&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;NjQf&quot;&gt;Теперь добавим наш никнейм, который будет в дальнейшем использоваться в качестве моникера и названия кошелька, в систему, как переменную.&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;zqrW&quot;&gt;Замените условную переменную &lt;strong&gt;&amp;lt;nickname&amp;gt;&lt;/strong&gt; на желаемый никнейм, раскрывая кавычки.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;eT9j&quot;&gt;# например, &amp;quot;export NICKNAME=&amp;quot;cyberomanov&amp;quot;&amp;quot; 
$ echo &amp;quot;export NICKNAME=&amp;quot;&amp;lt;nickname&amp;gt;&amp;quot;&amp;quot; &amp;gt;&amp;gt; ~/.bash_profile &lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;Zzg0&quot;&gt;# чтобы переменная загрузилась, необходимо перезагрузить &amp;#x27;.bash_profile&amp;#x27; 
$ source ~/.bash_profile&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;hKuQ&quot;&gt;# проверим значение переменной, выведя её на экран
$ echo $NICKNAME&lt;/pre&gt;
  &lt;section&gt;
    &lt;figure id=&quot;k0Kg&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/24/9a/249a3245-e43e-43ec-ae3a-c84f39adcb4b.png&quot; width=&quot;787&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;hr /&gt;
  &lt;p id=&quot;Z8G5&quot;&gt;Отлично. Приступим к инициализации ноды и генерации ключей.&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;O7Tu&quot;&gt;# инициализируем ноду  
$ omniflixhubd init $NICKNAME --chain-id flixnet-3&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;zKWk&quot;&gt;Скачиваем каталог &lt;strong&gt;$HOME/.omniflixhub/config/ &lt;/strong&gt;себе на ПК, в качестве бэкапа.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;Myp5&quot;&gt;# восстанавливаем ключи по мнемонике
$ omniflixhubd keys add $NICKNAME --recover
# либо генерируем новые
$ omniflixhubd keys add $NICKNAME&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;esR0&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/e9/86/e986c01d-ee9a-46e7-8971-ae2b13fd58fd.png&quot; width=&quot;885&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;vkWw&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e4/32/e432392d-ec81-4b5b-91d0-4766e424b2b8.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;37SJ&quot;&gt;Переходим к созданию сервиса ноды для запуска валидатора.&lt;/p&gt;
  &lt;pre id=&quot;ZGiW&quot; data-lang=&quot;bash&quot;&gt;# скачиваем новый генезис файл
$ curl https://raw.githubusercontent.com/OmniFlix/testnets/main/flixnet-3/genesis.json &amp;gt; ~/.omniflixhub/config/genesis.json&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;A5P2&quot;&gt;# создаём файл сервиса
$ sudo tee /etc/systemd/system/omniflixhubd.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF
[Unit]
Description=OmniFlixHub Daemon
After=network-online.target

[Service]
User=$USER
ExecStart=$(which omniflixhubd) start
Restart=always
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF&lt;/pre&gt;
  &lt;p id=&quot;vFEl&quot;&gt;Редактируем конфиг, обновляя сиды и пиры.&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;kr59&quot;&gt;# создаём временные переменные, где указываем рабочие пиры и сиды
$ seeds=&amp;quot;75a6d3a3b387947e272dab5b4647556e8a3f9fc1@45.72.100.122:26656&amp;quot;

$ peers=&amp;quot;f05968e78c84fd3997583fabeb3733a4861f53bf@45.72.100.120:26656,\
b29fad915c9bcaf866b0a8ad88493224118e8b78@104.154.172.193:26656,\
28ea934fbe330df2ca8f0ddd7a57a8a68c39a1a2@45.72.100.110:26656,\
94326ddc5661a1b571ea10c0626f6411f4926230@45.72.100.111:26656&amp;quot;&lt;/pre&gt;
  &lt;pre id=&quot;kr59&quot; data-lang=&quot;bash&quot;&gt;# и выполняем команду по установке новых пиров
$ sed -i.bak -e &amp;quot;s/^seeds *=.*/seeds = \&amp;quot;$seeds\&amp;quot;/; s/^persistent_peers *=.*/persistent_peers = \&amp;quot;$peers\&amp;quot;/&amp;quot; $HOME/.omniflixhub/config/config.toml&lt;/pre&gt;
  &lt;pre id=&quot;kr59&quot; data-lang=&quot;bash&quot;&gt;# устанавливаем минимальную цену газа
$ sed -i.bak -e &amp;quot;s/^minimum-gas-prices *=.*/minimum-gas-prices = \&amp;quot;0.001uflix\&amp;quot;/&amp;quot; $HOME/.omniflixhub/config/app.toml&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;YotS&quot;&gt;# &amp;#x27;очищаем кеш&amp;#x27;
$ omniflixhubd unsafe-reset-all&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;w09S&quot;&gt;# обновляем данные о сервисах и запускаем ноду одной командой
$ sudo systemctl daemon-reload &amp;amp;&amp;amp; \
sudo systemctl enable omniflixhubd &amp;amp;&amp;amp; \
sudo systemctl restart omniflixhubd&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;YZfq&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/a4/f2/a4f29819-6a06-4936-950a-f2e85a2de218.png&quot; width=&quot;2209&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;eKVm&quot;&gt;# проверяем логи
$ sudo journalctl -u omniflixhubd -f -o cat&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;CUFx&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img4.teletype.in/files/7d/d3/7dd33f5f-ade8-4461-8bae-4c7bcbfa7725.png&quot; width=&quot;2115&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;rgF3&quot;&gt;После полной синхронизации создаём валидатора:&lt;/p&gt;
  &lt;pre id=&quot;eXAS&quot; data-lang=&quot;bash&quot;&gt;$ omniflixhubd tx staking create-validator \
--amount=1000000uflix \
--pubkey=$(omniflixhubd tendermint show-validator) \
--moniker=&amp;quot;$NICKNAME&amp;quot; \
--chain-id=&amp;quot;flixnet-3&amp;quot; \
--commission-rate=&amp;quot;0.10&amp;quot; \
--commission-max-rate=&amp;quot;0.20&amp;quot; \
--commission-max-change-rate=&amp;quot;0.01&amp;quot; \
--min-self-delegation=&amp;quot;1&amp;quot; \
--gas=&amp;quot;auto&amp;quot; \
--gas-adjustment=&amp;quot;1.2&amp;quot; \
--gas-prices=&amp;quot;0.025uflix&amp;quot; \
--node &amp;#x60;cat &amp;quot;$HOME/.omniflixhub/config/config.toml&amp;quot; \
| grep -oPm1 &amp;quot;(?&amp;lt;=^laddr = \&amp;quot;)([^%]+)(?=\&amp;quot;)&amp;quot;&amp;#x60; \
--from=$NICKNAME&lt;/pre&gt;
  &lt;figure id=&quot;shK3&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/8e/a7/8ea78cb3-b463-402d-a250-61327a36e888.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;C03z&quot;&gt;Несколько команд для удобной работы с нодой.&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;87Ms&quot;&gt;# получаем высоту блоков нашей ноды
$ omniflixhubd status 2&amp;gt;&amp;amp;1 \
--node &amp;#x60;cat &amp;quot;$HOME/.omniflixhub/config/config.toml&amp;quot; \
| grep -oPm1 &amp;quot;(?&amp;lt;=^laddr = \&amp;quot;)([^%]+)(?=\&amp;quot;)&amp;quot;&amp;#x60; \
| jq .&amp;quot;SyncInfo&amp;quot;.&amp;quot;latest_block_height&amp;quot;&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;jBrC&quot;&gt;# получаем статус синхронизации ноды
$ omniflixhubd status 2&amp;gt;&amp;amp;1 \
--node &amp;#x60;cat &amp;quot;$HOME/.omniflixhub/config/config.toml&amp;quot; \
| grep -oPm1 &amp;quot;(?&amp;lt;=^laddr = \&amp;quot;)([^%]+)(?=\&amp;quot;)&amp;quot;&amp;#x60; \
| jq .&amp;quot;SyncInfo&amp;quot;.&amp;quot;catching_up&amp;quot;
# &amp;#x27;true&amp;#x27; - нода синхронизируется, &amp;#x27;false&amp;#x27; - нода синхронизирована&lt;/pre&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;figure id=&quot;qOU0&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/6f/e2/6fe2936a-9a1a-43e7-999e-55db825b2894.png&quot; width=&quot;876&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;Scaf&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/07/bc/07bcba28-6c94-4b98-a005-13735f017a59.png&quot; width=&quot;794&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;f9LJ&quot;&gt;# посмотреть информацию о валидаторе
$ omniflixhubd query staking \
validator $(omniflixhubd keys show $NICKNAME --bech=val -a) \
--node &amp;#x60;cat &amp;quot;$HOME/.omniflixhub/config/config.toml&amp;quot; \
| grep -oPm1 &amp;quot;(?&amp;lt;=^laddr = \&amp;quot;)([^%]+)(?=\&amp;quot;)&amp;quot;&amp;#x60;&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;zOJD&quot;&gt;# локальный эксплорер
$ omniflixhubd q staking validators --node &amp;#x60;cat &amp;quot;$HOME/.omniflixhub/config/config.toml&amp;quot; \
| grep -oPm1 &amp;quot;(?&amp;lt;=^laddr = \&amp;quot;)([^%]+)(?=\&amp;quot;)&amp;quot;&amp;#x60; \
-o json --limit=1000 \
| jq &amp;#x27;.validators[] | select(.status==&amp;quot;BOND_STATUS_BONDED&amp;quot;)&amp;#x27; \
| jq -r &amp;#x27;.tokens + &amp;quot; - &amp;quot; + .description.moniker&amp;#x27; | sort -gr | nl&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;TjCK&quot;&gt;# выйти из &amp;#x27;тюрьмы&amp;#x27;
$ omniflixhubd tx slashing unjail \
--chain-id=&amp;quot;flixnet-3&amp;quot; \
--gas=&amp;quot;auto&amp;quot; \
--gas-prices=&amp;quot;0.025uflix&amp;quot; \
--gas-adjustment=&amp;quot;1.2&amp;quot; \
--node &amp;#x60;cat &amp;quot;$HOME/.omniflixhub/config/config.toml&amp;quot; \
| grep -oPm1 &amp;quot;(?&amp;lt;=^laddr = \&amp;quot;)([^%]+)(?=\&amp;quot;)&amp;quot;&amp;#x60; \
--from=$NICKNAME&lt;/pre&gt;
  &lt;pre id=&quot;1SaO&quot; data-lang=&quot;bash&quot;&gt;# перезапустить сервис с нодой
$ sudo systemctl restart omniflixhubd&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;WMHi&quot;&gt;# остановить сервис с нодой
$ sudo systemctl stop omniflixhubd&lt;/pre&gt;
  &lt;pre id=&quot;UoDh&quot; data-lang=&quot;bash&quot;&gt;# проверить логи ноды
$ sudo journalctl -u omniflixhubd -f&lt;/pre&gt;
  &lt;figure id=&quot;6B1R&quot; class=&quot;m_original&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/fb/9f/fb9fc170-d5ae-47d9-8296-d5abb2c16625.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;TWM2&quot;&gt;Про перенос я написал &lt;a href=&quot;/@cyberomanov/moving&quot;&gt;полноценную статью&lt;/a&gt;. Читаем внимательно и вдумчиво.&lt;/p&gt;
  &lt;figure id=&quot;fJH9&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a3/be/a3be0848-c9c7-481e-aee1-0bbb8a2d3be2.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;6DCM&quot;&gt;Если вы вдруг разочаровались в проекте и хотите удалить его с сервера, то можно просто разрушить/удалить сервер из личного кабинета хостинга.&lt;/p&gt;
  &lt;p id=&quot;BjUe&quot;&gt;Это сработает, если на сервере нет других важных нод. В случае, если вы хотите оставить сервер, но удалить конкретную ноду - приступаем к её удалению:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;ksFE&quot;&gt;# останавливаем и отключаем сервис ноды
$ sudo systemctl stop omniflixhubd &amp;amp;&amp;amp; sudo systemctl disable omniflixhubd&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;HH7A&quot;&gt;# удаляем каталоги с файлами ноды
$ rm -Rvf $HOME/omniflixhub
$ rm -Rvf $HOME/.omniflixhub&lt;/pre&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;k8bA&quot;&gt;# удаляем файл сервиса и перезагружаем демона
$ sudo rm -v /etc/systemd/system/omniflixhubd.service 
$ sudo systemctl daemon-reload&lt;/pre&gt;
  &lt;figure id=&quot;OeBS&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b1/3a/b13a6b0d-36ee-44b2-bccd-10163f81d7de.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;DUQo&quot;&gt;План работы: выводим реварды за активное валидирование, проверяем баланс, ределегируем собранную награду снова на своего валидатора.&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;mZhA&quot;&gt;# вывести реварды за стейкинг для последующей ределегации
$ omniflixhubd tx distribution withdraw-all-rewards \
 --gas=&amp;quot;auto&amp;quot; \
 --gas-adjustment=&amp;quot;1.5&amp;quot; \
 --gas-prices=&amp;quot;0.025uflix&amp;quot; \
 --chain-id=flixnet-3 \
 --node &amp;#x60;cat &amp;quot;$HOME/.omniflixhub/config/config.toml&amp;quot; \
| grep -oPm1 &amp;quot;(?&amp;lt;=^laddr = \&amp;quot;)([^%]+)(?=\&amp;quot;)&amp;quot;&amp;#x60; \
 --from=$NICKNAME&lt;/pre&gt;
  &lt;section&gt;
    &lt;figure id=&quot;J3kI&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img2.teletype.in/files/dd/d7/ddd77618-1cc2-4bca-b6c3-499df2bc47c3.png&quot; width=&quot;1067&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;xe0n&quot;&gt;Замените условную переменную &lt;strong&gt;&amp;lt;address&amp;gt;&lt;/strong&gt; на ваш omni-адрес, раскрывая кавычки.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;dVOK&quot;&gt;# проверяем баланс
$ omniflixhubd query bank balances &amp;lt;address&amp;gt; --denom=&amp;quot;uflix&amp;quot; \
--node &amp;#x60;cat &amp;quot;$HOME/.omniflixhub/config/config.toml&amp;quot; \
| grep -oPm1 &amp;quot;(?&amp;lt;=^laddr = \&amp;quot;)([^%]+)(?=\&amp;quot;)&amp;quot;&amp;#x60;&lt;/pre&gt;
  &lt;section&gt;
    &lt;p id=&quot;r9dg&quot;&gt;Где &lt;strong&gt;&amp;lt;address&amp;gt; &lt;/strong&gt;- адрес, с которого производилось создание валидатора.&lt;/p&gt;
    &lt;figure id=&quot;eJoB&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/a8/ed/a8ed1da8-184d-4516-960c-818c58328203.png&quot; width=&quot;1061&quot; /&gt;
    &lt;/figure&gt;
    &lt;p id=&quot;Z0NL&quot;&gt;В &lt;strong&gt;amount &lt;/strong&gt;показывает весь свободный баланс. Не советую делегировать весь баланс, помните, что каждая транзакция имеет комиссию.&lt;/p&gt;
  &lt;/section&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;HpJ5&quot;&gt;# делегировать токены на своего валидатора
$ omniflixhubd tx staking delegate &amp;lt;operator_address&amp;gt; &amp;quot;1000000uflix&amp;quot; \
 --gas=&amp;quot;auto&amp;quot; \
 --gas-adjustment=1.5 \
 --gas-prices=&amp;quot;0.025uflix&amp;quot; \
 --chain-id=flixnet-3 \
 --node &amp;#x60;cat &amp;quot;$HOME/.omniflixhub/config/config.toml&amp;quot; \
| grep -oPm1 &amp;quot;(?&amp;lt;=^laddr = \&amp;quot;)([^%]+)(?=\&amp;quot;)&amp;quot;&amp;#x60;
 --from=$NICKNAME&lt;/pre&gt;
  &lt;section&gt;
    &lt;p id=&quot;I5A4&quot;&gt;Где &lt;strong&gt;&amp;lt;operator_address&amp;gt;&lt;/strong&gt; - адрес для делегации:&lt;/p&gt;
    &lt;figure id=&quot;Ahas&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/ef/c0/efc0d861-b2e6-4feb-ac22-7a28c51c29d5.png&quot; width=&quot;732&quot; /&gt;
    &lt;/figure&gt;
    &lt;p id=&quot;i9KY&quot;&gt;&lt;strong&gt;&amp;quot;1000000uflix&amp;quot;&lt;/strong&gt; - 1 токен.&lt;/p&gt;
    &lt;figure id=&quot;jufj&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/43/f5/43f58304-d3c9-4fcf-8396-39d4fc2dc8e3.png&quot; width=&quot;1062&quot; /&gt;
    &lt;/figure&gt;
    &lt;figure id=&quot;mASJ&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img3.teletype.in/files/aa/92/aa92cb82-592c-46b7-b2ca-3262e5a06a64.png&quot; width=&quot;550&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;p id=&quot;HEiL&quot;&gt;Проверяем информацию о валидаторе:&lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;8ifO&quot;&gt;$ omniflixhubd query staking \
validator $(omniflixhubd keys show $NICKNAME --bech=val -a) \
--node &amp;#x60;cat &amp;quot;$HOME/.omniflixhub/config/config.toml&amp;quot; \
| grep -oPm1 &amp;quot;(?&amp;lt;=^laddr = \&amp;quot;)([^%]+)(?=\&amp;quot;)&amp;quot;&amp;#x60;&lt;/pre&gt;
  &lt;section&gt;
    &lt;figure id=&quot;rV9u&quot; class=&quot;m_original&quot;&gt;
      &lt;img src=&quot;https://img1.teletype.in/files/48/94/48949bea-19b2-4874-9e60-8be8b79ef614.png&quot; width=&quot;801&quot; /&gt;
    &lt;/figure&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;hFgi&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/86/ef/86ef470d-eaa8-4f3d-a986-4fd888334fb2.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;rEbB&quot;&gt;мамичу за то, что родила такого гения.&lt;/p&gt;
  &lt;figure id=&quot;WXC2&quot; class=&quot;m_custom&quot; data-caption-align=&quot;right&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/80/94/8094f1ca-b7d6-495c-b03f-332d2acbea2f.png&quot; width=&quot;700&quot; /&gt;
    &lt;figcaption&gt;&lt;a href=&quot;#GETY&quot;&gt;Содержание&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;JeHu&quot;&gt;&lt;a href=&quot;https://t.me/how_to_node&quot; target=&quot;_blank&quot;&gt;@how_to_node&lt;/a&gt; - канал, где я выкладываю свои гайды.&lt;/p&gt;
  &lt;p id=&quot;sQFi&quot;&gt;&lt;a href=&quot;/@cyberomanov/WTF_resources&quot;&gt;Полезные ресурсы&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;4Vgy&quot;&gt;&lt;a href=&quot;/@cyberomanov/WTF_donate&quot;&gt;Крипто-кошельки автора гайда&lt;/a&gt;.&lt;/p&gt;

</content></entry></feed>