<?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>MMS Nodes EN</title><subtitle>In Crypto We Trust</subtitle><author><name>MMS Nodes EN</name></author><id>https://teletype.in/atom/mms-nodes-en</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/mms-nodes-en?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@mms-nodes-en?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mms-nodes-en"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/mms-nodes-en?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-26T00:46:50.241Z</updated><entry><id>mms-nodes-en:celestia-bonus-tech-task-en</id><link rel="alternate" type="text/html" href="https://teletype.in/@mms-nodes-en/celestia-bonus-tech-task-en?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mms-nodes-en"></link><title>Celestia - Full Node - Performance </title><published>2023-05-14T06:43:20.968Z</published><updated>2023-05-14T06:43:20.968Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/76/9e/769e1028-4fad-4c8c-b580-49c4eaff5dd7.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png&quot;&gt;Hello, everyone, this is MMS!
Today we analyzed the Full Celesita node technically, let's go.</summary><content type="html">
  &lt;figure id=&quot;kLiN&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png&quot; width=&quot;640&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;7IUH&quot;&gt;&lt;strong&gt;&lt;em&gt;Hello, everyone, this is MMS!&lt;/em&gt;&lt;br /&gt;&lt;/strong&gt;Today we analyzed the Full Celesita node technically, let&amp;#x27;s go.&lt;/p&gt;
  &lt;p id=&quot;he2d&quot;&gt;&lt;strong&gt;Hardware&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;XbQE&quot;&gt;4 CORE/8GB RAM/500GB Proxmox VM on Hetzner AX101&lt;/p&gt;
  &lt;p id=&quot;YKp6&quot;&gt;AMD Ryzen 9 5950X with 16-cores and 32 threads&lt;/p&gt;
  &lt;p id=&quot;1KpE&quot;&gt;128GB RAM DDR4&lt;/p&gt;
  &lt;p id=&quot;8oc4&quot;&gt;2 x 3.84TB NVMe SSD (Software RAID 0)&lt;/p&gt;
  &lt;p id=&quot;TlZw&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;OquZ&quot;&gt;Celestia version:&lt;/h3&gt;
  &lt;p id=&quot;cfG0&quot;&gt;Semantic version: v0.9.3&lt;br /&gt;Commit: 7f556f06e175267e0dd60b444a68554f592710a0&lt;/p&gt;
  &lt;p id=&quot;4HG7&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;mjYl&quot;&gt;Start Testing&lt;/h3&gt;
  &lt;p id=&quot;KfzY&quot;&gt;Time: 14:50:41 UTC&lt;/p&gt;
  &lt;p id=&quot;JFTO&quot;&gt;Height: 469370&lt;/p&gt;
  &lt;p id=&quot;qLYb&quot;&gt;Folder Size: 28621 MB&lt;/p&gt;
  &lt;p id=&quot;hAcm&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;UB2H&quot;&gt;End Testing&lt;/h3&gt;
  &lt;p id=&quot;2MrU&quot;&gt;Time: 15:50:42 UTC&lt;/p&gt;
  &lt;p id=&quot;gGgW&quot;&gt;Height: 469701&lt;/p&gt;
  &lt;p id=&quot;APHK&quot;&gt;Folder Size: 28946 MB (+325 MB)&lt;/p&gt;
  &lt;figure id=&quot;7752&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/7f/89/7f89d783-e98d-49c9-80e4-13aaa367c388.png&quot; width=&quot;1219&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;H0KD&quot;&gt;CPU Usage: AVG=4%, MAX=29%&lt;/p&gt;
  &lt;p id=&quot;1aJt&quot;&gt;Data Source: Proxmox&lt;/p&gt;
  &lt;figure id=&quot;OVAy&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1b/27/1b27d2a4-3322-4924-958d-683a5e96b787.png&quot; width=&quot;1215&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;G39b&quot;&gt;RAM Usage: AVG=21%, MAX=27%&lt;/p&gt;
  &lt;p id=&quot;Irt9&quot;&gt;Data Source: &amp;quot;free&amp;quot; command results every 10 seconds&lt;/p&gt;
  &lt;p id=&quot;c06j&quot;&gt;( Total - Available ) / Total * 100%&lt;/p&gt;
  &lt;figure id=&quot;k2Ua&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bf/f8/bff86094-e7c9-4fab-a015-546ecbb5ae56.png&quot; width=&quot;1215&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;VJOI&quot;&gt;Disk I/O Write: AVG=27,4Mb/s, MAX=658Mb/s&lt;/p&gt;
  &lt;p id=&quot;oGKL&quot;&gt;Data Source: Proxmox&lt;/p&gt;
  &lt;figure id=&quot;vpwL&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/51/81/518171d5-d7ed-4e72-80b7-d02fc6fdc365.png&quot; width=&quot;1215&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;vPFq&quot;&gt;Disk I/O Read: AVG=13,9Mb/s, MAX=650Mb/s&lt;/p&gt;
  &lt;p id=&quot;6Tg2&quot;&gt;Data Source: Proxmox&lt;/p&gt;
  &lt;figure id=&quot;b4So&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/5c/1b/5c1b1458-b3e0-447c-b6cc-7e94b36efd19.png&quot; width=&quot;1215&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;T2Fu&quot;&gt;Network In: AVG=1,46Mb/s, MAX=4,02Mb/s&lt;/p&gt;
  &lt;p id=&quot;w5qU&quot;&gt;Data Source: Proxmox&lt;/p&gt;
  &lt;figure id=&quot;12AR&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f8/b6/f8b6dd07-df6f-491e-94bf-1f00f4245011.png&quot; width=&quot;1215&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;7Vbj&quot;&gt;Network Out: AVG=1,22Mb/s, MAX=5,54Mb/s&lt;/p&gt;
  &lt;p id=&quot;EwRt&quot;&gt;Data Source: Proxmox&lt;/p&gt;
  &lt;figure id=&quot;SMOu&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/2b/7b/2b7bd181-b5ff-40bb-9aa3-3a30a4160bba.png&quot; width=&quot;1215&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Reou&quot;&gt;2 min TX Load (100TX per block since block 469693):&lt;/p&gt;
  &lt;figure id=&quot;pq7Q&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/ea/98/ea982df7-84e6-4684-9291-91adc01554f2.png&quot; width=&quot;1144&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;MGza&quot;&gt;Conclusion&lt;/h3&gt;
  &lt;p id=&quot;JQsb&quot;&gt;During the observation, load testing was carried out, after which peaks were observed on the &amp;quot;Disk I/O Read&amp;quot; graph. The rest of the metrics are within the normal range.&lt;/p&gt;
  &lt;p id=&quot;2oUA&quot;&gt;The folder size has increased by 325 megabytes. Based on the data received, the disk (1TB) will fill up in approximately 128 days.&lt;/p&gt;
  &lt;p id=&quot;pBlb&quot;&gt;Recommendation: Performance Testing&lt;/p&gt;

</content></entry><entry><id>mms-nodes-en:celestia-bonus-task-en</id><link rel="alternate" type="text/html" href="https://teletype.in/@mms-nodes-en/celestia-bonus-task-en?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mms-nodes-en"></link><title>Installing Celestia nodes, setting up Rollup </title><published>2023-04-29T06:14:24.325Z</published><updated>2023-05-14T09:59:29.389Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/06/db/06db8aa6-d546-473e-8b5a-1f9f0eb693be.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png&quot;&gt;Hello, everyone on MMS airwaves!

Today we will cover the installation of all Celestia nodes (Validator, Bridge, Full, Light). We will try to understand the utility of each node, because while &quot;Validator node&quot; is something familiar to the Cosmos ecosystem, as validators exist in every project, it's not so straightforward and unambiguous with Bridge, Full, and Light nodes.

We will also set up our Rollup and local Celestia network, and even write a small text query to it.

All the main information is taken from official sources:</summary><content type="html">
  &lt;figure id=&quot;pPRl&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/26/b9/26b96c69-f9fa-4933-992c-bc33b6c20b87.png&quot; width=&quot;640&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;uOTk&quot;&gt;&lt;em&gt;Hello, everyone on MMS airwaves!&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Today we will cover the installation of all &lt;strong&gt;Celestia &lt;/strong&gt;nodes (&lt;strong&gt;Validator&lt;/strong&gt;, &lt;strong&gt;Bridge&lt;/strong&gt;, &lt;strong&gt;Full&lt;/strong&gt;, &lt;strong&gt;Light&lt;/strong&gt;). We will try to understand the utility of each node, because while &amp;quot;Validator node&amp;quot; is something familiar to the Cosmos ecosystem, as validators exist in every project, it&amp;#x27;s not so straightforward and unambiguous with Bridge, Full, and Light nodes.&lt;br /&gt;&lt;br /&gt;We will also set up our &lt;strong&gt;Rollup &lt;/strong&gt;and local Celestia network, and even write a small text query to it.&lt;br /&gt;&lt;br /&gt;All the main information is taken from official sources:&lt;/p&gt;
  &lt;p id=&quot;ggNW&quot;&gt;&lt;a href=&quot;https://docs.celestia.org/&quot; target=&quot;_blank&quot;&gt;https://docs.celestia.org/&lt;br /&gt;https://rollkit.dev/docs/intro/&lt;/a&gt; &lt;br /&gt;&lt;a href=&quot;https://docs.ignite.com/&quot; target=&quot;_blank&quot;&gt;https://docs.ignite.com/&lt;/a&gt;&lt;/p&gt;
  &lt;h2 id=&quot;wr5p&quot;&gt;System requirements&lt;/h2&gt;
  &lt;p id=&quot;LkjM&quot;&gt;&lt;strong&gt;Validator node&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;brQk&quot;&gt;
    &lt;li id=&quot;BnHp&quot;&gt;Memory: 8 GB RAM&lt;/li&gt;
    &lt;li id=&quot;6Rp0&quot;&gt;CPU: 6 cores&lt;/li&gt;
    &lt;li id=&quot;94m2&quot;&gt;Disk: 500 GB SSD Storage&lt;/li&gt;
    &lt;li id=&quot;GxSX&quot;&gt;Bandwidth: 1 Gbps for Download/1 Gbps for Upload&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;9ZZB&quot;&gt;&lt;strong&gt;Light node&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;A0ND&quot;&gt;
    &lt;li id=&quot;4fSp&quot;&gt;Memory: 2 GB RAM&lt;/li&gt;
    &lt;li id=&quot;axXq&quot;&gt;CPU: Single Core&lt;/li&gt;
    &lt;li id=&quot;NPLh&quot;&gt;Disk: 25 GB SSD Storage&lt;/li&gt;
    &lt;li id=&quot;91AK&quot;&gt;Bandwidth: 56 Kbps for Download/56 Kbps for Upload&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;sxKb&quot;&gt;&lt;strong&gt;Для Bridge node&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;KdD9&quot;&gt;
    &lt;li id=&quot;BW95&quot;&gt;Memory: 8 GB RAM&lt;/li&gt;
    &lt;li id=&quot;AFYR&quot;&gt;CPU: 6 cores&lt;/li&gt;
    &lt;li id=&quot;h3eY&quot;&gt;Disk: 1 TB SSD Storage&lt;/li&gt;
    &lt;li id=&quot;y8PP&quot;&gt;Bandwidth: 1 Gbps for Download/1 Gbps for Upload&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;2N68&quot;&gt;&lt;strong&gt;Full node&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;nkFS&quot;&gt;
    &lt;li id=&quot;x504&quot;&gt;Memory: 8 GB RAM&lt;/li&gt;
    &lt;li id=&quot;SKYa&quot;&gt;CPU: Quad-Core&lt;/li&gt;
    &lt;li id=&quot;LrZV&quot;&gt;Disk: 1 TB SSD Storage&lt;/li&gt;
    &lt;li id=&quot;T7zj&quot;&gt;Bandwidth: 1 Gbps for Download/1 Gbps for Upload&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;sun0&quot;&gt;Part 1&lt;/h3&gt;
  &lt;p id=&quot;uZEQ&quot;&gt;&lt;em&gt;Validator node&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;cEfQ&quot;&gt;Let&amp;#x27;s start with the most familiar -&lt;strong&gt; Validator Node&lt;/strong&gt;, also known as &lt;strong&gt;Consensus Full node &lt;/strong&gt;(just without the validator installation).&lt;/p&gt;
  &lt;blockquote id=&quot;H45C&quot;&gt;&lt;strong&gt;In this guide, we use default ports, but if they are occupied, you can use our &lt;a href=&quot;https://nodes.mms.team/installing_multiple_nodes&quot; target=&quot;_blank&quot;&gt;guide &lt;/a&gt;on changing ports.&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;p id=&quot;PPu9&quot;&gt;In general, there are no pitfalls here, everything is the same as in a regular project based on Cosmos.&lt;/p&gt;
  &lt;p id=&quot;bx5P&quot;&gt;Let&amp;#x27;s continue with installing additional packages.&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;Xi41&quot;&gt;&lt;em&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;PhMB&quot;&gt;Installing additional packages&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;ECvc&quot;&gt;&lt;em&gt;sudo apt install make clang git pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget -y&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;b0cP&quot;&gt;Install go and check the version&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;K4nR&quot;&gt;&lt;em&gt;ver=&amp;quot;1.20.2&amp;quot; &amp;amp;&amp;amp; \ wget &amp;quot;https://golang.org/dl/go$ver.linux-amd64.tar.gz&amp;quot; &amp;amp;&amp;amp; \ sudo rm -rf /usr/local/go &amp;amp;&amp;amp; \ sudo tar -C /usr/local -xzf &amp;quot;go$ver.linux-amd64.tar.gz&amp;quot; &amp;amp;&amp;amp; \ rm &amp;quot;go$ver.linux-amd64.tar.gz&amp;quot; &amp;amp;&amp;amp; \ echo &amp;quot;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&amp;quot; &amp;gt;&amp;gt; $HOME/.bash_profile &amp;amp;&amp;amp; \ source $HOME/.bash_profile &amp;amp;&amp;amp; \ go version&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;pEnt&quot;&gt;Setting variables&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;I32K&quot;&gt;&lt;em&gt;CELESTIA_CHAIN=&amp;quot;blockspacerace-0&amp;quot;&lt;br /&gt;CELESTIA_MONIKER=&amp;quot;your_name&amp;quot; &lt;br /&gt;CELESTIA_WALLET=&amp;quot;your_name&amp;quot;&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Z8qh&quot;&gt;Export them to .bash_profile&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;AzIT&quot;&gt;&lt;em&gt;echo &amp;#x27;export CELESTIA_CHAIN=&amp;#x27;${CELESTIA_CHAIN} &amp;gt;&amp;gt; $HOME/.bash_profile echo &amp;#x27;export CELESTIA_MONIKER=&amp;#x27;${CELESTIA_MONIKER} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export CELESTIA_WALLET=&amp;#x27;${CELESTIA_WALLET} &amp;gt;&amp;gt; $HOME/.bash_profile source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;K4bF&quot;&gt;Clone the repository and build the binary&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;WYvt&quot;&gt;&lt;em&gt;cd $HOME/celestia-app/&lt;br /&gt;git clone https://github.com/celestiaorg/celestia-app.git &lt;br /&gt;git checkout v0.12.1 &lt;br /&gt;make install &lt;br /&gt;mv $HOME/go/bin/celestia-appd /usr/local/bin&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Cyep&quot;&gt;Initialize the node&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;NwiL&quot;&gt;&lt;em&gt;celestia-appd init $CELESTIA_MONIKER --chain-id blockspacerace-0&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;EEqI&quot;&gt;Download genesis.json&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;7Drj&quot;&gt;&lt;em&gt;wget -O $HOME/.celestia-app/config/genesis.json &amp;quot;https://raw.githubusercontent.com/celestiaorg/networks/master/blockspacerace/genesis.json&amp;quot;&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;nDO6&quot;&gt;Pruning setup (optional)&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;0O41&quot;&gt;&lt;em&gt;pruning=&amp;quot;custom&amp;quot; pruning_keep_recent=&amp;quot;1000&amp;quot; pruning_interval=&amp;quot;10&amp;quot; &lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;2u5r&quot;&gt;&lt;em&gt;sed -i -e &amp;quot;s/^pruning *=.*/pruning = \&amp;quot;$pruning\&amp;quot;/&amp;quot; $HOME/.celestia-app/config/app.toml sed -i -e &amp;quot;s/^pruning-keep-recent *=.*/pruning-keep-recent = \&amp;quot;$pruning_keep_recent\&amp;quot;/&amp;quot; $HOME/.celestia-app/config/app.toml sed -i -e &amp;quot;s/^pruning-interval *=.*/pruning-interval = \&amp;quot;$pruning_interval\&amp;quot;/&amp;quot; $HOME/.celestia-app/config/app.toml&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;NdLc&quot;&gt;Setting the gas price&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;UiMS&quot;&gt;&lt;em&gt;sed -i.bak -e &amp;quot;s/^minimum-gas-prices *=.*/minimum-gas-prices = \&amp;quot;0.001utia\&amp;quot;/;&amp;quot; ~/.celestia-app/config/app.toml&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;MG7b&quot;&gt;Adding seeds and peers&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;5ZcZ&quot;&gt;&lt;em&gt;peers=&amp;quot;be935b5942fd13c739983a53416006c83837a4d2@178.170.47.171:26656,cea09c9ac235a143d4b6a9d1ba5df6902b2bc2bd@95.214.54.28:20656,5c9cfba00df2aaa9f9fe26952e4bf912e3f1e8ee@195.3.221.5:26656,7b2f4cb70f04f2e9befb6ace66ce1ac7b3bea5b4@178.239.197.179:26656,7ee2ba21197d58679cfc1517b5bbc6465bed387a@65.109.67.25:26656,dc0656ab58280d641c8d10311d86627255bec8a1@148.251.85.27:26656,ccbd6262d0324e2e858594b639f4296cc4952c93@13.57.127.89:26656,a507b2bda6d2974c84ae1e8a8b788fc9e44d01f7@142.132.131.184:26656,9768290c60a746ee97ef1a5bcb8bee69066475e8@65.109.80.150:2600&amp;quot; sed -i.bak -e &amp;quot;s/^persistent_peers *=.*/persistent_peers = \&amp;quot;$peers\&amp;quot;/&amp;quot; $HOME/.celestia-app/config/config.toml&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;neFQ&quot;&gt;&lt;em&gt;seeds=&amp;quot;0293f2cf7184da95bc6ea6ff31c7e97578b9c7ff@65.109.106.95:26656,8f14ec71e1d712c912c27485a169c2519628cfb6@celest-test-seed.theamsolutions.info:22256&amp;quot; sed -i.bak -e &amp;quot;s/^seeds *=.*/seeds = \&amp;quot;$seeds\&amp;quot;/&amp;quot; $HOME/.celestia-app/config/config.toml&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;sWYN&quot;&gt;Create a service file&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;PXp9&quot;&gt;&lt;em&gt;sudo tee /etc/systemd/system/celestia-appd.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF &lt;br /&gt;[Unit] &lt;br /&gt;Description=celestia-appd &lt;br /&gt;After=network-online.target&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;rsUi&quot;&gt;&lt;em&gt;[Service] &lt;br /&gt;User=root &lt;br /&gt;ExecStart=$(which celestia-appd) start &lt;br /&gt;Restart=on-failure &lt;br /&gt;RestartSec=3 &lt;br /&gt;LimitNOFILE=65535&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;x1CG&quot;&gt;&lt;em&gt;[Install] &lt;br /&gt;WantedBy=multi-user.target &lt;br /&gt;EOF&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ceGn&quot;&gt;Then start and look at the logs&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;nRuz&quot;&gt;&lt;em&gt;sudo systemctl daemon-reload &amp;amp;&amp;amp; \&lt;br /&gt;sudo systemctl enable celestia-appd &amp;amp;&amp;amp; \&lt;br /&gt;sudo systemctl restart celestia-appd &amp;amp;&amp;amp; \&lt;br /&gt;sudo journalctl -u celestia-appd -f -o cat&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;nit1&quot;&gt;Create a wallet or restore&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;5Ac4&quot;&gt;&lt;em&gt;celestia-appd keys add $CELESTIA_WALLET &lt;br /&gt;celestia-appd keys add $CELESTIA_WALLET --recover&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;t5kZ&quot;&gt;Add wallet address to variable and export to .bash_profile&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;ytvB&quot;&gt;&lt;em&gt;CELESTIA_ADDR=$(celestia-appd keys show $CELESTIA_WALLET -a) &lt;br /&gt;echo &amp;#x27;export CELESTIA_ADDR=&amp;#x27;${CELESTIA_ADDR} &amp;gt;&amp;gt; $HOME/.bash_profile source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;BkOz&quot;&gt;Create a validator&lt;/p&gt;
  &lt;blockquote id=&quot;Kj1e&quot;&gt;&lt;strong&gt;&lt;em&gt;In this testnet, only selected participants are allowed&lt;/em&gt;&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;section&gt;
    &lt;p id=&quot;LVlZ&quot;&gt;&lt;em&gt;celestia-appd tx staking create-validator \&lt;br /&gt;--amount 1000000utia \&lt;br /&gt;--from $CELESTIA_WALLET \&lt;br /&gt;--commission-max-change-rate &amp;quot;0.05&amp;quot; \&lt;br /&gt;--commission-max-rate &amp;quot;0.2&amp;quot; \&lt;br /&gt;--commission-rate &amp;quot;0.1&amp;quot; \&lt;br /&gt;--min-self-delegation &amp;quot;1&amp;quot; \&lt;br /&gt;--pubkey $(celestia-appd tendermint show-validator) \&lt;br /&gt;--moniker $CELESTIA_MONIKER \&lt;br /&gt;--chain-id $CELESTIA_CHAIN&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;5qIc&quot;&gt;We add the address of the validator to the variable and export it to .bash_profile&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;kKTI&quot;&gt;&lt;em&gt;CELESTIA_VALOPER=$(celestia-appd keys show $CELESTIA_WALLET --bech val -a) &lt;br /&gt;echo &amp;#x27;export CELESTIA_VALOPER=&amp;#x27;${CELESTIA_VALOPER} &amp;gt;&amp;gt; $HOME/.bash_profile &lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;3WjN&quot;&gt;Since the &lt;strong&gt;Validator node&lt;/strong&gt; does not make much sense in this testnet (we are talking about unauthorized users), you can always make a node for RPC / API / GPRC endpoints, now we will show how this can be done&lt;/p&gt;
  &lt;p id=&quot;L0Ae&quot;&gt;To do this, we need to enable several options in the configs, if they are disabled.&lt;/p&gt;
  &lt;p id=&quot;6GU3&quot;&gt;Let&amp;#x27;s enable &lt;strong&gt;API/GRPC/RPC&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;jO2u&quot;&gt;&lt;em&gt;sed -i.bak -e &amp;quot;117 s/^enable *=.*/enable = true/&amp;quot; $HOME/.celestia-app/config/app.toml -e &amp;quot;183 s/^enable *=.*/enable = true/&amp;quot; $HOME/.celestia-app/config/app.toml &amp;amp;&amp;amp; cat -n $HOME/.celestia-app/config/app.toml | sed -n &amp;#x27;117p;183p&amp;#x27;&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;XGdB&quot;&gt;&lt;em&gt;sed -i.bak -e &amp;#x27;91 s/127.0.0.1/0.0.0.0/&amp;#x27; $HOME/.celestia-app/config/config.toml &amp;amp;&amp;amp; cat -n $HOME/.celestia-app/config/config.toml | sed -n &amp;#x27;91p&amp;#x27;&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;bp0a&quot;&gt;In order to find out your endpoint, you just need to substitute your server IP to a specific port, the server IP is &amp;quot;32.274.125.73&amp;quot; it will look like this:&lt;/p&gt;
  &lt;blockquote id=&quot;lfIC&quot;&gt;&lt;em&gt;&lt;strong&gt;I remind you that we do all this on default ports, if you have custom ones, change them to your own&lt;/strong&gt;&lt;/em&gt;&lt;/blockquote&gt;
  &lt;section&gt;
    &lt;p id=&quot;Lhi2&quot;&gt;&lt;em&gt;&lt;strong&gt;RPC:&lt;/strong&gt; 32.274.125.73:26657 &lt;strong&gt;API: &lt;/strong&gt;32.274.125.73:1317 &lt;strong&gt;GRPC: &lt;/strong&gt;32.274.125.73:9090&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;nM96&quot;&gt;Removing &lt;strong&gt;Validator node&lt;/strong&gt; / &lt;strong&gt;Consensus Full node&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;VBk8&quot;&gt;&lt;em&gt;cd $HOME/ &lt;br /&gt;rm /usr/local/bin/celestia-appd &lt;br /&gt;rm -rf .celestia-app/ &lt;br /&gt;rm -rf celestia-app/ &lt;br /&gt;rm /etc/systemd/system/celestia-appd.service &lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;h3 id=&quot;96EF&quot;&gt;Part 2&lt;/h3&gt;
  &lt;p id=&quot;c1LP&quot;&gt;&lt;strong&gt;Bridge/Full/Light nodes&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;SkWo&quot;&gt;Let&amp;#x27;s move on to the following types of nodes in Celestia - &lt;strong&gt;Light&lt;/strong&gt;, &lt;strong&gt;Bridge&lt;/strong&gt;, &lt;strong&gt;Full&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;fZby&quot;&gt;Now we will try to briefly tell you about them.&lt;/p&gt;
  &lt;p id=&quot;gYVt&quot;&gt;&lt;strong&gt;Light node &lt;br /&gt;&lt;/strong&gt;Light clients sample data availability in the Data Availability network.&lt;/p&gt;
  &lt;p id=&quot;t4Sd&quot;&gt;&lt;strong&gt;Bridge node &lt;br /&gt;&lt;/strong&gt;Bridge blocks between the Data Availability network and the Consensus network.&lt;/p&gt;
  &lt;p id=&quot;T6ic&quot;&gt;&lt;strong&gt;Fulll node &lt;br /&gt;&lt;/strong&gt;Stores all data in the Data Availability network, but is not connected to Consensus.&lt;/p&gt;
  &lt;p id=&quot;snAk&quot;&gt;Since their installation does not differ much from each other, in this guide we will simply duplicate the commands, and not write a separate section for &lt;strong&gt;each&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;CdWQ&quot;&gt;We download the repository, build a binary for nodes and cel-key to generate keys.&lt;/p&gt;
  &lt;blockquote id=&quot;0i25&quot;&gt;&lt;strong&gt;&lt;em&gt;After the &amp;quot;make install&amp;quot; command, the binary will be located along the path /usr/local/bin/celestia&lt;/em&gt;&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;section&gt;
    &lt;p id=&quot;wC4H&quot;&gt;&lt;em&gt;cd $HOME/ &lt;br /&gt;git clone https://github.com/celestiaorg/celestia-node.git &lt;br /&gt;cd celestia-node &lt;br /&gt;git checkout tags/v0.9.3 &lt;br /&gt;make build &lt;br /&gt;make install &lt;br /&gt;make cel-key&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;oLGy&quot;&gt;Инициализируем&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;qt5d&quot;&gt;&lt;strong&gt;#Light &lt;br /&gt;&lt;/strong&gt;&lt;em&gt;celestia light init --core.ip https://rpc-celestia-testnet.mms.team/ --p2p.network blockspacerace &lt;br /&gt;&lt;/em&gt;&lt;strong&gt;#Bridge &lt;br /&gt;&lt;/strong&gt;&lt;em&gt;celestia bridge init --core.ip https://rpc-celestia-testnet.mms.team/ --p2p.network blockspacerace &lt;br /&gt;&lt;/em&gt;&lt;strong&gt;#Full &lt;br /&gt;&lt;/strong&gt;&lt;em&gt;celestia full init --core.ip https://rpc-celestia-testnet.mms.team/ --p2p.network blockspacerace&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;p952&quot;&gt;Wallets are created during initialization, but if you want to change it / make another one, the command will be below, if you want to restore the wallet by mnemonic, add an additional &amp;quot;--recover&amp;quot; flag to the end of the command&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;EXMR&quot;&gt;&lt;em&gt;cd celestia-node/ &lt;br /&gt;&lt;/em&gt;&lt;strong&gt;#Light&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;./cel-key add NAME_HERE --keyring-backend test --node.type light --p2p.network blockspacerace &lt;br /&gt;&lt;/em&gt;&lt;strong&gt;#Bridge &lt;br /&gt;&lt;/strong&gt;&lt;em&gt;./cel-key add NAME_HERE --keyring-backend test --node.type bridge --p2p.network blockspacerace &lt;br /&gt;&lt;/em&gt;&lt;strong&gt;#Full &lt;br /&gt;&lt;/strong&gt;&lt;em&gt;./cel-key add NAME_HERE --keyring-backend test --node.type full --p2p.network blockspacerace&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;neyR&quot;&gt;Create a service file&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;y3Eu&quot;&gt;&lt;strong&gt;#Light &lt;br /&gt;&lt;/strong&gt;&lt;em&gt;sudo tee /etc/systemd/system/celestia-light.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF &lt;br /&gt;[Unit] &lt;br /&gt;Description=Celestia light node &lt;br /&gt;After=network-online.target &lt;br /&gt;[Service] &lt;br /&gt;User=root &lt;br /&gt;ExecStart=/usr/local/bin/celestia light start --core.ip https://rpc-celestia-testnet.mms.team/ --core.rpc.port 26660 --core.grpc.port 9090 --keyring.accname my_celes_key --metrics.tls=false --metrics --metrics.endpoint otel.celestia.tools:4318 --gateway --gateway.addr localhost --gateway.port 26667 --p2p.network blockspacerace &lt;br /&gt;Restart=on-failure &lt;br /&gt;RestartSec=3 &lt;br /&gt;LimitNOFILE=4096 &lt;br /&gt;[Install] &lt;br /&gt;WantedBy=multi-user.target &lt;br /&gt;EOF&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;SYJN&quot;&gt;&lt;strong&gt;#Bridge &lt;br /&gt;&lt;/strong&gt;&lt;em&gt;sudo tee /etc/systemd/system/celestia-bridge.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF &lt;br /&gt;[Unit] &lt;br /&gt;Description=Celestia bridge node &lt;br /&gt;After=network-online.target &lt;br /&gt;[Service] &lt;br /&gt;User=root &lt;br /&gt;ExecStart=/usr/local/bin/celestia bridge start --core.ip https://rpc-celestia-testnet.mms.team/ --keyring.accname my_celes_key --core.rpc.port 26657 --core.grpc.port 9090 --metrics.tls=false --metrics --metrics.endpoint otel.celestia.tools:4318 --gateway.port 26659 --p2p.network blockspacerace --gateway --gateway.addr localhost &lt;br /&gt;Restart=on-failure &lt;br /&gt;RestartSec=3 &lt;br /&gt;LimitNOFILE=4096 &lt;br /&gt;[Install] &lt;br /&gt;WantedBy=multi-user.target &lt;br /&gt;EOF&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;FVMp&quot;&gt;&lt;strong&gt;#Full &lt;br /&gt;&lt;/strong&gt;&lt;em&gt;sudo tee /etc/systemd/system/celestia-full.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF &lt;br /&gt;[Unit] &lt;br /&gt;Description=Celestia full node &lt;br /&gt;After=network-online.target &lt;br /&gt;[Service] &lt;br /&gt;User=root &lt;br /&gt;ExecStart=/usr/local/bin/celestia full start --core.ip https://rpc-celestia-testnet.mms.team/ --keyring.accname my_celes_key --core.rpc.port 26657 --core.grpc.port 9090 --metrics.tls=false --metrics --metrics.endpoint otel.celestia.tools:4318 --gateway.port 26659 --p2p.network blockspacerace --gateway --gateway.addr localhost &lt;br /&gt;Restart=on-failure &lt;br /&gt;RestartSec=3 &lt;br /&gt;LimitNOFILE=4096 &lt;br /&gt;[Install] &lt;br /&gt;WantedBy=multi-user.target &lt;br /&gt;EOF&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;EF4Z&quot;&gt;Sometimes there may be problems with starting due to the RPC node, in this case, you can search for alternative options &lt;a href=&quot;https://docs.celestia.org/nodes/blockspace-race/#rpc-endpoints&quot; target=&quot;_blank&quot;&gt;here &lt;/a&gt;and make a change in the service,&lt;br /&gt;in the &amp;quot;--core.ip&amp;quot; flag, and then restart the node&lt;br /&gt;&lt;br /&gt;Turn on the service file, restart and look at the logs&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;xg8x&quot;&gt;&lt;strong&gt;#Light &lt;br /&gt;&lt;/strong&gt;&lt;em&gt;systemctl daemon-reload &amp;amp;&amp;amp; \&lt;br /&gt;systemctl enable celestia-light.service &amp;amp;&amp;amp; \&lt;br /&gt;systemctl restart celestia-light.service &amp;amp;&amp;amp; \&lt;br /&gt;journalctl -fu celestia-light.service -o cat&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;rvUP&quot;&gt;&lt;strong&gt;#Bridge &lt;br /&gt;&lt;/strong&gt;&lt;em&gt;systemctl daemon-reload &amp;amp;&amp;amp; \&lt;br /&gt;systemctl enable celestia-bridge.service &amp;amp;&amp;amp; \&lt;br /&gt;systemctl restart celestia-bridge.service &amp;amp;&amp;amp; \&lt;br /&gt;journalctl -fu celestia-bridge.service -o cat&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;jR1U&quot;&gt;&lt;strong&gt;#Full &lt;br /&gt;&lt;/strong&gt;&lt;em&gt;systemctl daemon-reload &amp;amp;&amp;amp; \&lt;br /&gt;systemctl enable celestia-full.service &amp;amp;&amp;amp; \&lt;br /&gt;systemctl restart celestia-full.service &amp;amp;&amp;amp; \&lt;br /&gt;journalctl -fu celestia-full.service -o cat&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;h3 id=&quot;kOwU&quot;&gt;Часть 3&lt;/h3&gt;
  &lt;p id=&quot;rdFm&quot;&gt;Deploying sovereign Rollup using Rollkit and Run local chain&lt;/p&gt;
  &lt;p id=&quot;TCqq&quot;&gt;In this part of the guide, we will try to tell you how to rollup and start a local Celestia chain.&lt;/p&gt;
  &lt;blockquote id=&quot;1TeY&quot;&gt;&lt;strong&gt;spoiler - easier than you think&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;p id=&quot;KRiL&quot;&gt;First, let&amp;#x27;s set the variables and export them to .bash_profile&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;O48Q&quot;&gt;&lt;em&gt;BLOCKCHAIN_NAME=&amp;quot;NAME_HERE&amp;quot; &lt;br /&gt;ADDR_PREFIX=&amp;quot;PREFIX_HERE&amp;quot;&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;6uGv&quot;&gt;&lt;em&gt;echo &amp;#x27;export BLOCKCHAIN_NAME=&amp;#x27;${BLOCKCHAIN_NAME} &amp;gt;&amp;gt; $HOME/.bash_profile &lt;br /&gt;echo &amp;#x27;export ADDR_PREFIX=&amp;#x27;${ADDR_PREFIX} &amp;gt;&amp;gt; $HOME/.bash_profile &lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;6d2E&quot;&gt;Next, install Docker, a little later we will need it to start the local Celestia chain&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;HOMo&quot;&gt;&lt;em&gt;curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;9zw9&quot;&gt;After installing Docker, we start the local chain with a script&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;zkxf&quot;&gt;&lt;em&gt;docker run --platform linux/amd64 -p 26650:26657 -p 26659:26659 ghcr.io/rollkit/local-celestia-devnet:v0.9.1&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;AoEg&quot;&gt;Check if it works with a regular request&lt;/p&gt;
  &lt;blockquote id=&quot;axvs&quot;&gt;If everything is ok, it will output this response: &lt;strong&gt;{&amp;quot;denom&amp;quot;:&amp;quot;utia&amp;quot;,&amp;quot;amount&amp;quot;:&amp;quot;999995000000000&amp;quot;}&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;section&gt;
    &lt;p id=&quot;Ud0G&quot;&gt;&lt;em&gt;curl -X GET http://0.0.0.0:26659/balance&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;FFOW&quot;&gt;After the blockchain is launched, we open a separate session in our terminal and go there&lt;/p&gt;
  &lt;blockquote id=&quot;wxnG&quot;&gt;&lt;strong&gt;All this can be done through the screen software, but since the guide for this Rollup is not very long, we will do without it, if you are more comfortable working with screen, everything is in your hands ;)&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;p id=&quot;VtxI&quot;&gt;Let&amp;#x27;s now deal with such a thing as the Ignite CLI:&lt;/p&gt;
  &lt;p id=&quot;wqeC&quot;&gt;Ignite CLI is an easy-to-use CLI tool for creating and maintaining application-specific sovereign blockchains. Blockchains built with the Ignite CLI use the Cosmos SDK and Tendermint.&lt;/p&gt;
  &lt;p id=&quot;gPYr&quot;&gt;If you want to get to know this software better, welcome &lt;a href=&quot;https://docs.ignite.com/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;S7YX&quot;&gt;Next we need to install the &lt;strong&gt;Ignite CLI&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;0WSr&quot;&gt;&lt;em&gt;curl https://get.ignite.com/cli! | bash&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;qbXp&quot;&gt;We check that everything is OK, and at the same time the version&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;Bklr&quot;&gt;&lt;em&gt;ignite version&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;yh8L&quot;&gt;Next, we set the name of our blockchain and the address prefix&lt;/p&gt;
  &lt;blockquote id=&quot;hV6D&quot;&gt;&lt;em&gt;&lt;strong&gt;Next, we will show some part with screenshots, so that there are no questions&lt;/strong&gt;&lt;/em&gt;&lt;/blockquote&gt;
  &lt;section&gt;
    &lt;p id=&quot;WBR1&quot;&gt;&lt;em&gt;cd $HOME ignite scaffold chain $BLOCKCHAIN_NAME --address-prefix $ADDR_PREFIX&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;6qq5&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/ea/a2/eaa27691-f2d7-4a7b-a544-65adb2e7f351.png&quot; width=&quot;718&quot; /&gt;
    &lt;figcaption&gt;&lt;em&gt;&lt;strong&gt;The output should go something like this&lt;/strong&gt;&lt;/em&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;xSmF&quot;&gt;To further understand what we are doing, we need to tell you what &lt;strong&gt;Rollkit &lt;/strong&gt;is, as usual concisely, if you are interested - read &lt;a href=&quot;https://rollkit.dev/docs/intro/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;UpLh&quot;&gt;&lt;strong&gt;Rollkit - &lt;/strong&gt;is a framework for Rollup that gives developers the freedom to deploy rollups across the entire modular stack, opening up new opportunities for rapid experimentation and innovation.&lt;/p&gt;
  &lt;p id=&quot;eZOY&quot;&gt;Next, go to the newly created directory&lt;/p&gt;
  &lt;blockquote id=&quot;gtsc&quot;&gt;&lt;strong&gt;In our case, this is mms-team&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;section&gt;
    &lt;p id=&quot;eWE8&quot;&gt;&lt;em&gt;cd $BLOCKCHAIN_NAME&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;iQWq&quot;&gt;Now we need to replace various Tendermint modules with &lt;strong&gt;Rollkit&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;BhjN&quot;&gt;&lt;em&gt;go mod edit -replace github.com/cosmos/cosmos-sdk=github.com/rollkit/cosmos-sdk@v0.46.7-rollkit-v0.7.3-no-fraud-proofs go mod edit -replace github.com/tendermint/tendermint=github.com/celestiaorg/tendermint@v0.34.22-0.20221202214355-3605c597500d &lt;br /&gt;go mod tidy &lt;br /&gt;go mod download&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;kUOj&quot;&gt;Downloading the script that will launch our blockchain&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;e670&quot;&gt;&lt;em&gt;wget https://raw.githubusercontent.com/rollkit/docs/main/docs/scripts/gm/init-local.sh&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;QwuY&quot;&gt;Add variables and export to .bash_profile&lt;/p&gt;
  &lt;blockquote id=&quot;idQC&quot;&gt;&lt;strong&gt;Let&amp;#x27;s add a little explanation &lt;br /&gt;DENOM - this is the name of your coin &lt;br /&gt;BIN_FILE - this is the name of your binary file, which will be generated during the script, to find out the name of your binary file, you just need to add the letter &amp;quot;d&amp;quot; to your BLOCKCHAIN_NAME, in our case it will be &lt;em&gt;mms-teamd&lt;/em&gt;&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;section&gt;
    &lt;p id=&quot;BTOE&quot;&gt;&lt;em&gt;VALIDATOR_NAME=YOUR_VAL_NAME_HERE &lt;br /&gt;CHAIN_ID=YOUR_CHAIN_ID_HERE &lt;br /&gt;KEY_NAME=YOUR_WALLET_NAME_HERE KEY_2_NAME=YOUR_SECOND_WALLET_NAME_HERE DENOM=YOUR_DENOM_HERE &lt;br /&gt;BIN_FILE=YOUR_BLOCKCHAIN_NAMEd&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;hMf6&quot;&gt;&lt;em&gt;echo &amp;#x27;export VALIDATOR_NAME=&amp;#x27;${VALIDATOR_NAME} &amp;gt;&amp;gt; $HOME/.bash_profile echo &amp;#x27;export CHAIN_ID=&amp;#x27;${CHAIN_ID} &amp;gt;&amp;gt; $HOME/.bash_profile &lt;br /&gt;echo &amp;#x27;export KEY_NAME=&amp;#x27;${KEY_NAME} &amp;gt;&amp;gt; $HOME/.bash_profile &lt;br /&gt;echo &amp;#x27;export KEY_2_NAME=&amp;#x27;${KEY_2_NAME} &amp;gt;&amp;gt; $HOME/.bash_profile &lt;br /&gt;echo &amp;#x27;export DENOM=&amp;#x27;${DENOM} &amp;gt;&amp;gt; $HOME/.bash_profile &lt;br /&gt;echo &amp;#x27;export BIN_FILE=&amp;#x27;${BIN_FILE} &amp;gt;&amp;gt; $HOME/.bash_profile &lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;yKqu&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/05/5c/055c9db5-7ca3-4fdd-95b1-9258020c2da9.png&quot; width=&quot;648&quot; /&gt;
    &lt;figcaption&gt;&lt;em&gt;&lt;strong&gt;For us it looks like this&lt;/strong&gt;&lt;/em&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;oBUd&quot;&gt;Editing it for our variables&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;oXzV&quot;&gt;&lt;em&gt;sed -i.bak -e &amp;quot;s/^VALIDATOR_NAME*=.*/VALIDATOR_NAME=$VALIDATOR_NAME/&amp;quot; $HOME/mms-team/init-local.sh sed -i.bak -e &amp;quot;s/^CHAIN_ID*=.*/CHAIN_ID=$CHAIN_ID/&amp;quot; $HOME/mms-team/init-local.sh sed -i.bak -e &amp;quot;s/^KEY_NAME*=.*/KEY_NAME=$KEY_NAME/&amp;quot; $HOME/mms-team/init-local.sh sed -i.bak -e &amp;quot;s/^KEY_2_NAME*=.*/KEY_2_NAME=$KEY_2_NAME/&amp;quot; $HOME/mms-team/init-local.sh sed -i.bak -e &amp;quot;9,10 s/stake/$DENOM/&amp;quot; $HOME/mms-team/init-local.sh sed -i.bak -e &amp;quot;s/^gmd/$BIN_FILE/&amp;quot; $HOME/mms-team/init-local.sh&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;AvFi&quot;&gt;Run the script&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;DPw5&quot;&gt;&lt;em&gt;bash init-local.sh&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Ye52&quot;&gt;It will end in an error, but we have generated our working directory and now we can completely change our denom, in a ready-made genesis&lt;/p&gt;
  &lt;figure id=&quot;J1KG&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c1/39/c139d4d3-1115-4d22-942a-13404a8ad6ab.png&quot; width=&quot;1319&quot; /&gt;
    &lt;figcaption&gt;&lt;em&gt;&lt;strong&gt;Пример ошибки&lt;/strong&gt;&lt;/em&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;St6i&quot;&gt;Our new working directory will be named the same as our BLOCKCHAIN_NAME, except that it will start with a dot &amp;quot;&lt;strong&gt;.mms-team/&lt;/strong&gt;&amp;quot;&lt;/p&gt;
  &lt;p id=&quot;0MyW&quot;&gt;Add a variable for convenience and export to .bash_profile&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;JCi1&quot;&gt;&lt;em&gt;WORK_DIRECTORY=.$BLOCKCHAIN_NAME&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;Osxa&quot;&gt;&lt;em&gt;echo &amp;#x27;export WORK_DIRECTORY=&amp;#x27;${WORK_DIRECTORY} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;5MCs&quot;&gt;With the command we change denom &amp;quot;stake&amp;quot;, to the desired&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;3tEu&quot;&gt;&lt;em&gt;sed -i.bak -e &amp;quot;s/stake/$DENOM/&amp;quot; $HOME/$WORK_DIRECTORY/config/genesis.json&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;od1c&quot;&gt;Next, run the script again&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;1ssU&quot;&gt;&lt;em&gt;bash init-local.sh&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;T5rb&quot;&gt;During the execution of the script, some errors will occur, the script will also ask us about performing some actions, everywhere we answer &amp;quot;&lt;strong&gt;&lt;em&gt;n&lt;/em&gt;&lt;/strong&gt;&amp;quot;&lt;/p&gt;
  &lt;figure id=&quot;rYcd&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bb/8f/bb8f36bd-5505-4ea6-bcde-f4cc64246f7b.png&quot; width=&quot;1102&quot; /&gt;
    &lt;figcaption&gt;&lt;strong&gt;&lt;em&gt;Example of errors&lt;/em&gt;&lt;/strong&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;SpRb&quot;&gt;We launched our own blockchain, with our own variables&lt;/p&gt;
  &lt;figure id=&quot;DjPf&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/31/f9/31f92f29-94f2-4e2f-affb-7035ab10aa60.png&quot; width=&quot;1333&quot; /&gt;
    &lt;figcaption&gt;&lt;strong&gt;&lt;em&gt;Example of chain start&lt;/em&gt;&lt;/strong&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;NOv3&quot;&gt;In order not to invent anything with service files or with screen, we go to a separate terminal session&lt;/p&gt;
  &lt;p id=&quot;adpx&quot;&gt;Now your personal &lt;strong&gt;Rollup&lt;/strong&gt; is at your disposal, on the local Celestia chain&lt;/p&gt;
  &lt;p id=&quot;2siu&quot;&gt;You can do whatever you want, test different things that you were afraid of before in various dunets / testnets / mainnets, everything works exactly the same as in the most ordinary spacefork&lt;/p&gt;
  &lt;p id=&quot;NS5Y&quot;&gt;Just, for example, let&amp;#x27;s see what kind of wallets we have, make sure that the prefix that we set has really changed, and also see the balance and the list of validators&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;RfKl&quot;&gt;&lt;strong&gt;#Look at wallets &lt;/strong&gt;&lt;br /&gt;&lt;em&gt;$BIN_FILE keys list --keyring-backend test&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;g0ei&quot;&gt;&lt;strong&gt;#See the balance of one of the wallets &lt;br /&gt;&lt;/strong&gt;&lt;em&gt;$BIN_FILE q bank YOUR_ADDR_HERE&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;P6F0&quot;&gt;&lt;strong&gt;#Check active-set of our blockchain&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;$BIN_FILE q staking validators -o json --limit=1000 \&lt;br /&gt;| jq &amp;#x27;.validators[] | select(.status==&amp;quot;BOND_STATUS_BONDED&amp;quot;)&amp;#x27; \&lt;br /&gt;| jq -r &amp;#x27;.tokens + &amp;quot; - &amp;quot; + .description.moniker&amp;#x27; \&lt;br /&gt;| sort -gr | nl&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;3zT5&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/3b/35/3b356a52-fad4-4750-aa98-df716c01ab61.png&quot; width=&quot;829&quot; /&gt;
    &lt;figcaption&gt;&lt;strong&gt;&lt;em&gt;An example of what it looks like for us&lt;/em&gt;&lt;/strong&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;h8cC&quot;&gt;In general, here, you can make all your wildest fantasies come true.&lt;/p&gt;
  &lt;p id=&quot;Hete&quot;&gt;Stopping the local Celestia chain and stopping our &lt;strong&gt;Rollup&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;yp4s&quot;&gt;Next, we need to stop the networks that we launched, for this we go to the tab with our Rollup and press the key combination &amp;quot;&lt;strong&gt;&lt;em&gt;ctrl + c&lt;/em&gt;&lt;/strong&gt;&amp;quot;, after which it will stop&lt;/p&gt;
  &lt;p id=&quot;9tZJ&quot;&gt;Stopping and Removing the Celestia Local Chain Container and Stopping &lt;strong&gt;Rollup&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;4PXI&quot;&gt;To stop the &lt;strong&gt;Rollup &lt;/strong&gt;that we launched, for this we go to the tab with our &lt;strong&gt;Rollup &lt;/strong&gt;and press the key combination &amp;quot;&lt;strong&gt;&lt;em&gt;ctrl + c&lt;/em&gt;&lt;/strong&gt;&amp;quot;, after which it will stop&lt;/p&gt;
  &lt;p id=&quot;Gwbf&quot;&gt;Checking active containers with the command&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;MiIx&quot;&gt;&lt;em&gt;docker ps -a&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;2Kzd&quot;&gt;It will look like this:&lt;/p&gt;
  &lt;figure id=&quot;WFuX&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e3/40/e3406692-64fb-4752-8077-a8372bf3f0f4.png&quot; width=&quot;1317&quot; /&gt;
    &lt;figcaption&gt;&lt;em&gt;&lt;strong&gt;Example of a working container&lt;/strong&gt;&lt;/em&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;FN62&quot;&gt;В колонке &amp;quot;Container ID&amp;quot;, соответственно мы видим наш id контейнера, копируем его. Что бы остановить и удалить его, пишем следующие команды:&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;5jGO&quot;&gt;&lt;em&gt;docker stop YOUR_CONTAINER_ID &amp;amp;&amp;amp; \ docker rm YOUR_CONTAINER_ID&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;h3 id=&quot;BH04&quot;&gt;Part 3.1&lt;/h3&gt;
  &lt;p id=&quot;94Rw&quot;&gt;&lt;strong&gt;Setting up the text module&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Now that we have learned how to run our blockchain and the local Celestia chain, we will make it so that an additional command is added to our binary file, with the output of some text.&lt;br /&gt;First we need to launch Celestia Light node, the installation process is described in Part 2&lt;br /&gt;Create a query, answer &amp;quot;y&amp;quot; to a question from &lt;strong&gt;Ignite&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;Eyaf&quot;&gt;&lt;em&gt;cd $HOME/$BLOCKCHAIN_NAME/ ignite scaffold query $BLOCKCHAIN_NAME --response text&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;dj0Y&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/74/75/74754e80-39ce-45cd-b19f-4ee175d8e42d.png&quot; width=&quot;581&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;4m7F&quot;&gt;Further, in order not to produce even more variables, which are already enough, I will simply indicate where, what and how to change, with examples, in order to get to the desired file&lt;/p&gt;
  &lt;p id=&quot;sd2X&quot;&gt;We follow this path, it will be a little different for you, as well as the final file name, in fact, the name of your blockchain will be everywhere here. Our path looks like this:&lt;/p&gt;
  &lt;blockquote id=&quot;JlpV&quot;&gt;&lt;strong&gt;&lt;em&gt;n&lt;/em&gt;ano x/mmsteam/keeper/query_mms_team.go For those who don&amp;#x27;t know, double tapping the &amp;quot;tab&amp;quot; button shows you what&amp;#x27;s in the directory, in this case it becomes much easier to search, use this&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;section&gt;
    &lt;p id=&quot;PZsO&quot;&gt;&lt;em&gt;nano x/YOUR_CATALOG/keeper/query_YOUR_FILENAME.go&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;eqBJ&quot;&gt;When you have opened the desired file, there we need to add our text, at the very bottom&lt;/p&gt;
  &lt;p id=&quot;C79x&quot;&gt;We add this text in curly braces (you will have them empty), everything in quotes, you can safely change at your discretion, we will write:&lt;/p&gt;
  &lt;blockquote id=&quot;NdFc&quot;&gt;&lt;strong&gt;Text: &amp;quot;Join us https://t.me/mmsnodes Peace to all&amp;#x27;&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;section&gt;
    &lt;p id=&quot;ZB9a&quot;&gt;&lt;em&gt;Text: &amp;quot;YOUR_TEXT_HERE&amp;quot;&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;ZjoC&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/32/75/3275edd1-7577-4345-b687-49badd6f629a.png&quot; width=&quot;849&quot; /&gt;
    &lt;figcaption&gt;Function example&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;5E86&quot;&gt;Save changes&lt;/p&gt;
  &lt;p id=&quot;4rnT&quot;&gt;We are downloading a new script to launch &lt;strong&gt;Rollup&lt;/strong&gt;, only this time we will no longer launch the local Celestia chain, we will communicate with the real test chain using the &lt;strong&gt;LIght Node&lt;/strong&gt;, the installation of which we described above&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;SfUb&quot;&gt;&lt;em&gt;wget https://raw.githubusercontent.com/rollkit/docs/main/docs/scripts/gm/init-testnet.sh&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;YCS1&quot;&gt;Modifying the script for our variables&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;ftLn&quot;&gt;&lt;em&gt;sed -i.bak -e &amp;quot;s/^VALIDATOR_NAME*=.*/VALIDATOR_NAME=$VALIDATOR_NAME/&amp;quot; $HOME/mms-team/init-testnet.sh &lt;br /&gt;sed -i.bak -e &amp;quot;s/^CHAIN_ID*=.*/CHAIN_ID=$CHAIN_ID/&amp;quot; $HOME/mms-team/init-testnet.sh &lt;br /&gt;sed -i.bak -e &amp;quot;s/^KEY_NAME*=.*/KEY_NAME=$KEY_NAME/&amp;quot; $HOME/mms-team/init-testnet.sh &lt;br /&gt;sed -i.bak -e &amp;quot;s/stake/$DENOM/&amp;quot; $HOME/mms-team/init-testnet.sh &lt;br /&gt;sed -i.bak -e &amp;quot;s/^gmd/$BIN_FILE/&amp;quot; $HOME/mms-team/init-testnet.sh&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Ytcq&quot;&gt;Delete the previous binary and working directory&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;N6Hu&quot;&gt;&lt;em&gt;rm -r $HOME/go/bin/$BIN_FILE &amp;amp;&amp;amp; \&lt;br /&gt;rm -rf $HOME/$WORK_DIRECTORY&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Uwjp&quot;&gt;We go to our directory, from where we build the binary and run our converted script&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;i3Qf&quot;&gt;&lt;em&gt;cd $HOME/$BLOCKCHAIN_NAME &amp;amp;&amp;amp; \&lt;br /&gt;bash init-testnet.sh&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;0o9S&quot;&gt;Again we get the &amp;quot;denom&amp;quot; error, like last time, we change our genesis&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;Pacl&quot;&gt;&lt;em&gt;sed -i.bak -e &amp;quot;s/stake/$DENOM/&amp;quot; $HOME/$WORK_DIRECTORY/config/genesis.json&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;fdZS&quot;&gt;Run the script again and answer &amp;quot;&lt;strong&gt;n&lt;/strong&gt;&amp;quot; everywhere&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;3mLj&quot;&gt;&lt;em&gt;bash init-testnet.sh&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;VbAT&quot;&gt;We observe a successfully launched blockchain, using &lt;strong&gt;Rollkit&lt;/strong&gt;, but this time with access to the Internet, and not via a local network&lt;/p&gt;
  &lt;figure id=&quot;BF1N&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a8/6c/a86ce25d-94e1-45c1-b603-606b229cb0b8.png&quot; width=&quot;1408&quot; /&gt;
    &lt;figcaption&gt;&lt;em&gt;&lt;strong&gt;An example of a successful Rollup launch&lt;/strong&gt;&lt;/em&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;UpFe&quot;&gt;And so, we have very little left, it remains to compose and give the last command that we created&lt;/p&gt;
  &lt;blockquote id=&quot;Q0EA&quot;&gt;&lt;strong&gt;Our command looks like this &lt;br /&gt;$BIN_FILE q mmsteam mms-team &lt;br /&gt;Let&amp;#x27;s explain, for each word in the command:&lt;br /&gt;BIN_FILE - a variable with a binary file &lt;br /&gt;q - a standard cosmos module for requests &lt;br /&gt;mmsteam - our created text request module &lt;br /&gt;mms-team - the request itself&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;section&gt;
    &lt;p id=&quot;pXN2&quot;&gt;$BIN_FILE q YOUR_QUERY_MODULE YOUR_QUERY&lt;/p&gt;
  &lt;/section&gt;
  &lt;figure id=&quot;NEhS&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/16/b1/16b11684-069c-46f4-b59a-e608f8801ed5.png&quot; width=&quot;933&quot; /&gt;
    &lt;figcaption&gt;&lt;em&gt;&lt;strong&gt;Our command&amp;#x27;s output&lt;/strong&gt;&lt;/em&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Q5jp&quot;&gt;We learned how to create our own blockchain (&lt;strong&gt;Rollup&lt;/strong&gt;), using the &lt;strong&gt;Ignite &lt;/strong&gt;and &lt;strong&gt;Rollkit &lt;/strong&gt;utilities, based on &lt;strong&gt;Celestia&lt;/strong&gt;, we learned how to launch a local blockchain, as well as create our own, albeit simple (you have to start somewhere), modules for your blockchain.&lt;/p&gt;
  &lt;p id=&quot;DkLJ&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;3dOy&quot;&gt;Thank you very much for your attention and time&lt;br /&gt;Our telegram channel on nodes - &lt;a href=&quot;https://t.me/mmsnodes&quot; target=&quot;_blank&quot;&gt;https://t.me/mmsnodes&lt;/a&gt;&lt;br /&gt;Our telegram chat by nodes - &lt;a href=&quot;https://t.me/mmsnodeschat&quot; target=&quot;_blank&quot;&gt;https://t.me/mmsnodeschat&lt;/a&gt;&lt;br /&gt;Our telegram channel on the Cosmos ecosystem - &lt;a href=&quot;https://t.me/cosmochannel_mms&quot; target=&quot;_blank&quot;&gt;https://t.me/cosmochannel_mms&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;cwkP&quot;&gt;Sincerely, MMS_Team&lt;/p&gt;
  &lt;figure id=&quot;dnsD&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/5e/cc/5ecc809a-a64d-4f9e-bf45-0dd0ed03b5e1.jpeg&quot; width=&quot;1080&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>mms-nodes-en:installing_quicksilverd_node</id><link rel="alternate" type="text/html" href="https://teletype.in/@mms-nodes-en/installing_quicksilverd_node?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mms-nodes-en"></link><title>How to set up the Quicksilver Node</title><published>2022-05-27T18:01:09.998Z</published><updated>2022-06-17T18:24:25.557Z</updated><summary type="html">Hello everyone! Let's install the Quicksilver node and participate The Rhapsody testnet. Don't forget to play the &quot;Bohemian Rhapsody&quot; for inspiration.</summary><content type="html">
  &lt;p id=&quot;NV2W&quot;&gt;&lt;strong&gt;Hello everyone! Let&amp;#x27;s install the Quicksilver node and participate The Rhapsody testnet. Don&amp;#x27;t forget to play the &amp;quot;Bohemian Rhapsody&amp;quot; for inspiration.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;ZJDa&quot;&gt;&lt;strong&gt;Requirements for the node according to the documentation: &lt;br /&gt;4 Cores (modern CPU&amp;#x27;s), &lt;br /&gt;8GB RAM, &lt;br /&gt;40GB of storage. Quicksilver is using statesync, so disk requirements will be low.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;hXlp&quot;&gt;&lt;strong&gt;Always update your server first&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;tSfU&quot;&gt;&lt;em&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;mAX5&quot;&gt;&lt;strong&gt;Install additional packages&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;DYrO&quot;&gt;&lt;em&gt;sudo apt install make clang pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget -y&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;esKA&quot;&gt;&lt;strong&gt;Go lang installation. Please check the version at the end.&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;IFan&quot;&gt;&lt;em&gt;cd $HOME&lt;br /&gt;wget -O go1.18.1.linux-amd64.tar.gz https://golang.org/dl/go1.18.1.linux-amd64.tar.gz&lt;br /&gt;rm -rf /usr/local/go &amp;amp;&amp;amp; sudo tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz &amp;amp;&amp;amp; rm go1.18.1.linux-amd64.tar.gz&lt;br /&gt;echo &amp;#x27;export GOROOT=/usr/local/go&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export GOPATH=$HOME/go&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export GO111MODULE=on&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile &amp;amp;&amp;amp; . $HOME/.bash_profile&lt;br /&gt;go version&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;AlD0&quot;&gt;&lt;strong&gt;Download and install the binary&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;sC5W&quot;&gt;&lt;em&gt;git clone &lt;a href=&quot;https://github.com/ingenuity-build/quicksilver.git&quot; target=&quot;_blank&quot;&gt;https://github.com/ingenuity-build/quicksilver.git&lt;/a&gt; --branch v0.3.0&lt;br /&gt;cd quicksilver&lt;br /&gt;make build&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;X73Z&quot;&gt;&lt;strong&gt;Move the binary to the correct folder&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;mU0y&quot;&gt;&lt;em&gt;chmod +x ./build/quicksilverd &amp;amp;&amp;amp; sudo mv ./build/quicksilverd /usr/local/bin/quicksilverd&lt;br /&gt;cd $HOME&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;idvs&quot;&gt;&lt;strong&gt;Set variables. &lt;br /&gt;Change MONICKER to your name and set the WALLET NAME as well. Do not change the CHAIN name.&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;DCBR&quot;&gt;&lt;em&gt;MONIKER=&amp;quot;your_name&amp;quot;&lt;br /&gt;CHAIN=&amp;quot;rhapsody-5&amp;quot;&lt;br /&gt;WALLET_NAME=&amp;quot;your_name&amp;quot;&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;fjKo&quot;&gt;&lt;strong&gt;Save all variables in the .bash_profile&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;pPAo&quot;&gt;&lt;em&gt;echo &amp;#x27;export MONIKER=&amp;#x27;${MONIKER} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export CHAIN=&amp;#x27;${CHAIN} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export WALLET_NAME=&amp;#x27;${WALLET_NAME} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;GiLg&quot;&gt;&lt;strong&gt;Initialize the 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;p id=&quot;4N31&quot;&gt;&lt;em&gt;quicksilverd init $MONIKER --chain-id $CHAIN&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;kvOr&quot;&gt;&lt;strong&gt;Save the name of network, keyring backend and broadcast mode to the config file. &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;rT9s&quot;&gt;&lt;em&gt;quicksilverd config chain-id $CHAIN&lt;br /&gt;quicksilverd config keyring-backend test&lt;br /&gt;quicksilver config broadcast-mode block&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;gxI5&quot;&gt;&lt;strong&gt;Download the genesis file&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;fSg1&quot;&gt;&lt;em&gt;wget -qO $HOME/.quicksilverd/config/genesis.json &amp;quot;&lt;a href=&quot;https://raw.githubusercontent.com/ingenuity-build/testnets/main/rhapsody/genesis.json&quot; target=&quot;_blank&quot;&gt;https://raw.githubusercontent.com/ingenuity-build/testnets/main/rhapsody/genesis.json&lt;/a&gt;&amp;quot;&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;yRmu&quot;&gt;&lt;strong&gt;Setting up pruning&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;GJ9v&quot;&gt;&lt;em&gt;pruning=&amp;quot;custom&amp;quot;&lt;br /&gt;pruning_keep_recent=&amp;quot;100&amp;quot;&lt;br /&gt;pruning_keep_every=&amp;quot;0&amp;quot;&lt;br /&gt;pruning_interval=&amp;quot;10&amp;quot;&lt;br /&gt;sed -i -e &amp;quot;s/^pruning *=.*/pruning = \&amp;quot;$pruning\&amp;quot;/&amp;quot; $HOME/.quicksilverd/config/app.toml&lt;br /&gt;sed -i -e &amp;quot;s/^pruning-keep-recent *=.*/pruning-keep-recent = \&amp;quot;$pruning_keep_recent\&amp;quot;/&amp;quot; $HOME/.quicksilverd/config/app.toml&lt;br /&gt;sed -i -e &amp;quot;s/^pruning-keep-every *=.*/pruning-keep-every = \&amp;quot;$pruning_keep_every\&amp;quot;/&amp;quot; $HOME/.quicksilverd/config/app.toml&lt;br /&gt;sed -i -e &amp;quot;s/^pruning-interval *=.*/pruning-interval = \&amp;quot;$pruning_interval\&amp;quot;/&amp;quot; $HOME/.quicksilverd/config/app.toml&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;8ZB7&quot;&gt;&lt;strong&gt;Add seeds&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;yg6L&quot;&gt;&lt;em&gt;seeds=&amp;quot;dd3460ec11f78b4a7c4336f22a356fe00805ab64@seed.rhapsody-5.quicksilver.zone:26656&amp;quot;&lt;br /&gt;sed -i.bak -e &amp;quot;s/^seeds *=.*/seeds = \&amp;quot;$seeds\&amp;quot;/&amp;quot; $HOME/.quicksilverd/config/config.toml&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;7KBA&quot;&gt;&lt;strong&gt;Create a service file&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;BTYt&quot;&gt;&lt;em&gt;tee /etc/systemd/system/quicksilverd.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF&lt;br /&gt;[unit]&lt;br /&gt;Description=Quicksilver&lt;br /&gt;After=network.target&lt;br /&gt;[service]&lt;br /&gt;Type=simple&lt;br /&gt;User=$USER&lt;br /&gt;ExecStart=$(which quicksilverd) start&lt;br /&gt;Restart=on-failure&lt;br /&gt;RestartSec=10&lt;br /&gt;LimitNOFILE=65535&lt;br /&gt;[Install]&lt;br /&gt;WantedBy=multi-user.target&lt;br /&gt;EOF&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;FRB6&quot;&gt;&lt;strong&gt;And start the service&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;jqb5&quot;&gt;&lt;em&gt;sudo systemctl daemon-reload&lt;br /&gt;sudo systemctl enable quicksilverd&lt;br /&gt;sudo systemctl restart quicksilverd&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;INed&quot;&gt;&lt;strong&gt;Let&amp;#x27;s check logs and wait for the node to start synchronizing&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;WeG2&quot;&gt;&lt;em&gt;journalctl -u quicksilverd -f -o cat&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;92e9&quot;&gt;&lt;strong&gt;Also, you can check synchronization status . If catching_up&amp;quot;: false, your node is synchronized.&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;HGo9&quot;&gt;&lt;em&gt;quicksilver status 2&amp;gt;&amp;amp;1 | jq .SyncInfo&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;yI47&quot;&gt;&lt;strong&gt;After the synchronization, create your wallet. You will need to set a password. Do not change the name, we set it up earlier.  Don&amp;#x27;t forget to save your mnemonic, password and wallet address.&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;z9B0&quot;&gt;&lt;em&gt;quicksilverd keys add $WALLET_NAME&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;L7ow&quot;&gt;&lt;strong&gt;Link the variable with the wallet address&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;FQRT&quot;&gt;&lt;em&gt;WALLET_ADDRESS=$(quicksilverd keys show $WALLET_NAME -a)&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;awqr&quot;&gt;&lt;strong&gt;Add save this variable to the .bash_profile&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;Vowh&quot;&gt;&lt;em&gt;echo &amp;#x27;export WALLET_ADDRESS=&amp;#x27;${WALLET_ADDRESS} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;9SEU&quot;&gt;&lt;strong&gt;Now you need to receive funds from the faucet. Go to the &lt;a href=&quot;https://discord.gg/CmsM26aT6F&quot; target=&quot;_blank&quot;&gt;discord &lt;/a&gt;channel #qck-tap and request tokens:  $request wallet_number rhapsody&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;6lrI&quot;&gt;&lt;strong&gt;Check your balance:&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;dxOS&quot;&gt;&lt;em&gt;quicksilverd query bank balances $WALLET_ADDRESS&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;7cuR&quot;&gt;&lt;strong&gt;If you already have tokens in your wallet, next step is creating validator. You can change amount for delegation.&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;M52z&quot;&gt;&lt;em&gt;quicksilverd tx staking create-validator \&lt;br /&gt;  --from=$WALLET_NAME \&lt;br /&gt;  --amount=5000000uqck \&lt;br /&gt;  --moniker=$MONIKER \&lt;br /&gt;  --chain-id=$CHAIN ​​\&lt;br /&gt;  --commission-rate=0.1 \&lt;br /&gt;  --commission-max-rate=0.2 \&lt;br /&gt;  --commission-max-change-rate=0.1 \&lt;br /&gt;  --min-self-delegation=1 \&lt;br /&gt;  --pubkey=$(quicksilverd tendermint show-validator)&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;TUWJ&quot;&gt;&lt;strong&gt;Link validator variable with the address.&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;UxHP&quot;&gt;&lt;em&gt;VALOPER=$(quicksilverd keys show $WALLET_ADDRESS --bech val -a)&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;mW9z&quot;&gt;&lt;strong&gt;Аdd this variable to the .bash_profile&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;dz21&quot;&gt;&lt;em&gt;echo &amp;#x27;export VALOPER=&amp;#x27;${VALOPER} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;mPcq&quot;&gt;&lt;strong&gt;Check the status&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;9o9J&quot;&gt;&lt;em&gt;quicksilverd query staking validator $VALOPER&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ZE2f&quot;&gt;&lt;strong&gt;Delegate more to your validator. Check your balance and change the amount if needed.&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;v7En&quot;&gt;&lt;em&gt;quicksilverd tx staking delegate $VALOPER 1000000uqck --from $WALLET_NAME --chain-id $CHAIN&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Hi1b&quot;&gt;&lt;strong&gt;If you are JAILED, don&amp;#x27;t worry. This is the way back:&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;vneI&quot;&gt;&lt;em&gt;quicksilverd tx slashing unjail --from $WALLET_NAME --chain-id $CHAIN&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;DWQF&quot;&gt;&lt;strong&gt;Post  in the &lt;a href=&quot;https://discord.gg/CmsM26aT6F&quot; target=&quot;_blank&quot;&gt;discord&lt;/a&gt; proofs that you set up a validator and request the special role. Wait for announcements and participate in community discussions.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;opbW&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;uP8K&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;aO3B&quot;&gt;&lt;strong&gt;Thank you! Have a great day ahead! &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;HpuE&quot;&gt;&lt;strong&gt;Sincerely, MMS_Team &lt;/strong&gt;&lt;/p&gt;

</content></entry><entry><id>mms-nodes-en:Installing_sei_node</id><link rel="alternate" type="text/html" href="https://teletype.in/@mms-nodes-en/Installing_sei_node?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mms-nodes-en"></link><title>How to set up the SEI node</title><published>2022-05-27T18:00:31.817Z</published><updated>2022-05-31T07:59:34.715Z</updated><summary type="html">Hello everyone. Let’s install the Sei node and join testate together. </summary><content type="html">
  &lt;p id=&quot;27h0&quot;&gt;&lt;strong&gt;Hello everyone. Let’s install the Sei node and join testate together. &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;OHDS&quot;&gt;&lt;strong&gt;More details about the project can be found on the official &lt;a href=&quot;https://www.seinetwork.io/&quot; target=&quot;_blank&quot;&gt;website&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;r3d6&quot;&gt;&lt;strong&gt;Requirements for the node according to the documentation: &lt;br /&gt;4 Cores (modern CPU&amp;#x27;s), &lt;br /&gt;32GB RAM, &lt;br /&gt;1TB of storage (SSD or NVME), but for the start standard configuration for cosmos is enough (4/8/200). Later on you will understand if you wish to stay connected and switch to required configurations. &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;4fbg&quot;&gt;&lt;strong&gt;As always, you need to update your server first&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;I2fK&quot;&gt;&lt;em&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;RCFl&quot;&gt;&lt;strong&gt;Install additional packages&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;SPjC&quot;&gt;&lt;em&gt;sudo apt install make clang pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget -y&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;0sXM&quot;&gt;&lt;strong&gt;Go lang installation. Please check the version at the end.&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;YAGd&quot;&gt;&lt;em&gt;cd $HOME&lt;br /&gt;wget -O go1.18.1.linux-amd64.tar.gz &lt;a href=&quot;https://golang.org/dl/go1.18.1.linux-amd64.tar.gz&quot; target=&quot;_blank&quot;&gt;https://golang.org/dl/go1.18.1.linux-amd64.tar.gz&lt;/a&gt;&lt;br /&gt;rm -rf /usr/local/go &amp;amp;&amp;amp; sudo tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz &amp;amp;&amp;amp; rm go1.18.1.linux-amd64.tar.gz&lt;br /&gt;echo &amp;#x27;export GOROOT=/usr/local/go&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export GOPATH=$HOME/go&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export GO111MODULE=on&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile &amp;amp;&amp;amp; . $HOME/.bash_profile&lt;br /&gt;go version&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;0que&quot;&gt;&lt;strong&gt;Download and install the binary&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;3BQV&quot;&gt;&lt;em&gt;cd $HOME&lt;br /&gt;git clone &lt;a href=&quot;https://github.com/sei-protocol/sei-chain.git&quot; target=&quot;_blank&quot;&gt;https://github.com/sei-protocol/sei-chain.git&lt;/a&gt;&lt;br /&gt;cd sei chain&lt;br /&gt;git checkout 1.0.0beta&lt;br /&gt;go build -o build/seid ./cmd/sei-chaind&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;NqSZ&quot;&gt;&lt;strong&gt;Move the binary to the correct folder&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;GtVP&quot;&gt;&lt;em&gt;chmod +x ./build/seid &amp;amp;&amp;amp; sudo mv ./build/seid /usr/local/bin/seid&lt;br /&gt;cd $HOME&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;fK01&quot;&gt;&lt;strong&gt;Set variables. &lt;br /&gt;Change MONICKER to your preferred name and set the WALLET NAME as well. Do not change the CHAIN name.&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;e4Aq&quot;&gt;&lt;em&gt;MONIKER=&amp;quot;your_name&amp;quot;&lt;br /&gt;CHAIN=&amp;quot;sei-testnet-1&amp;quot;&lt;br /&gt;WALLET_NAME=&amp;quot;your_name&amp;quot;&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;gyMC&quot;&gt;&lt;strong&gt;Save all variables to the .bash_profile&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;e5KS&quot;&gt;&lt;em&gt;echo &amp;#x27;export MONIKER=&amp;#x27;${MONIKER} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export CHAIN=&amp;#x27;${CHAIN} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export WALLET_NAME=&amp;#x27;${WALLET_NAME} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;nuKv&quot;&gt;&lt;strong&gt;Initialize the 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;p id=&quot;XGmc&quot;&gt;&lt;em&gt;seid init $MONIKER --chain-id $CHAIN&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;m4HJ&quot;&gt;&lt;strong&gt;Download genesis file and address book&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;L8Uu&quot;&gt;&lt;em&gt;wget -qO $HOME/.sei-chain/config/genesis.json &amp;quot;https://raw.githubusercontent.com/sei-protocol/testnet/master/sei-testnet-1/genesis.json&amp;quot;&lt;br /&gt;wget -qO $HOME/.sei-chain/config/addrbook.json &amp;quot;https://raw.githubusercontent.com/sei-protocol/testnet/master/sei-testnet-1/addrbook.json&amp;quot;&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;I2dh&quot;&gt;&lt;strong&gt;Save the network name and keyring backend file to 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;LkuF&quot;&gt;&lt;em&gt;seid config chain-id $CHAIN&lt;br /&gt;seid config keyring-backend file&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;FLq1&quot;&gt;&lt;strong&gt;Setting up pruning&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;2wko&quot;&gt;pruning=&amp;quot;custom&amp;quot;&lt;br /&gt;pruning_keep_recent=&amp;quot;100&amp;quot;&lt;br /&gt;pruning_keep_every=&amp;quot;0&amp;quot;&lt;br /&gt;pruning_interval=&amp;quot;10&amp;quot;&lt;br /&gt;sed -i -e &amp;quot;s/^pruning *=.*/pruning = \&amp;quot;$pruning\&amp;quot;/&amp;quot; $HOME/.sei-chain/config/app.toml&lt;br /&gt;sed -i -e &amp;quot;s/^pruning-keep-recent *=.*/pruning-keep-recent = \&amp;quot;$pruning_keep_recent\&amp;quot;/&amp;quot; $HOME/.sei-chain/config/app.toml&lt;br /&gt;sed -i -e &amp;quot;s/^pruning-keep-every *=.*/pruning-keep-every = \&amp;quot;$pruning_keep_every\&amp;quot;/&amp;quot; $HOME/.sei-chain/config/app.toml&lt;br /&gt;sed -i -e &amp;quot;s/^pruning-interval *=.*/pruning-interval = \&amp;quot;$pruning_interval\&amp;quot;/&amp;quot; $HOME/.sei-chain/config/app.toml&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;QnGw&quot;&gt;&lt;strong&gt;Add peers&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;Gkin&quot;&gt;&lt;em&gt;PEERS=&amp;quot;27aab76f983cd7c6558f1dfc50b919daaef14555@3.22.112.181:26656,39c4bcaded0d1d886f2788ae955f1939406f3e7d@65.108.198.54:26696,2f2804434afda302c86eb89eca27503e49a8a260@65.21.131.215:26696,6f71bcbe347069fc4df9b607f6b843226e8deb71@95.217.221.201:26656,2f047e234cb8b99fe8b9fee0059a5bc45042bc97@95.216.84.188:26656,3cd0ccddaba6c662fb5f4836456f448f13653587@212.125.21.178:45656 ,9db58dba3b6354177fb428caccf5167c616ad4a1@167.235.28.18:26656,38b4d78c7d6582fb170f6c19330a7e37e6964212@194.163.189.114:46656,3a0da1cda90931768a54af522639b3d2bbefcc3e@168.119.67.71:62136,54da741ec70bc68a613a7eac7a385a38b5127f0f@75.119.155.242:26657,67cd4f00052f81d4abbcc8013e300b302a3ffe6e@95.216.189.214:26656,5082637d2face9dd32c4ad7eff34d38df4244c9a@65.21.123.69:26642,4aaa57eb2ed8f839253193a893389338c081929b @80.82.215.233:26656,585727dac5df8f8662a8ff42052a9584a1f7ee95@165.22.25.77:26656&amp;quot;&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;QKPW&quot;&gt;&lt;em&gt;sed -i.bak -e &amp;quot;s/^persistent_peers *=.*/persistent_peers = \&amp;quot;$PEERS\&amp;quot;/&amp;quot; $HOME/.sei-chain/config/config.toml&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;45lO&quot;&gt;&lt;strong&gt;Turn on 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;p id=&quot;iRkM&quot;&gt;&lt;em&gt;sed -i -e &amp;quot;s/prometheus=false/prometheus=true/&amp;quot; $HOME/.sei-chain/config/config.toml&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;1rO7&quot;&gt;&lt;strong&gt;Create a service file&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;0v6u&quot;&gt;&lt;em&gt;tee /etc/systemd/system/seid.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF&lt;br /&gt;[unit]&lt;br /&gt;Description=SEI&lt;br /&gt;After=network.target&lt;br /&gt;[service]&lt;br /&gt;Type=simple&lt;br /&gt;User=$USER&lt;br /&gt;ExecStart=$(which seid) start&lt;br /&gt;Restart=on-failure&lt;br /&gt;RestartSec=10&lt;br /&gt;LimitNOFILE=65535&lt;br /&gt;[Install]&lt;br /&gt;WantedBy=multi-user.target&lt;br /&gt;EOF&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;kfDp&quot;&gt;&lt;strong&gt;Start the service&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;aCge&quot;&gt;&lt;em&gt;sudo systemctl daemon-reload&lt;br /&gt;sudo systemctl enable seid&lt;br /&gt;sudo systemctl restart seid&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;9cAn&quot;&gt;&lt;strong&gt;Check logs&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;WB8X&quot;&gt;&lt;em&gt;journalctl -u seid -f -o cat&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;vknO&quot;&gt;&lt;strong&gt;Also, you can check synchronization status . If catching_up&amp;quot;: false, your node is synchronized.&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;RREs&quot;&gt;&lt;em&gt;seid status 2&amp;gt;&amp;amp;1 | jq .SyncInfo&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;augP&quot;&gt;&lt;strong&gt;If the node cannot connect to the peers, ask community in the &lt;a href=&quot;https://discord.gg/2s4ZubGqmy&quot; target=&quot;_blank&quot;&gt;Discord &lt;/a&gt;server to share available working peers.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;dDSg&quot;&gt;&lt;strong&gt;After the synchronization, create your wallet. Do not change the name, we set it up earlier.  Enter preferred password twice. Dont forget to save your mnemonic and wallet address.&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;YTlM&quot;&gt;&lt;em&gt;seid keys add $WALLET_NAME&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;epCK&quot;&gt;&lt;strong&gt;Create a variable for the wallet address (enter your password)&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;SKuO&quot;&gt;&lt;em&gt;WALLET_ADDRESS=$(seid keys show $WALLET_NAME -a)&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;01sL&quot;&gt;&lt;strong&gt;And add a variable to the .bash_profile&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;pYtG&quot;&gt;&lt;em&gt;echo &amp;#x27;export WALLET_ADDRESS=&amp;#x27;${WALLET_ADDRESS} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;7qB2&quot;&gt;&lt;strong&gt;You need to have tokens in your wallet to create a validator. At the moment there is a faucet channel in the &lt;a href=&quot;https://discord.gg/2s4ZubGqmy&quot; target=&quot;_blank&quot;&gt;discord&lt;/a&gt;. You need to fill up the form and wait for funds. Or you can use faucet &lt;a href=&quot;https://bitszn.com/faucets.html&quot; target=&quot;_blank&quot;&gt;HERE&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;h7VA&quot;&gt;&lt;strong&gt;Check your balance:&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;V0Jm&quot;&gt;&lt;em&gt;seid query bank balances $WALLET_ADDRESS&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;oc8x&quot;&gt;&lt;strong&gt;If you already have tokens in your wallet, next step is creating validator. You can change amount for delegation. &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;wyHO&quot;&gt;&lt;em&gt;seid tx staking create-validator \&lt;br /&gt;  --amount 100000000usei \&lt;br /&gt;  --from $WALLET_NAME \&lt;br /&gt;  --commission-max-change-rate &amp;quot;0.01&amp;quot; \&lt;br /&gt;  --commission-max-rate &amp;quot;0.2&amp;quot; \&lt;br /&gt;  --commission-rate &amp;quot;0.07&amp;quot; \&lt;br /&gt;  --min-self-delegation &amp;quot;1&amp;quot; \&lt;br /&gt;  --pubkey $(seid tendermint show-validator) \&lt;br /&gt;  --moniker $MONIKER \&lt;br /&gt;  --chain-id $CHAIN&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;etMU&quot;&gt;&lt;strong&gt;After creating validator, create a variable with its address (enter the password set earlier)&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;sdiq&quot;&gt;&lt;em&gt;VALOPER=$(seid keys show $WALLET_ADDRESS --bech val -a)&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Rzrk&quot;&gt;&lt;strong&gt;Add this variable to the .bash_profile&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;GVYe&quot;&gt;&lt;em&gt;echo &amp;#x27;export VALOPER=&amp;#x27;${VALOPER} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;cpeV&quot;&gt;&lt;strong&gt;Check the status&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;2kSE&quot;&gt;&lt;em&gt;seid query staking validator $VALOPER&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;zpQ4&quot;&gt;&lt;strong&gt;Delegate more to your validator. Check balance and change the amount if needed.&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;fHrw&quot;&gt;seid tx staking delegate $VALOPER 1000000usei --from $WALLET_NAME --chain-id $CHAIN&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;WDwV&quot;&gt;&lt;strong&gt;If you are JAILED, dont worry. This is the way back:&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;FwgY&quot;&gt;&lt;em&gt;seid tx slashing unjail --from $WALLET_NAME --chain-id $CHAIN&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;cIwc&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;Q6X3&quot;&gt;&lt;strong&gt;Post in the &lt;a href=&quot;https://discord.gg/2s4ZubGqmy&quot; target=&quot;_blank&quot;&gt;discord &lt;/a&gt;proofs that you set up a validator and request the special role. Wait for announcements and participate inn community discussions. &lt;/strong&gt; &lt;br /&gt;&lt;/p&gt;
  &lt;p id=&quot;LOLK&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;Zs2z&quot;&gt;&lt;strong&gt;Thank you! Have a great day ahead! &lt;br /&gt;Sincerely, MMS_Team &lt;/strong&gt;&lt;/p&gt;

</content></entry><entry><id>mms-nodes-en:Install_node_Cosmic</id><link rel="alternate" type="text/html" href="https://teletype.in/@mms-nodes-en/Install_node_Cosmic?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mms-nodes-en"></link><title>Installing the Cosmic Node</title><published>2022-04-25T18:28:39.682Z</published><updated>2022-04-25T18:28:39.682Z</updated><summary type="html">Hello, today we will talk about installing the Cosmic node.</summary><content type="html">
  &lt;p id=&quot;LGJd&quot;&gt;&lt;strong&gt;Hello, today we will talk about installing the Cosmic node.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;CYyO&quot;&gt;&lt;strong&gt;Stated requirements for the server today are as follows: 4vCPUs, 8GB RAM and 200GB Disk space&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;l08m&quot;&gt;&lt;strong&gt;Do not forget that the start will be at 4-26-2022 17:45 UTC, if you installed it earlier, then restart the node.&lt;/strong&gt; &lt;em&gt;sudo systemctl restart cohod&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;CAK6&quot;&gt;&lt;strong&gt;After connecting to the server, through the terminal, update it:&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;zb29&quot;&gt;&lt;em&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt upgrade -y &lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;rnFv&quot;&gt;&lt;strong&gt;Next, install the necessary packages:&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;c77T&quot;&gt;&lt;em&gt;sudo apt install make clang pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban -y&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;OMJr&quot;&gt;&lt;strong&gt;Install GO version 1.18.1 and check the version after installation:&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;UOrn&quot;&gt;&lt;em&gt;cd $HOME&lt;br /&gt;wget -O go1.18.1.linux-amd64.tar.gz &lt;a href=&quot;https://golang.org/dl/go1.18.1.linux-amd64.tar.gz&quot; target=&quot;_blank&quot;&gt;https://golang.org/dl/go1.18.1.linux-amd64.tar.gz&lt;/a&gt;&lt;br /&gt;rm -rf /usr/local/go &amp;amp;&amp;amp; sudo tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz &amp;amp;&amp;amp; rm go1.18.1.linux-amd64.tar.gz&lt;br /&gt;echo &amp;#x27;export GOROOT=/usr/local/go&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export GOPATH=$HOME/go&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export GO111MODULE=on&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile &amp;amp;&amp;amp; . $HOME/.bash_profile&lt;br /&gt;go version&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;cmUx&quot;&gt;&lt;strong&gt;Download and move starport:&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;759C&quot;&gt;&lt;em&gt;curl &lt;a href=&quot;https://get.starport.network/starport&quot; target=&quot;_blank&quot;&gt;https://get.starport.network/starport&lt;/a&gt; | bash&lt;br /&gt;sudo mv starport /usr/local/bin/&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;FnnF&quot;&gt;&lt;strong&gt;Download the executable file and install starport (installation time is about 5 minutes):&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;KqE4&quot;&gt;&lt;em&gt;git clone &lt;a href=&quot;https://github.com/cosmic-horizon/coho.git&quot; target=&quot;_blank&quot;&gt;https://github.com/cosmic-horizon/coho.git&lt;/a&gt;&lt;br /&gt;cd ~/coho&lt;br /&gt;starport chain build&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;o0lx&quot;&gt;&lt;strong&gt;We set the variables for our convenience (we leave COSMIC_CHAIN unchanged, enter our values into the rest of the variables):&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;zFqq&quot;&gt;&lt;em&gt;COSMIC_CHAIN=&amp;quot;darkenergy-1&amp;quot;&lt;br /&gt;COSMIC_MONIKER=&amp;quot;YOUR_MONIKER_NAME&amp;quot;&lt;br /&gt;COSMIC_WALLET=&amp;quot;YOUR_WALLET_NAME&amp;quot;&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;I4XN&quot;&gt;&lt;strong&gt;Adding variables to bash_profile&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;LJds&quot;&gt;&lt;em&gt;echo &amp;#x27;export COSMIC_CHAIN=&amp;#x27;${COSMIC_CHAIN} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export COSMIC_MONIKER=&amp;#x27;${COSMIC_MONIKER} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export COSMIC_WALLET=&amp;#x27;${COSMIC_WALLET} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;kJq6&quot;&gt;&lt;strong&gt;We initialize the 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;p id=&quot;36nr&quot;&gt;&lt;em&gt;cohod init $COSMIC_MONIKER --chain-id $COSMIC_CHAIN&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;TTfq&quot;&gt;&lt;strong&gt;Download Genesis:&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;xAx4&quot;&gt;&lt;em&gt;wget -O $HOME/.coho/config/genesis.json &lt;a href=&quot;https://raw.githubusercontent.com/cosmic-horizon/testnets/main/darkenergy-1/genesis.json&quot; target=&quot;_blank&quot;&gt;https://raw.githubusercontent.com/cosmic-horizon/testnets/main/darkenergy-1/genesis.json&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Am8n&quot;&gt;&lt;strong&gt;We set and prescribe seeds&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;lOlb&quot;&gt;&lt;em&gt;seeds=&amp;quot;a06e58e39d4a471d00d2e5d58233089c64fa5bb8@149.28.70.87:26657&amp;quot;&lt;br /&gt;sed -i.bak -e &amp;quot;s/^seeds *=.*/seeds = \&amp;quot;$seeds\&amp;quot;/&amp;quot; $HOME/.coho/config/config.toml&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;zyAP&quot;&gt;&lt;strong&gt;We create a service&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;YEKY&quot;&gt;&lt;em&gt;tee $HOME/cohod.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF&lt;br /&gt;[Unit]&lt;br /&gt;Description=coho&lt;br /&gt;After=network.target&lt;br /&gt;[Service]&lt;br /&gt;Type=simple&lt;br /&gt;User=$USER&lt;br /&gt;ExecStart=$(which cohod) start&lt;br /&gt;Restart=on-failure&lt;br /&gt;RestartSec=10&lt;br /&gt;LimitNOFILE=65535&lt;br /&gt;[Install]&lt;br /&gt;WantedBy=multi-user.target&lt;br /&gt;EOF&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;e8lM&quot;&gt;&lt;strong&gt;Move the service to the working folder&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;KcCQ&quot;&gt;&lt;em&gt;sudo mv $HOME/cohod.service /etc/systemd/system/&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ENOm&quot;&gt;&lt;strong&gt;We start the service and look at the logs&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;dimp&quot;&gt;&lt;em&gt;sudo systemctl daemon-reload&lt;br /&gt;sudo systemctl enable cohod&lt;br /&gt;sudo systemctl restart cohod &lt;br /&gt;journalctl -u cohod -f -o cat&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Re1m&quot;&gt;&lt;strong&gt;Or we look at the status and wait until it is synchronized&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;Urto&quot;&gt;&lt;em&gt;curl -s localhost:26657/status&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;xRLO&quot;&gt;&lt;em&gt;After you see &amp;quot;catching_up&amp;quot;: false the node has been synced&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;1y7j&quot;&gt;&lt;strong&gt;Let&amp;#x27;s make a wallet! Don&amp;#x27;t forget to save the mnemonic!!! it will also ask you to enter a password to access the wallet. SAVE or REMEMBER (If the wallet already exists and you just need to restore it, use this command&lt;/strong&gt; &lt;em&gt;cohod keys add $COSMIC_WALLET --recover&lt;/em&gt; &lt;strong&gt;and enter the mnemonic)&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;Ew15&quot;&gt;&lt;em&gt;cohod keys add $COSMIC_WALLET&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;zNgI&quot;&gt;&lt;strong&gt;Add the wallet address to the variable (for confirmation, you need the password entered earlier)&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;xAk3&quot;&gt;&lt;em&gt;COSMIC_ADDR=$(cohod keys show $COSMIC_WALLET -a)&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ubfR&quot;&gt;&lt;strong&gt;Adding variable to bash_profile&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;D7Qq&quot;&gt;&lt;em&gt;echo &amp;#x27;export COSMIC_ADDR=&amp;#x27;${COSMIC_ADDR} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;WDnF&quot;&gt;&lt;strong&gt;Balance check&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;yg7P&quot;&gt;&lt;em&gt;cohod query bank balances $COSMIC_ADDR&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;6lo3&quot;&gt;&lt;strong&gt;After synchronization, we create a validator, you can leave the commission or set your own (in the --amount line, enter the amount that we want to delegate with numbers, leave the letters ucoho), we also enter the previously entered password (do not forget that the wallet from which you will delegate must have funds):&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;9qkp&quot;&gt;&lt;em&gt;cohod tx staking create-validator --yes \&lt;br /&gt; --amount 1000000ucoho \&lt;br /&gt; --moniker $COSMIC_MONIKER \&lt;br /&gt; --commission-rate &amp;quot;0.10&amp;quot; \&lt;br /&gt; --commission-max-rate &amp;quot;0.20&amp;quot; \&lt;br /&gt; --commission-max-change-rate &amp;quot;0.01&amp;quot; \&lt;br /&gt; --min-self-delegation &amp;quot;1&amp;quot; \&lt;br /&gt; --pubkey &amp;quot;$(cohod tendermint show-validator)&amp;quot; \&lt;br /&gt; --from $COSMIC_WALLET \&lt;br /&gt; --chain-id $COSMIC_CHAIN&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;iU2k&quot;&gt;&lt;strong&gt;We write the address of the validator into a variable (the same password will need to be entered)&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;WAMv&quot;&gt;&lt;em&gt;COSMIC_VALOPER=$(cohod keys show $COSMIC_WALLET --bech val -a)&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;6jvI&quot;&gt;&lt;strong&gt;Adding variable to bash_profile&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;fA1d&quot;&gt;&lt;em&gt;echo &amp;#x27;export COSMIC_VALOPER=&amp;#x27;${COSMIC_VALOPER} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;0Uyr&quot;&gt;&lt;strong&gt;Checking the status of the validator:&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;LoyI&quot;&gt;&lt;em&gt;cohod query staking validator $COSMIC_VALOPER&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Xz8I&quot;&gt;&lt;strong&gt;Now how to delegate funds to the validator:&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;7bKu&quot;&gt;&lt;em&gt;cohod tx staking delegate $COSMIC_VALOPER [delegation sum in digits (square brackets removed) ]ucoho --from $COSMIC_WALLET --chain-id $COSMIC_CHAIN&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;4PHq&quot;&gt;&lt;strong&gt;Well, if suddenly your node got into jail, then the output is:&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;2T6T&quot;&gt;&lt;em&gt;cohod tx slashing unjail --from $COSMIC_WALLET --chain-id $COSMIC_CHAIN&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;4Bgq&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;eoum&quot;&gt;&lt;strong&gt;Thank you very much for your attention and time &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;CvIS&quot;&gt;&lt;strong&gt;Sincerely, MMS_Team&lt;/strong&gt;&lt;/p&gt;

</content></entry><entry><id>mms-nodes-en:nstalling-a-DeFund-node-guide</id><link rel="alternate" type="text/html" href="https://teletype.in/@mms-nodes-en/nstalling-a-DeFund-node-guide?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mms-nodes-en"></link><title>Installing the DeFund Node</title><published>2022-04-22T19:32:44.625Z</published><updated>2022-04-24T07:04:22.732Z</updated><summary type="html">Hello everyone, today we will talk about installing the DeFund node</summary><content type="html">
  &lt;p id=&quot;CAnF&quot;&gt;&lt;strong&gt;Hello everyone, today we will talk about installing the DeFund node&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;a9CN&quot;&gt;&lt;strong&gt;At the time of writing, the project launched only Private Testnet, perhaps everyone will be admitted further.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;15ZE&quot;&gt;&lt;strong&gt;UPD: 04/22/2022 - You can still join the closed testnet&lt;br /&gt;Fill out the form:&lt;br /&gt;&lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLSfqw1F6cDCsEt1Qmn70oIp3tdvcPFvRyk9Nd4mFacelhzQFYA/viewform&quot; target=&quot;_blank&quot;&gt;https://docs.google.com/forms/d/e/1FAIpQLSfqw1F6cDCsEt1Qmn70oIp3tdvcPFvRyk9Nd4mFacelhzQFYA/viewform&lt;/a&gt;&lt;br /&gt;Discord - &lt;a href=&quot;https://discord.gg/5D4Mdetf&quot; target=&quot;_blank&quot;&gt;https://discord.gg/5D4Mdetf&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;3nzF&quot;&gt;&lt;strong&gt;The characteristics of the server have not yet been announced, but most likely, like other projects in cosmos 4/8/200&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;IRvt&quot;&gt;&lt;em&gt;First, install GO&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;1Hmz&quot;&gt;&lt;em&gt;cd $HOME&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;dtmQ&quot;&gt;&lt;em&gt;wget -O go1.17.1.linux-amd64.tar.gz &lt;a href=&quot;https://golang.org/dl/go1.17.linux-amd64.tar.gz&quot; target=&quot;_blank&quot;&gt;https://golang.org/dl/go1.17.linux-amd64.tar.gz&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;sk07&quot;&gt;&lt;em&gt;rm -rf /usr/local/go &amp;amp;&amp;amp; sudo tar -C /usr/local -xzf go1.17.1.linux-amd64.tar.gz &amp;amp;&amp;amp; rm go1.17.1.linux-amd64.tar.gz&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;WI12&quot;&gt;&lt;em&gt;echo &amp;#x27;export GOROOT=/usr/local/go&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;EM6j&quot;&gt;&lt;em&gt;echo &amp;#x27;export GOPATH=$HOME/go&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;W5fV&quot;&gt;&lt;em&gt;echo &amp;#x27;export GO111MODULE=on&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;fTUX&quot;&gt;&lt;em&gt;echo &amp;#x27;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&amp;#x27; &amp;gt;&amp;gt; $HOME/.bash_profile &lt;/em&gt;&amp;amp;&amp;amp; . $HOME/.bash_profile&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;4IJT&quot;&gt;&lt;strong&gt;Checking the version&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;g97m&quot;&gt;&lt;em&gt;go version&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;38d2&quot;&gt;&lt;strong&gt;As always, we update the server and install the necessary packages.&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;VDer&quot;&gt;&lt;em&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&lt;br /&gt;sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;82ja&quot;&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;kh0Z&quot;&gt;&lt;em&gt;git clone &lt;a href=&quot;https://github.com/defund-labs/defund&quot; target=&quot;_blank&quot;&gt;https://github.com/defund-labs/defund&lt;/a&gt;&lt;br /&gt;cd $HOME/defund&lt;br /&gt;make install&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;PKeW&quot;&gt;&lt;strong&gt;We set the names of the variables for convenience, you can do without them (we leave DEFUND_CHAIN unchanged, enter our names in the rest)&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;Ugyr&quot;&gt;&lt;em&gt;DEFUND_CHAIN=&amp;quot;defund-private-1&amp;quot;&lt;br /&gt;DEFUND_MONIKER=&amp;quot;YOUR_MONIKER_NAME&amp;quot;&lt;br /&gt;DEFUND_WALLET=&amp;quot;YOUR_WALLET_NAME&amp;quot;&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Iswk&quot;&gt;&lt;strong&gt;We register everything in the .bash_profile&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;iqxl&quot;&gt;&lt;em&gt;echo &amp;#x27;export DEFUND_CHAIN=&amp;#x27;${DEFUND_CHAIN} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export DEFUND_MONIKER=&amp;#x27;${DEFUND_MONIKER} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;echo &amp;#x27;export DEFUND_WALLET=&amp;#x27;${DEFUND_WALLET} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;1wAT&quot;&gt;&lt;strong&gt;Initialize the 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;p id=&quot;DZ74&quot;&gt;&lt;em&gt;defundd init $DEFUND_MONIKER --chain-id=$DEFUND_CHAIN&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;muZz&quot;&gt;&lt;strong&gt;Adding seeds and peers&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;aOM2&quot;&gt;&lt;em&gt;seeds=&amp;quot;1b3e596531dd8f36363b13339beed2364900e4c6@104.131.41.157:26656&amp;quot;&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;CcCt&quot;&gt;&lt;em&gt;peers=&amp;quot;111ba4e5ae97d5f294294ea6ca03c17506465ec5@208.68.39.221:26656,26c42b6c3e8940c5433a5601464c4b370ab32cb4@139.162.146.250:26656&amp;quot;&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;c8K1&quot;&gt;&lt;em&gt;sed -i &amp;quot;s/^seeds *=.*/seeds = \&amp;quot;$seeds\&amp;quot;/;&amp;quot; $HOME/.defund/config/config.toml&lt;br /&gt;sed -i &amp;quot;s/^persistent_peers *=.*/persistent_peers = \&amp;quot;$peers\&amp;quot;/;&amp;quot; $HOME/.defund/config/config.toml&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;zDXR&quot;&gt;&lt;strong&gt;Download the genesis file&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;4gAl&quot;&gt;wget -O $HOME/.defund/config/genesis.json &lt;a href=&quot;https://raw.githubusercontent.com/schnetzlerjoe/defund/main/testnet/private/genesis.json&quot; target=&quot;_blank&quot;&gt;https://raw.githubusercontent.com/schnetzlerjoe/defund/main/testnet/private/genesis.json&lt;/a&gt;&lt;/p&gt;
    &lt;p id=&quot;c3Lw&quot;&gt;&lt;em&gt;defundd tendermint unsafe-reset-all --home $HOME/.defund&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;IyoI&quot;&gt;&lt;strong&gt;We create a service&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;k0S9&quot;&gt;&lt;em&gt;tee $HOME/defund.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF&lt;br /&gt;[Unit]&lt;br /&gt;Description=Defund&lt;br /&gt;After=network.target&lt;br /&gt;[Service]&lt;br /&gt;Type=simple&lt;br /&gt;User=$USER&lt;br /&gt;ExecStart=$(which defundd) start&lt;br /&gt;Restart=on-failure&lt;br /&gt;LimitNOFILE=65535&lt;br /&gt;[Install]&lt;br /&gt;WantedBy=multi-user.target&lt;br /&gt;EOF&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;8Lvr&quot;&gt;&lt;em&gt;sudo mv $HOME/defund.service /etc/systemd/system/&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;qE54&quot;&gt;&lt;strong&gt;Restart system services and turn on our&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;Fi5I&quot;&gt;&lt;em&gt;sudo systemctl restart systemd-journald&lt;br /&gt;sudo systemctl daemon-reload&lt;br /&gt;sudo systemctl enable defund&lt;br /&gt;sudo systemctl restart defund&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;x3if&quot;&gt;&lt;strong&gt;We look at the logs&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;qk8B&quot;&gt;&lt;em&gt;journalctl -u defund -f -o cat&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;p1ra&quot;&gt;&lt;strong&gt;Or we look at the status and wait until it is synchronized&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;XR74&quot;&gt;&lt;em&gt;curl -s localhost:26657/status&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;3cwZ&quot;&gt;&lt;em&gt;After you see &amp;quot;catching_up&amp;quot;: false the node has been synced&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;6dlK&quot;&gt;&lt;strong&gt;Let&amp;#x27;s make a wallet! Don&amp;#x27;t forget to save the mnemonic!!! it will also ask you to enter a password to access the wallet SAVE or REMEMBER (If the wallet already exists and you just need to restore it, use this command&lt;/strong&gt; defundd keys add $DEFUND_WALLET --recover &lt;strong&gt;and enter the mnemonic)&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;ZMb7&quot;&gt;&lt;em&gt;defundd keys add $DEFUND_WALLET&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;YI11&quot;&gt;&lt;strong&gt;We add the wallet address to the variable for our convenience (for confirmation, we need the password entered earlier)&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;MdYh&quot;&gt;&lt;em&gt;DEFUND_ADDR=$(defundd keys show $DEFUND_WALLET -a)&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;rGEd&quot;&gt;&lt;strong&gt;Add a variable to .bash_profile:&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;mFSJ&quot;&gt;&lt;em&gt;echo &amp;#x27;export DEFUND_ADDR=&amp;#x27;${DEFUND_ADDR} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;dhs7&quot;&gt;&lt;em&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;b9x6&quot;&gt;&lt;strong&gt;Balance check:&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;1MPq&quot;&gt;&lt;em&gt;defundd query bank balances $DEFUND_ADDR&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;WxE6&quot;&gt;&lt;strong&gt;After synchronization, we create a validator (in the --amount line, we write in numbers the amount that we want to delegate the letters ufetf unchanged) we also enter the previously entered password (do not forget that the wallet from which you will delegate must have funds):&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;Ytx6&quot;&gt;&lt;em&gt;defundd tx staking create-validator \&lt;br /&gt; --amount=25000000ufetf \&lt;br /&gt; --pubkey=$(defundd tendermint show-validator) \&lt;br /&gt; --moniker=$DEFUND_MONIKER \&lt;br /&gt; --chain-id=defund-private-1 \&lt;br /&gt; --commission-rate=&amp;quot;0.10&amp;quot; \&lt;br /&gt; --commission-max-rate=&amp;quot;0.20&amp;quot; \&lt;br /&gt; --commission-max-change-rate=&amp;quot;0.01&amp;quot; \&lt;br /&gt; --min-self-delegation=&amp;quot;1&amp;quot; \&lt;br /&gt; --from=$DEFUND_WALLET&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ldkL&quot;&gt;&lt;strong&gt;We write the address of the validator into a variable (the same password will need to be entered)&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;pAkv&quot;&gt;&lt;em&gt;DEFUND_VALOPER=$(defundd keys show $DEFUND_WALLET --bech val -a)&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;x50Q&quot;&gt;&lt;strong&gt;Add a variable to .bash_profile:&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;D1HL&quot;&gt;&lt;em&gt;echo &amp;#x27;export DEFUND_VALOPER=&amp;#x27;${DEFUND_VALOPER} &amp;gt;&amp;gt; $HOME/.bash_profile&lt;br /&gt;source $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;0LEa&quot;&gt;&lt;strong&gt;Checking the status of the validator:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;8ADq&quot;&gt;defundd query staking validator $DEFUND_VALOPER&lt;/p&gt;
  &lt;p id=&quot;ZwVf&quot;&gt;&lt;strong&gt;Now how to delegate funds to the validator: (instead of values in brackets [ ] we insert our data, (remove parentheses) or variables if specified)&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;R91T&quot;&gt;&lt;em&gt;defundd tx staking delegate [VALOPER_ADDRESS] [STAKE_AMOUNT]ufetf --from [your-key-name] --chain-id defund-private-1&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;FBhA&quot;&gt;&lt;strong&gt;Well, if suddenly your node got into jail, then the output is: (instead of values in brackets [ ] we insert our data, (remove parentheses) or variables if specified)&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;tS9S&quot;&gt;&lt;em&gt;defundd &lt;/em&gt; tx slashing unjail --from [your-key-name] --chain-id &lt;em&gt;defund-private-1&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;azVq&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;S02E&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;eoum&quot;&gt;&lt;strong&gt;Thank you very much for your attention and time &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;CvIS&quot;&gt;&lt;strong&gt;Sincerely, MMS_Team&lt;/strong&gt;&lt;/p&gt;

</content></entry><entry><id>mms-nodes-en:Installing-STARKNET-node-guide</id><link rel="alternate" type="text/html" href="https://teletype.in/@mms-nodes-en/Installing-STARKNET-node-guide?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mms-nodes-en"></link><title>Installing a STARKNET node</title><published>2022-04-09T13:26:17.963Z</published><updated>2022-05-26T17:18:51.169Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/47/6d/476d4824-c96d-424f-b0b3-05e47af712cc.png"></media:thumbnail><summary type="html">&lt;img src=&quot;http://dl4.joxi.net/drive/2022/03/24/0053/3670/3505750/50/39d90f0bdd.jpg&quot;&gt;Hello, here we will talk about installing the STARKNET node,</summary><content type="html">
  &lt;p id=&quot;PGCE&quot;&gt;&lt;strong&gt;Hello, here we will talk about installing the STARKNET node,&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;Rzjn&quot;&gt;&lt;strong&gt;This guide was created based on the team&amp;#x27;s guide &lt;a href=&quot;https://t.me/potokcrypto&quot; target=&quot;_blank&quot;&gt;ПОТОК&lt;/a&gt; (&lt;a href=&quot;/@potokcrypto/starknet_node&quot;&gt;https://teletype.in/@potokcrypto/starknet_node&lt;/a&gt;) and instructions from &lt;a href=&quot;https://github.com/eqlabs/pathfinder&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;oR7t&quot;&gt;&lt;strong&gt;This guide will only provide technical information on installing and checking the node, information about the STARKNET project can be found in the team guide &lt;a href=&quot;/@potokcrypto/starknet_node&quot;&gt;ПОТОК&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;Vbk9&quot;&gt;&lt;strong&gt;First of all, we need a server with Ubuntu 20.04 OS, as they assure the node is very undemanding and the minimum server configuration is enough 2 processor cores, 2 gigabytes of RAM, it is recommended to take 100 gigabytes of disk space just in case.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;yz2y&quot;&gt;&lt;strong&gt;So we have a server, we connect to it through the terminal (you can use whichever is convenient for you).&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;wpEL&quot;&gt;&lt;strong&gt;Update server&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;X0y2&quot;&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;qaR6&quot;&gt;&lt;strong&gt;Upon completion of the process, install the necessary packages:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;8E0p&quot;&gt;sudo apt install curl git python3-pip build-essential libssl-dev libffi-dev python3-dev libgmp-dev pkg-config -y&lt;/p&gt;
    &lt;p id=&quot;670T&quot;&gt;pip3 install fastecdsa&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;4q4D&quot;&gt;&lt;strong&gt;After install packages, we install Rust:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;4uCm&quot;&gt;curl --proto &amp;#x27;=https&amp;#x27; --tlsv1.2 -sSf &lt;a href=&quot;https://sh.rustup.rs&quot; target=&quot;_blank&quot;&gt;https://sh.rustup.rs&lt;/a&gt; | sh&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;JtPy&quot;&gt;&lt;strong&gt;When script will request choice we choose (default)&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;ucmj&quot;&gt;&lt;strong&gt;Next we update Rust:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;XkTK&quot;&gt;sudo apt install cargo -y&lt;/p&gt;
    &lt;p id=&quot;wTVd&quot;&gt;source $HOME/.cargo/env&lt;/p&gt;
    &lt;p id=&quot;wMUq&quot;&gt;rustup update stable&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ni6L&quot;&gt;&lt;strong&gt;After execution last line will be look like this:&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;qgs1&quot;&gt;&lt;em&gt;stable-x86_64-unknown-linux-gnu unchanged — rustc 1.59.0 (9d1b2106e 23.02.2022)&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;NNlM&quot;&gt;&lt;strong&gt;version 1.59.0 actual at the time of writing, for the node need not less 1.58.0&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;wtyX&quot;&gt;&lt;strong&gt;For the next step we clone repository from the github:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;Pozf&quot;&gt;git clone --branch v0.1.11-alpha &lt;a href=&quot;https://github.com/eqlabs/pathfinder.git&quot; target=&quot;_blank&quot;&gt;https://github.com/eqlabs/pathfinder.git&lt;/a&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;EtHU&quot;&gt;&lt;strong&gt;After we create a virtual environment:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;SvnI&quot;&gt;sudo apt install python3.8-venv&lt;/p&gt;
    &lt;p id=&quot;wJ8i&quot;&gt;cd pathfinder/py&lt;br /&gt;python3 -m venv .venv&lt;br /&gt;source .venv/bin/activate&lt;/p&gt;
    &lt;p id=&quot;R7QN&quot;&gt;PIP_REQUIRE_VIRTUALENV=true pip install --upgrade pip&lt;/p&gt;
    &lt;p id=&quot;6W7A&quot;&gt;PIP_REQUIRE_VIRTUALENV=true pip install -r requirements-dev.txt&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;8RoI&quot;&gt;&lt;strong&gt;Once everything is installed, you need to check that everything is fine, for this we enter the command:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;wvRA&quot;&gt;pytest&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;TqGY&quot;&gt;&lt;strong&gt;After the test is complited you should see this:&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;09px&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;http://dl4.joxi.net/drive/2022/03/24/0053/3670/3505750/50/39d90f0bdd.jpg&quot; width=&quot;999&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;kp2J&quot;&gt;&lt;strong&gt;If all seems good, we building the node&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;JSuP&quot;&gt;cargo build --release --bin pathfinder&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;t69v&quot;&gt;&lt;strong&gt;Building takes about 10 minutes, after the end we need to create an account on &lt;a href=&quot;https://www.alchemy.com/&quot; target=&quot;_blank&quot;&gt;Alchemy.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;ffsN&quot;&gt;&lt;strong&gt;To do this, click on the &lt;a href=&quot;https://www.alchemy.com/&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt; in the upper right corner &amp;quot;Login&amp;quot; &lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;pJZb&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;http://dl4.joxi.net/drive/2022/03/24/0053/3670/3505750/50/3b546c1965.jpg&quot; width=&quot;1280&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;DXfu&quot;&gt;&lt;strong&gt;After that, in the window that opens, click &amp;quot;Singup&amp;quot;, log in with a Google account, or enter data and register&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;9q62&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;http://dl3.joxi.net/drive/2022/03/24/0053/3670/3505750/50/fa04d28fe5.jpg&quot; width=&quot;518&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;bW5r&quot;&gt;&lt;strong&gt;After that, a confirmation email will be sent to the specified email&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;mlDa&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;http://dl4.joxi.net/drive/2022/03/24/0053/3670/3505750/50/b0ebce9e63.jpg&quot; width=&quot;535&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;v4Jw&quot;&gt;&lt;strong&gt;We check the mail, in the letter we press the confirmation button, follow the link, and in the window that opens, press the &amp;quot;Get Started&amp;quot; button&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;j9jm&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;http://dl4.joxi.net/drive/2022/03/24/0053/3670/3505750/50/3bc9329fad.jpg&quot; width=&quot;1262&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Q6Bj&quot;&gt;&lt;strong&gt;Next, fill in the data and click &amp;quot;Create App&amp;quot; in the &amp;quot;Team Name&amp;quot; field, write your name or team name, in the &amp;quot;App Name&amp;quot; field, write what your node will be called (only for your convenience).&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;kYFj&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;http://dl3.joxi.net/drive/2022/03/24/0053/3670/3505750/50/a88ed9b72d.jpg&quot; width=&quot;554&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;r9k3&quot;&gt;&lt;strong&gt;Then select a tariff plan (default is FREE), and click &amp;quot;Continue&amp;quot;&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;39l2&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;http://dl3.joxi.net/drive/2022/03/24/0053/3670/3505750/50/b045f1b2b0.jpg&quot; width=&quot;742&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;3pnf&quot;&gt;&lt;strong&gt;It will ask you to enter payment data, we refuse this by clicking &amp;quot;Skip for now&amp;quot;&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;u0wO&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;http://dl3.joxi.net/drive/2022/03/24/0053/3670/3505750/50/8795fc86a3.jpg&quot; width=&quot;691&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;8bx6&quot;&gt;&lt;strong&gt;Next, he will offer to tweet for a reward, at your discretion, we click &amp;quot;Skip for now&amp;quot;&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;sRQx&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;http://dl4.joxi.net/drive/2022/03/24/0053/3670/3505750/50/8926baf73b.jpg&quot; width=&quot;687&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;6LFq&quot;&gt;&lt;strong&gt;And now we are almost at the goal in the new window, click &amp;quot;Continue&amp;quot;&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;7lZ2&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;http://dl3.joxi.net/drive/2022/03/24/0053/3670/3505750/50/273052bc51.jpg&quot; width=&quot;717&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ACYk&quot;&gt;&lt;strong&gt;But it wasn’t there, we are asked to indicate how you can contact in messengers and so on, if you wish, you can enter, or you can click &amp;quot;Let&amp;#x60;s Go&amp;quot; and we are at the goal.&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;1CWK&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;http://dl3.joxi.net/drive/2022/03/24/0053/3670/3505750/50/f697289ff2.jpg&quot; width=&quot;584&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;r0vV&quot;&gt;&lt;strong&gt;In the window that opens, we are interested in the field &amp;quot;Api Key&amp;quot;&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;SrHW&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;http://dl3.joxi.net/drive/2022/03/24/0053/3670/3505750/50/5f34e3657f.jpg&quot; width=&quot;636&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;0GNa&quot;&gt;&lt;strong&gt;We copy the data from this field, they will be needed to launch the node&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;LtMC&quot;&gt;&lt;strong&gt;We make a service file and launch the node (frase API_KEY - replace with your generated key , upd most importantly, do not remove the closing quote)&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;CuKv&quot;&gt;sudo tee /etc/systemd/system/starknetd.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF&lt;br /&gt;[Unit]&lt;br /&gt;Description=StarkNet&lt;br /&gt;After=network.target&lt;br /&gt;[Service]&lt;br /&gt;Type=simple&lt;br /&gt;User=root&lt;br /&gt;WorkingDirectory=/root/pathfinder/py&lt;br /&gt;ExecStart=/bin/bash -c &amp;#x27;source /root/pathfinder/py/.venv/bin/activate &amp;amp;&amp;amp; /root/.cargo/bin/cargo run --release --bin pathfinder -- --ethereum.url &lt;a href=&quot;https://eth-mainnet.alchemyapi.io/v2/API&quot; target=&quot;_blank&quot;&gt;https://eth-mainnet.alchemyapi.io/v2/API_&lt;/a&gt;KEY&amp;#x27;&lt;br /&gt;Restart=always&lt;br /&gt;RestartSec=10&lt;br /&gt;Environment=RUST_BACKTRACE=1&lt;br /&gt;[Install]&lt;br /&gt;WantedBy=multi-user.target&lt;br /&gt;EOF&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ClvL&quot;&gt;&lt;strong&gt;Next, launch service:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;IrrC&quot;&gt;sudo systemctl daemon-reload&lt;br /&gt;sudo systemctl enable starknetd&lt;br /&gt;sudo systemctl start starknetd &lt;br /&gt;journalctl -u starknetd -f -o cat&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;MFi6&quot;&gt;&lt;strong&gt;After that, we admire the ongoing synchronization, at the time of writing there were 1500 blocks. Then we return to the site and click on our APP&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;sG8x&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;http://dl4.joxi.net/drive/2022/03/24/0053/3670/3505750/50/c1c5f82ef1.jpg&quot; width=&quot;1211&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;vvgF&quot;&gt;&lt;strong&gt;In the window that opens, we look, if numbers have gone then everything is fine and your node is exchanging data.&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;2qoX&quot; class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;http://dl3.joxi.net/drive/2022/03/24/0053/3670/3505750/50/d294e6f0dc.jpg&quot; width=&quot;1214&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Xmof&quot;&gt;&lt;strong&gt;Further in the official Discord in the #🛰-pathfinder-full-node thread, we brag that we launched the node and it works.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;r1lH&quot;&gt;&lt;strong&gt;After that, it remains only to monitor the performance of the node, the news and wait.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;t2cm&quot;&gt;&lt;strong&gt;Addendum related to some questions: when you are connected to the server again, after closing the terminal, to see the synchronization status, enter the command&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;BFwe&quot;&gt;journalctl -u starknetd -f -o cat&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;HlEX&quot;&gt;&lt;strong&gt;Pathfinder has been updated to v0.1.11-alpha, everything has been fixed in the guide for a new installation, to update, do the following&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;uAXa&quot;&gt;&lt;em&gt;sudo systemctl stop starknetd&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;cFXQ&quot;&gt;&lt;em&gt;cd pathfinder&lt;br /&gt;git fetch&lt;br /&gt;git checkout v0.1.11-alpha&lt;br /&gt;cargo build --release --bin pathfinder&lt;br /&gt;cd py&lt;br /&gt;source .venv/bin/activate&lt;br /&gt;PIP_REQUIRE_VIRTUALENV=true pip install --upgrade pip&lt;br /&gt;PIP_REQUIRE_VIRTUALENV=true pip install -r requirements-dev.txt&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Ykc6&quot;&gt;&lt;strong&gt;And restart the service&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;BjDb&quot;&gt;&lt;em&gt;sudo systemctl start starknetd&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;L9o7&quot;&gt;&lt;strong&gt;To see the synchronization status, enter the command&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;dT6A&quot;&gt;journalctl -u starknetd -f -o cat&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;1f2J&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;L2zJ&quot;&gt;&lt;strong&gt;Thank you for your time.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;EszR&quot;&gt;&lt;strong&gt;MMS_Team&lt;/strong&gt;&lt;/p&gt;

</content></entry><entry><id>mms-nodes-en:Installing-a-KYVE-node-guide</id><link rel="alternate" type="text/html" href="https://teletype.in/@mms-nodes-en/Installing-a-KYVE-node-guide?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mms-nodes-en"></link><title>Installing a KYVE node</title><published>2022-04-09T13:23:21.822Z</published><updated>2022-05-03T09:07:56.776Z</updated><summary type="html">Good afternoon, today we will talk about installing a KYVE node</summary><content type="html">
  &lt;p id=&quot;Xf8M&quot;&gt;&lt;strong&gt;Good afternoon, today we will talk about installing a KYVE node&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;QzUU&quot;&gt;&lt;strong&gt;We will assume that you already have a server, if not, you can read other guides about it&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;oRvz&quot;&gt;&lt;strong&gt;After connecting to the server, through the terminal, update it:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;Af9D&quot;&gt;&lt;em&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;JTPL&quot;&gt;&lt;strong&gt;After that install curl :&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;oaOX&quot;&gt;&lt;em&gt;apt install wget tar curl jq -y&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ssVt&quot;&gt;&lt;strong&gt;Next, download and unpack the archive:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;HHSb&quot;&gt;wget &lt;a href=&quot;https://github.com/KYVENetwork/chain/releases/download/v0.0.1/chain_linux_amd64.tar.gz&quot; target=&quot;_blank&quot;&gt;https://github.com/KYVENetwork/chain/releases/download/v0.0.1/chain_linux_amd64.tar.gz&lt;/a&gt;&lt;br /&gt;tar -xvzf chain_linux_amd64.tar.gz&lt;br /&gt;rm chain_linux_amd64.tar.gz&lt;br /&gt;chmod +x chaind&lt;br /&gt;mv chaind /usr/local/bin/kyved&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;27pa&quot;&gt;&lt;strong&gt;After that, we set the names of the variables (Leave KYVE_CHAIN unchanged, enter your names in the rest)&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;dVc7&quot;&gt;KYVE_CHAIN=&amp;quot;korellia&amp;quot;&lt;br /&gt;KYVE_MONIKER=&amp;quot;YOUR_MONIKER_NAME&amp;quot;&lt;br /&gt;KYVE_WALLET=&amp;quot;YOUR_WALLET_NAME&amp;quot;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;r2tn&quot;&gt;&lt;strong&gt;Add variables to .bash_profile:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;Sjpa&quot;&gt;&lt;em&gt;echo &amp;#x27;export KYVE_CHAIN=&amp;#x27;${KYVE_CHAIN} &amp;gt;&amp;gt; $HOME/.bash_profileecho &amp;#x27;export KYVE_MONIKER=&amp;#x27;${KYVE_MONIKER} &amp;gt;&amp;gt; $HOME/.bash_profileecho &amp;#x27;export KYVE_WALLET=&amp;#x27;${KYVE_WALLET} &amp;gt;&amp;gt; $HOME/.bash_profilesource $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;YaRT&quot;&gt;&lt;strong&gt;We enter the command to initialize:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;jt7X&quot;&gt;&lt;em&gt;kyved init $KYVE_MONIKER --chain-id $KYVE_CHAIN&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Nl4T&quot;&gt;&lt;strong&gt;Download and copy the genesis file:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;QD5E&quot;&gt;&lt;em&gt;wget &lt;a href=&quot;https://github.com/KYVENetwork/chain/releases/download/v0.0.1/genesis.json&quot; target=&quot;_blank&quot;&gt;https://github.com/KYVENetwork/chain/releases/download/v0.0.1/genesis.json&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;ozd0&quot;&gt;&lt;em&gt;mv genesis.json ~/.kyve/config/genesis.json&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;gC7f&quot;&gt;&lt;strong&gt;Installing seeds:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;7ApD&quot;&gt;seeds=&amp;quot;e56574f922ff41c68b80700266dfc9e01ecae383@18.156.198.41:26656,e56574f922ff41c68b80700266dfc9e01ecae383@3.73.27.185:26656&amp;quot;&lt;br /&gt;PEERS=&amp;quot;fd5d98a69998017c10ef9f4f08254d222478aa8b@195.2.85.56:26656&amp;quot;&lt;br /&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/.kyve/config/config.toml&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;JpGl&quot;&gt;&lt;strong&gt;Let&amp;#x27;s make a wallet! Don&amp;#x27;t forget to save the mnemonic!!! it will also ask you to enter a password to access the wallet SAVE or REMEMBER (If you already have a wallet and you just need to restore it, use this command &lt;/strong&gt;&lt;u&gt;&lt;em&gt;kyved keys add $KYVE_WALLET --recover&lt;/em&gt;&lt;/u&gt;&lt;strong&gt; and enter the mnemonic)&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;6zMM&quot;&gt;&lt;em&gt;kyved keys add $KYVE_WALLET&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;FZLX&quot;&gt;&lt;strong&gt;We add the wallet address to the variable for our convenience (for confirmation, we need the password entered earlier)&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;wG7O&quot;&gt;&lt;em&gt;KYVE_ADDR=$(kyved keys show $KYVE_WALLET -a)&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;NHtW&quot;&gt;&lt;strong&gt;Add a variable to .bash_profile:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;DF0O&quot;&gt;&lt;em&gt;echo &amp;#x27;export KYVE_ADDR=&amp;#x27;${KYVE_ADDR} &amp;gt;&amp;gt; $HOME/.bash_profilesource $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;nD5x&quot;&gt;&lt;strong&gt;Create a service file:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;m2of&quot;&gt;&lt;em&gt;tee $HOME/kyved.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF[Unit]Description=kyveAfter=network.target[Service]Type=simpleUser=$USERExecStart=$(which kyved) startRestart=on-failureRestartSec=10LimitNOFILE=65535[Install]WantedBy=multi-user.targetEOF&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;0d9M&quot;&gt;&lt;strong&gt;Move the service file to the working folder:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;y9NE&quot;&gt;&lt;em&gt;sudo mv $HOME/kyved.service /etc/systemd/system&lt;/em&gt;/&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;xs0t&quot;&gt;&lt;strong&gt;Run service file:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;S9Kv&quot;&gt;sudo systemctl daemon-reload&lt;br /&gt;sudo systemctl enable kyved&lt;br /&gt;sudo systemctl restart kyved&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;wgHY&quot;&gt;&lt;strong&gt;Checking the logs:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;FSq4&quot;&gt;&lt;em&gt;journalctl -u kyved -f -o cat&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Ctbg&quot;&gt;&lt;strong&gt;Or we look at the status and wait until the node is synchronized:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;7Gli&quot;&gt;&lt;em&gt;curl -s localhost:26657/status&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;WuAR&quot;&gt;&lt;em&gt;After you see &amp;quot;catching_up&amp;quot;: false the node has been synced&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;SrcR&quot;&gt;&lt;strong&gt;Next, you need to update the node to switch to the next chain&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;hbZj&quot;&gt;&lt;em&gt;wget &lt;a href=&quot;https://github.com/KYVENetwork/chain/releases/download/v0.1.0/chain_linux_amd64.tar.gz&quot; target=&quot;_blank&quot;&gt;https://github.com/KYVENetwork/chain/releases/download/v0.1.0/chain_linux_amd64.tar.gz&lt;/a&gt;&lt;br /&gt;tar -xvzf chain_linux_amd64.tar.gz&lt;br /&gt;rm chain_linux_amd64.tar.gz&lt;br /&gt;sudo systemctl stop kyved&lt;br /&gt;chmod +x chaind&lt;br /&gt;mv chaind /usr/local/bin/kyved&lt;br /&gt;sudo systemctl start kyved&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Nxs2&quot;&gt;&lt;strong&gt;Checking the logs:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;Lal7&quot;&gt;&lt;em&gt;journalctl -u kyved -f -o cat&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;85vy&quot;&gt;&lt;strong&gt;Or we look at the status and wait until the node is synchronized:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;fNeo&quot;&gt;&lt;em&gt;curl -s localhost:26657/status&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;FmRP&quot;&gt;&lt;em&gt;After you see &amp;quot;catching_up&amp;quot;: false the node has been synced&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;7EWy&quot;&gt;&lt;strong&gt;Switching back to the next chain&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;PaCd&quot;&gt;&lt;em&gt;wget &lt;a href=&quot;https://github.com/KYVENetwork/chain/releases/download/v0.2.0/chain_linux_amd64.tar.gz&quot; target=&quot;_blank&quot;&gt;https://github.com/KYVENetwork/chain/releases/download/v0.2.0/chain_linux_amd64.tar.gz&lt;/a&gt;&lt;br /&gt;tar -xvzf chain_linux_amd64.tar.gz&lt;br /&gt;rm chain_linux_amd64.tar.gz&lt;br /&gt;sudo systemctl stop kyved&lt;br /&gt;chmod +x chaind&lt;br /&gt;mv chaind /usr/local/bin/kyved&lt;br /&gt;sudo systemctl start kyved&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;q146&quot;&gt;&lt;strong&gt;Checking the logs:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;4Pqj&quot;&gt;&lt;em&gt;journalctl -u kyved -f -o cat&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;rNaQ&quot;&gt;&lt;strong&gt;Or we look at the status and wait until the node is synchronized:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;Y1Jn&quot;&gt;&lt;em&gt;curl -s localhost:26657/status&lt;/em&gt;&lt;/p&gt;
    &lt;p id=&quot;E5ga&quot;&gt;&lt;em&gt;After you see &amp;quot;catching_up&amp;quot;: false the node has been synced&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;Ph57&quot;&gt;&lt;strong&gt;Switching back to the next chain&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;7uRN&quot;&gt;&lt;em&gt;wget &lt;a href=&quot;https://github.com/KYVENetwork/chain/releases/download/v0.3.0/chain_linux_amd64.tar.gz&quot; target=&quot;_blank&quot;&gt;https://github.com/KYVENetwork/chain/releases/download/v0.3.0/chain_linux_amd64.tar.gz&lt;/a&gt;&lt;br /&gt;tar -xvzf chain_linux_amd64.tar.gz&lt;br /&gt;rm chain_linux_amd64.tar.gz&lt;br /&gt;sudo systemctl stop kyved&lt;br /&gt;chmod +x chaind&lt;br /&gt;mv chaind /usr/local/bin/kyved&lt;br /&gt;sudo systemctl start kyved&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;IykR&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;rWYA&quot;&gt;&lt;strong&gt;Balance check:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;Mlib&quot;&gt;&lt;em&gt;kyved query bank balances $KYVE_ADDR&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;WBfa&quot;&gt;&lt;strong&gt;After synchronization, we create a validator (in the --amount line, we write in numbers the amount that we want to delegate the letters tkyve do not touch), we also enter the previously entered password (do not forget that the wallet from which you will delegate should have funds):&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;mIBC&quot;&gt;&lt;em&gt;kyved tx staking create-validator --yes \ --amount 500000000000tkyve \ --moniker $KYVE_MONIKER \ --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; \ --pubkey &amp;quot;$(kyved tendermint show-validator)&amp;quot; \ --from $KYVE_WALLET \ --chain-id korellia&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ojXZ&quot;&gt;&lt;strong&gt;We write the address of the validator into a variable (enter the password set earlier)&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;1GUt&quot;&gt;&lt;em&gt;KYVE_VALOPER=$(kyved keys show $KYVE_WALLET --bech val -a)&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;v4zO&quot;&gt;&lt;strong&gt;Add a variable to .bash_profile:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;cfDW&quot;&gt;&lt;em&gt;echo &amp;#x27;export KYVE_VALOPER=&amp;#x27;${KYVE_VALOPER} &amp;gt;&amp;gt; $HOME/.bash_profilesource $HOME/.bash_profile&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;LDI1&quot;&gt;&lt;strong&gt;Checking the status of the validator:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;4atH&quot;&gt;&lt;em&gt;kyved query staking validator $KYVE_VALOPER&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;jiSz&quot;&gt;&lt;strong&gt;View explorer in terminal:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;xTjL&quot;&gt;&lt;em&gt;kyved query staking validators --limit 1000 -o json | jq -r &amp;#x27;.validators[] | [.operator_address, .status, (.tokens|tonumber / pow(10; 6)), .description.moniker] | @csv&amp;#x27; | column -t -s&amp;quot;,&amp;quot; | sort -k3 -n -r | nl&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;MbUE&quot;&gt;&lt;strong&gt;How to delegate funds to the validator:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;lmXk&quot;&gt;&lt;em&gt;kyved tx staking delegate [VALOPER_ADDRESS] [STAKE_AMOUNT]tkyve --from [your-key-name] --chain-id korellia&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;J1ZF&quot;&gt;&lt;strong&gt;Well, if suddenly your node got into jail, then the output is:&lt;/strong&gt;&lt;/p&gt;
  &lt;section&gt;
    &lt;p id=&quot;ABuK&quot;&gt;&lt;em&gt;kyved tx slashing unjail --chain-id korellia --from [your-key-name]&lt;/em&gt;&lt;/p&gt;
  &lt;/section&gt;
  &lt;p id=&quot;ftmR&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;qwOM&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;eoum&quot;&gt;&lt;strong&gt;Thank you very much for your attention and time &lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;CvIS&quot;&gt;&lt;strong&gt;Sincerely, MMS_Team&lt;/strong&gt;&lt;/p&gt;

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