<?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>itrocket</title><author><name>itrocket</name></author><id>https://teletype.in/atom/itrocket</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/itrocket?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@itrocket?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itrocket"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/itrocket?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-16T07:20:21.506Z</updated><entry><id>itrocket:VYyiokum1pR</id><link rel="alternate" type="text/html" href="https://teletype.in/@itrocket/VYyiokum1pR?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itrocket"></link><title>Quicksilver, как застейкать токены?</title><published>2022-12-17T12:57:27.900Z</published><updated>2022-12-20T18:48:12.192Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/be/fa/beface9b-a872-4f08-b225-a5b215a67bcf.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/22/fe/22fe4406-365a-451e-853f-5bfba6195457.jpeg&quot;&gt;Вы можете застейкать как разлоченные так и залоченные токены</summary><content type="html">
  &lt;p id=&quot;i78r&quot;&gt;Вы можете застейкать как разлоченные так и залоченные токены&lt;/p&gt;
  &lt;p id=&quot;jI1R&quot;&gt;Наш валидатор: quickvaloper1jlh8cttv96kyxu0j0r2ppv4sga6ju4uzxa3c2x&lt;/p&gt;
  &lt;p id=&quot;fYqt&quot;&gt;Эксплорер: &lt;a href=&quot;https://explorer.nodestake.top/quicksilver/staking/quickvaloper1jlh8cttv96kyxu0j0r2ppv4sga6ju4uzxa3c2x&quot; target=&quot;_blank&quot;&gt;https://explorer.nodestake.top/quicksilver/staking/quickvaloper1jlh8cttv96kyxu0j0r2ppv4sga6ju4uzxa3c2x&lt;/a&gt;&lt;/p&gt;
  &lt;h3 id=&quot;YnuK&quot;&gt;Инструкция&lt;/h3&gt;
  &lt;ul id=&quot;ik0V&quot;&gt;
    &lt;li id=&quot;awVx&quot;&gt;Установите &lt;a href=&quot;https://www.keplr.app/download&quot; target=&quot;_blank&quot;&gt;Keplr&lt;/a&gt;, если он у вас еще не установлен, восстановите кошелек используя мнемоническую фразу или приватный ключ&lt;/li&gt;
    &lt;li id=&quot;63pp&quot;&gt;Перейдите на &lt;a href=&quot;https://explorer.nodestake.top/quicksilver/staking/quickvaloper1jlh8cttv96kyxu0j0r2ppv4sga6ju4uzxa3c2x&quot; target=&quot;_blank&quot;&gt;стейкинг портал&lt;/a&gt; и подключите кошелек&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;zZNs&quot;&gt;Подключите кошелек&lt;/p&gt;
  &lt;figure id=&quot;HwnM&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/22/fe/22fe4406-365a-451e-853f-5bfba6195457.jpeg&quot; width=&quot;750&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;8esf&quot;&gt;Подтвердите подключение&lt;/p&gt;
  &lt;figure id=&quot;20rb&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1d/d5/1dd5b22b-fba0-45bb-b74a-e907dd5a1d6b.jpeg&quot; width=&quot;751&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ZmhK&quot;&gt;Выберите сеть Quicksilver, в поле Account name введите имя вашего аккаунта, к примеру Quicksilver и нажмите кнопку Next&lt;/p&gt;
  &lt;figure id=&quot;P7kw&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/95/39/95395e96-36cf-4c52-a69a-1ad06f93a829.jpeg&quot; width=&quot;750&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;HHv7&quot;&gt;Подтверждаем, Вы увидите адресс вашего кошелька, нажимаем Save&lt;/p&gt;
  &lt;figure id=&quot;hZnV&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a0/34/a0340c20-4a45-413a-b86a-70b79fb95619.jpeg&quot; width=&quot;750&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;VQQ4&quot;&gt;Создаем аккаунт на портале&lt;/p&gt;
  &lt;figure id=&quot;IAjK&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/3f/2d/3f2dd46c-809d-491b-83c8-3709e8451708.jpeg&quot; width=&quot;750&quot; /&gt;
    &lt;figcaption&gt;Отлично, аккаунт добавлен. &lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;bJ83&quot;&gt;Теперь нужно вернуться на &lt;a href=&quot;https://explorer.nodestake.top/quicksilver/staking/quickvaloper1jlh8cttv96kyxu0j0r2ppv4sga6ju4uzxa3c2x&quot; target=&quot;_blank&quot;&gt;страницу портала&lt;/a&gt; и попытаться заделегировать&lt;/p&gt;
  &lt;figure id=&quot;OIjr&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/fa/30/fa30f1de-7884-4a11-b72f-a80d78a8003c.jpeg&quot; width=&quot;750&quot; /&gt;
    &lt;figcaption&gt;Открываем Advanced меню&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;U9i6&quot;&gt;Обязательно открываем &lt;strong&gt;Advanced&lt;/strong&gt; настройки и выставляем &lt;strong&gt;Fee - 0&lt;/strong&gt;, &lt;strong&gt;Gas - 250k.&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;xLla&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/78/1f/781f0c96-1fe4-4457-aa2d-ff507c1422d2.jpeg&quot; width=&quot;750&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;r2N7&quot;&gt;Подтверждаем делегирование&lt;/p&gt;
  &lt;figure id=&quot;68Bs&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a8/e5/a8e5ef47-7e1b-4cbe-bb14-f346380b170b.jpeg&quot; width=&quot;1276&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;sdfy&quot;&gt;Возможно, придётся подождать некоторое время, так как у нас транзакция с &lt;em&gt;0 fees&lt;/em&gt; &lt;/p&gt;
  &lt;blockquote id=&quot;XkHw&quot;&gt;Если увидите ошибку, свяжитесь со мной https://t.me/SEM3gs, отправлю немного токенов для оплаты комиссии&lt;/blockquote&gt;

</content></entry><entry><id>itrocket:izP1Mz41euR</id><link rel="alternate" type="text/html" href="https://teletype.in/@itrocket/izP1Mz41euR?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itrocket"></link><title>Uptick testnet 2.0</title><published>2022-12-01T10:50:06.342Z</published><updated>2022-12-03T07:01:31.890Z</updated><summary type="html">Update packages and Install dependencies</summary><content type="html">
  &lt;p id=&quot;9g4F&quot;&gt;Update packages and Install dependencies&lt;/p&gt;
  &lt;pre id=&quot;u5gR&quot; data-lang=&quot;bash&quot;&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make gcc -y&lt;/pre&gt;
  &lt;p id=&quot;cFyU&quot;&gt;Replace your wallet and moniker &amp;lt;YOUR_WALLET_NAME&amp;gt; &amp;lt;YOUR_MONIKER&amp;gt; without &amp;lt;&amp;gt;, save and import variables into system&lt;/p&gt;
  &lt;pre id=&quot;RHOV&quot; data-lang=&quot;bash&quot;&gt;UPTICK_PORT=10
echo &amp;quot;export UPTICK_WALLET=&amp;quot;&amp;lt;YOUR_WALLET_NAME&amp;gt;&amp;quot;&amp;quot; &amp;gt;&amp;gt; $HOME/.bash_profile
echo &amp;quot;export UPTICK_MONIKER=&amp;quot;&amp;lt;YOUR_MONIKER&amp;gt;&amp;quot;&amp;quot; &amp;gt;&amp;gt; $HOME/.bash_profile
echo &amp;quot;export UPTICK_CHAIN_ID=&amp;quot;uptick_7000-2&amp;quot;&amp;quot; &amp;gt;&amp;gt; $HOME/.bash_profile
echo &amp;quot;export UPTICK_PORT=&amp;quot;${UPTICK_PORT}&amp;quot;&amp;quot; &amp;gt;&amp;gt; $HOME/.bash_profile
source $HOME/.bash_profile&lt;/pre&gt;
  &lt;p id=&quot;F3xc&quot;&gt;install go&lt;/p&gt;
  &lt;pre id=&quot;J3K4&quot; data-lang=&quot;bash&quot;&gt;cd $HOME
VER=&amp;quot;1.18.3&amp;quot;
wget &amp;quot;https://golang.org/dl/go$VER.linux-amd64.tar.gz&amp;quot;
sudo tar -C /usr/local -xzf &amp;quot;go$VER.linux-amd64.tar.gz&amp;quot;
rm -rf  &amp;quot;go$VER.linux-amd64.tar.gz&amp;quot;
echo &amp;quot;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&amp;quot; &amp;gt;&amp;gt; $HOME/.bash_profile
source $HOME/.bash_profile
go version&lt;/pre&gt;
  &lt;p id=&quot;n5rY&quot;&gt;Download and build binaries&lt;/p&gt;
  &lt;pre id=&quot;gVCr&quot; data-lang=&quot;bash&quot;&gt;cd $HOME
git clone https://github.com/UptickNetwork/uptick.git
cd uptick
git checkout v0.2.4
make install&lt;/pre&gt;
  &lt;p id=&quot;81Y0&quot;&gt;Config and init app&lt;/p&gt;
  &lt;pre id=&quot;fNaF&quot; data-lang=&quot;bash&quot;&gt;uptickd config node tcp://localhost:${UPTICK_PORT}657
uptickd config chain-id $UPTICK_CHAIN_ID
uptickd init $UPTICK_MONIKER --chain-id $UPTICK_CHAIN_ID&lt;/pre&gt;
  &lt;p id=&quot;lodw&quot;&gt;Download genesis&lt;/p&gt;
  &lt;pre id=&quot;GsTQ&quot; data-lang=&quot;bash&quot;&gt;wget -O $HOME/.uptickd/config/genesis.json https://raw.githubusercontent.com/UptickNetwork/uptick-testnet/main/uptick_7000-2/genesis.json&lt;/pre&gt;
  &lt;p id=&quot;UbyY&quot;&gt;Set seeds and peers&lt;/p&gt;
  &lt;pre id=&quot;XarN&quot; data-lang=&quot;bash&quot;&gt;SEEDS=&amp;quot;&amp;quot;
PEERS=&amp;quot;eecdfb17919e59f36e5ae6cec2c98eeeac05c0f2@peer0.testnet.uptick.network:26656,178727600b61c055d9b594995e845ee9af08aa72@peer1.testnet.uptick.network:26656,f97a75fb69d3a5fe893dca7c8d238ccc0bd66a8f@uptick-seed.p2p.brocha.in:30554,94b63fddfc78230f51aeb7ac34b9fb86bd042a77@uptick-testnet-rpc.p2p.brocha.in:30556,902a93963c96589432ee3206944cdba392ae5c2d@65.108.42.105:27656&amp;quot;
sed -i -e &amp;quot;s/^seeds *=.*/seeds = \&amp;quot;$SEEDS\&amp;quot;/; s/^persistent_peers *=.*/persistent_peers = \&amp;quot;$PEERS\&amp;quot;/&amp;quot; $HOME/.uptickd/config/config.toml&lt;/pre&gt;
  &lt;p id=&quot;3yCc&quot;&gt;Set gustom ports in app.toml file&lt;/p&gt;
  &lt;pre id=&quot;Z7tQ&quot; data-lang=&quot;bash&quot;&gt;sed -i.bak -e &amp;quot;s%^address = \&amp;quot;tcp://0.0.0.0:1317\&amp;quot;%address = \&amp;quot;tcp://0.0.0.0:${UPTICK_PORT}317\&amp;quot;%;
s%^address = \&amp;quot;:8080\&amp;quot;%address = \&amp;quot;:${UPTICK_PORT}080\&amp;quot;%;
s%^address = \&amp;quot;0.0.0.0:9090\&amp;quot;%address = \&amp;quot;0.0.0.0:${UPTICK_PORT}090\&amp;quot;%; 
s%^address = \&amp;quot;0.0.0.0:9091\&amp;quot;%address = \&amp;quot;0.0.0.0:${UPTICK_PORT}091\&amp;quot;%; 
s%^address = \&amp;quot;0.0.0.0:8545\&amp;quot;%address = \&amp;quot;0.0.0.0:${UPTICK_PORT}545\&amp;quot;%; 
s%^ws-address = \&amp;quot;0.0.0.0:8546\&amp;quot;%ws-address = \&amp;quot;0.0.0.0:${UPTICK_PORT}546\&amp;quot;%&amp;quot; $HOME/.uptickd/config/app.toml&lt;/pre&gt;
  &lt;p id=&quot;Y3ce&quot;&gt;Set gustom ports in config.toml file&lt;/p&gt;
  &lt;pre id=&quot;vFPV&quot; data-lang=&quot;bash&quot;&gt;sed -i.bak -e &amp;quot;s%^proxy_app = \&amp;quot;tcp://127.0.0.1:26658\&amp;quot;%proxy_app = \&amp;quot;tcp://127.0.0.1:${UPTICK_PORT}658\&amp;quot;%; 
s%^laddr = \&amp;quot;tcp://127.0.0.1:26657\&amp;quot;%laddr = \&amp;quot;tcp://0.0.0.0:${UPTICK_PORT}657\&amp;quot;%; 
s%^pprof_laddr = \&amp;quot;localhost:6060\&amp;quot;%pprof_laddr = \&amp;quot;localhost:${UPTICK_PORT}060\&amp;quot;%;
s%^laddr = \&amp;quot;tcp://0.0.0.0:26656\&amp;quot;%laddr = \&amp;quot;tcp://0.0.0.0:${UPTICK_PORT}656\&amp;quot;%;
s%^external_address = \&amp;quot;\&amp;quot;%external_address = \&amp;quot;$(wget -qO- eth0.me):${UPTICK_PORT}656\&amp;quot;%;
s%^prometheus_listen_addr = \&amp;quot;:26660\&amp;quot;%prometheus_listen_addr = \&amp;quot;:${UPTICK_PORT}660\&amp;quot;%&amp;quot; $HOME/.uptickd/config/config.toml&lt;/pre&gt;
  &lt;p id=&quot;vFPV&quot;&gt;Config pruning&lt;/p&gt;
  &lt;pre id=&quot;NdzF&quot; data-lang=&quot;bash&quot;&gt;sed -i -e &amp;quot;s/^pruning *=.*/pruning = \&amp;quot;nothing\&amp;quot;/&amp;quot; $HOME/.uptickd/config/app.toml
sed -i -e &amp;quot;s/^pruning-keep-recent *=.*/pruning-keep-recent = \&amp;quot;100\&amp;quot;/&amp;quot; $HOME/.uptickd/config/app.toml
sed -i -e &amp;quot;s/^pruning-interval *=.*/pruning-interval = \&amp;quot;50\&amp;quot;/&amp;quot; $HOME/.uptickd/config/app.toml&lt;/pre&gt;
  &lt;p id=&quot;l6TE&quot;&gt;Set minimum gas price, enable prometheus and disable indexing&lt;/p&gt;
  &lt;pre id=&quot;a3HP&quot; data-lang=&quot;bash&quot;&gt;sed -i -e &amp;quot;s/^minimum-gas-prices *=.*/minimum-gas-prices = \&amp;quot;0auptick\&amp;quot;/&amp;quot; $HOME/.uptickd/config/app.toml
sed -i -e &amp;quot;s/prometheus = false/prometheus = true/&amp;quot; $HOME/.uptickd/config/config.toml
sed -i -e &amp;quot;s/^indexer *=.*/indexer = \&amp;quot;null\&amp;quot;/&amp;quot; $HOME/.uptickd/config/config.toml&lt;/pre&gt;
  &lt;p id=&quot;UAuO&quot;&gt;Clean old data&lt;/p&gt;
  &lt;pre id=&quot;UAuO&quot; data-lang=&quot;bash&quot;&gt;uptickd tendermint unsafe-reset-all --home $HOME/.uptickd --keep-addr-book&lt;/pre&gt;
  &lt;p id=&quot;5lVV&quot;&gt;Create Service file&lt;/p&gt;
  &lt;pre id=&quot;CgKo&quot; data-lang=&quot;bash&quot;&gt;sudo tee /etc/systemd/system/uptickd.service &amp;gt; /dev/null &amp;lt;&amp;lt;EOF
[Unit]
Description=uptick
After=network-online.target

[Service]
User=$USER
ExecStart=$(which uptickd) start --home $HOME/.uptickd
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF&lt;/pre&gt;
  &lt;p id=&quot;XMlZ&quot;&gt;Enable and start service&lt;/p&gt;
  &lt;pre id=&quot;4NoJ&quot; data-lang=&quot;bash&quot;&gt;sudo systemctl daemon-reload
sudo systemctl enable uptickd
sudo systemctl restart uptickd &amp;amp;&amp;amp; sudo journalctl -u uptickd -f&lt;/pre&gt;
  &lt;p id=&quot;b8QV&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;AmYB&quot;&gt;(OPTIONAL) State Sync&lt;/h2&gt;
  &lt;p id=&quot;CMuw&quot;&gt;&lt;strong&gt;In order not to wait for a long synchronization, you can use our StateSync guide&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;1Cyy&quot;&gt;Stop the service &lt;/p&gt;
  &lt;pre id=&quot;goS1&quot; data-lang=&quot;bash&quot;&gt;sudo systemctl stop uptickd&lt;/pre&gt;
  &lt;p id=&quot;YOtk&quot;&gt;Configure&lt;/p&gt;
  &lt;pre id=&quot;PyfL&quot; data-lang=&quot;bash&quot;&gt;cd $HOME peers=&amp;quot;86f50af23369997882ca3988eabeba998b4f07cc@65.109.92.79:10656&amp;quot; 
config=$HOME/.uptickd/config/config.toml 
SNAP_RPC=65.109.92.79:10657
sed -i.bak -e &amp;quot;s/^persistent_peers *=.*/persistent_peers = \&amp;quot;$peers\&amp;quot;/&amp;quot; $config 
sed -i.bak -e &amp;quot;s/^snapshot-interval *=.*/snapshot-interval = \&amp;quot;2000\&amp;quot;/&amp;quot; $HOME/.uptickd/config/app.toml 
LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \ 
BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \ 
TRUST_HASH=$(curl -s &amp;quot;$SNAP_RPC/block?height=$BLOCK_HEIGHT&amp;quot; | jq -r .result.block_id.hash) &lt;/pre&gt;
  &lt;p id=&quot;cPCi&quot;&gt;Сheck is the state sync information available&lt;/p&gt;
  &lt;pre id=&quot;Yvca&quot; data-lang=&quot;bash&quot;&gt;echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH&lt;/pre&gt;
  &lt;p id=&quot;IUqL&quot;&gt;Configure the state sync&lt;/p&gt;
  &lt;pre id=&quot;WrFG&quot; data-lang=&quot;bash&quot;&gt;sed -i.bak -E &amp;quot;s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\&amp;quot;$SNAP_RPC,$SNAP_RPC\&amp;quot;| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\&amp;quot;$TRUST_HASH\&amp;quot;| ; \
s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\&amp;quot;\&amp;quot;|&amp;quot; $config&lt;/pre&gt;
  &lt;p id=&quot;Zw25&quot;&gt;Clean old data&lt;/p&gt;
  &lt;pre id=&quot;Y0FR&quot; data-lang=&quot;bash&quot;&gt;uptickd tendermint unsafe-reset-all --home $HOME/.uptickd --keep-addr-book&lt;/pre&gt;
  &lt;p id=&quot;F0rJ&quot;&gt;Restart the service and check the log&lt;/p&gt;
  &lt;pre id=&quot;YOk2&quot; data-lang=&quot;bash&quot;&gt;sudo systemctl restart uptickd &amp;amp;&amp;amp; sudo journalctl -u uptickd -f&lt;/pre&gt;
  &lt;h2 id=&quot;gMEA&quot;&gt;&lt;/h2&gt;
  &lt;h2 id=&quot;LWFe&quot;&gt;Create wallet&lt;/h2&gt;
  &lt;p id=&quot;aoTo&quot;&gt;To create a new wallet, use the following command. don’t forget to save the mnemonic&lt;/p&gt;
  &lt;pre id=&quot;yT5e&quot; data-lang=&quot;bash&quot;&gt;uptickd keys add $UPTICK_WALLET&lt;/pre&gt;
  &lt;p id=&quot;TuzM&quot;&gt;(optional) To restore exexuting wallet, use the following command&lt;/p&gt;
  &lt;pre id=&quot;UIVc&quot; data-lang=&quot;bash&quot;&gt;uptickd keys add $UPTICK_WALLET --recover&lt;/pre&gt;
  &lt;p id=&quot;v9ik&quot;&gt;Fund your wallet &lt;/p&gt;
  &lt;p id=&quot;0vFP&quot;&gt;Before creating a validator, you need to fund your wallet, go to the &lt;a href=&quot;https://discord.gg/9djbJV4A&quot; target=&quot;_blank&quot;&gt;Uptick discord server&lt;/a&gt; and  and navigate to &lt;strong&gt;faucet&lt;/strong&gt; channel&lt;/p&gt;
  &lt;pre id=&quot;Fmpl&quot; data-lang=&quot;bash&quot;&gt;$faucet &amp;lt;YOUR_WALLET_ADDRESS&amp;gt;&lt;/pre&gt;
  &lt;h3 id=&quot;UNLv&quot;&gt;Save wallet info&lt;/h3&gt;
  &lt;pre id=&quot;UxVV&quot; data-lang=&quot;bash&quot;&gt;UPTICK_WALLET_ADDRESS=$(uptickd keys show $WALLET -a)
UPTICK_VALOPER_ADDRESS=$(uptickd keys show $WALLET --bech val -a)
echo &amp;quot;export UPTICK_WALLET_ADDRESS=&amp;quot;${UPTICK_WALLET_ADDRESS} &amp;gt;&amp;gt; $HOME/.bash_profile
echo &amp;quot;export UPTICK_VALOPER_ADDRESS=&amp;quot;${UPTICK_VALOPER_ADDRESS} &amp;gt;&amp;gt; $HOME/.bash_profile
source $HOME/.bash_profile&lt;/pre&gt;
  &lt;h3 id=&quot;zDe1&quot;&gt;&lt;/h3&gt;
  &lt;h2 id=&quot;jBwv&quot;&gt;&lt;strong&gt;Create validator&lt;/strong&gt;&lt;/h2&gt;
  &lt;p id=&quot;rLAL&quot;&gt;&lt;strong&gt;before creating a validator, you need to check the balance and make sure that the node is synched&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;bTMk&quot;&gt;Check Sync status, once your node is fully synced, the output from above will say &lt;code&gt;false&lt;/code&gt;&lt;/p&gt;
  &lt;pre id=&quot;v1Xx&quot; data-lang=&quot;bash&quot;&gt;uptickd status 2&amp;gt;&amp;amp;1 | jq .SyncInfo&lt;/pre&gt;
  &lt;p id=&quot;G6Or&quot;&gt;Check your balance&lt;/p&gt;
  &lt;pre id=&quot;eI1q&quot; data-lang=&quot;bash&quot;&gt;uptickd query bank balances $UPTICK_WALLET_ADDRESS&lt;/pre&gt;
  &lt;p id=&quot;rjub&quot;&gt;Create validator&lt;/p&gt;
  &lt;pre id=&quot;HM85&quot; data-lang=&quot;bash&quot;&gt;uptickd tx staking create-validator \
  --amount 5000000000000000000auptick \
  --from $UPTICK_WALLET \
  --commission-max-change-rate &amp;quot;0.01&amp;quot; \
  --commission-max-rate &amp;quot;0.2&amp;quot; \
  --commission-rate &amp;quot;0.05&amp;quot; \
  --min-self-delegation &amp;quot;1&amp;quot; \
  --pubkey  $(uptickd tendermint show-validator) \
  --moniker $UPTICK_MONIKER \
  --chain-id $UPTICK_CHAIN_ID \
  --gas=auto
  &lt;/pre&gt;
  &lt;p id=&quot;fzuQ&quot;&gt;You can add &lt;code&gt;--website&lt;/code&gt; &lt;code&gt;--security-contact&lt;/code&gt; &lt;code&gt;--identity&lt;/code&gt; &lt;code&gt;--details&lt;/code&gt; flags in it needed&lt;/p&gt;
  &lt;pre id=&quot;Mzn9&quot; data-lang=&quot;bash&quot;&gt; --website &amp;lt;YOUR_SITE_URL&amp;gt; \
 --security-contact &amp;lt;YOUR_CONTACT&amp;gt; \
 --identity &amp;lt;KEYBASE_IDENTITY&amp;gt; \
 --details &amp;lt;YOUR_VALIDATOR_DETAILS&amp;gt;&lt;/pre&gt;
  &lt;h2 id=&quot;P1qo&quot;&gt;Monitoring&lt;/h2&gt;
  &lt;p id=&quot;wKcJ&quot;&gt;If you want to have set up a monitoring and alert system use our &lt;a href=&quot;https://teletype.in/@itrocket/bdJAHvC_q8h&quot; target=&quot;_blank&quot;&gt;cosmos nodes monitoring guide with tenderduty&lt;/a&gt;&lt;/p&gt;
  &lt;h2 id=&quot;gthi&quot;&gt;Security&lt;/h2&gt;
  &lt;p id=&quot;4IUA&quot;&gt;To protect you keys please don&amp;#x60;t share your privkey, mnemonic and follow a basic security rules&lt;/p&gt;
  &lt;h3 id=&quot;Jh2X&quot;&gt;Set up ssh keys for authentication&lt;/h3&gt;
  &lt;p id=&quot;EaeQ&quot;&gt;You can use this &lt;a href=&quot;https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-on-ubuntu-20-04&quot; target=&quot;_blank&quot;&gt;guide&lt;/a&gt; to configure ssh authentication and disable password authentication on your server&lt;/p&gt;
  &lt;h3 id=&quot;L22z&quot;&gt;Firewall security&lt;/h3&gt;
  &lt;p id=&quot;YsPq&quot;&gt;Set the default to allow outgoing connections, deny all incoming except ssh and node p2p port&lt;/p&gt;
  &lt;pre id=&quot;vPXG&quot; data-lang=&quot;bash&quot;&gt;sudo ufw default allow outgoing 
sudo ufw default deny incoming 
sudo ufw allow ssh/tcp 
sudo ufw allow ${UPTICK_PORT}656/tcp
sudo ufw enable&lt;/pre&gt;
  &lt;p id=&quot;8zci&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;7yZh&quot;&gt;Usefull commands&lt;/h2&gt;
  &lt;h3 id=&quot;h5QK&quot;&gt;&lt;strong&gt;Service commands&lt;/strong&gt;&lt;/h3&gt;
  &lt;p id=&quot;qk2B&quot;&gt;check logs&lt;/p&gt;
  &lt;pre id=&quot;aaxd&quot; data-lang=&quot;bash&quot;&gt;sudo journalctl -u uptickd -f&lt;/pre&gt;
  &lt;p id=&quot;fTD9&quot;&gt;stop service&lt;/p&gt;
  &lt;pre id=&quot;18Lv&quot; data-lang=&quot;bash&quot;&gt;sudo systemctl stop uptickd&lt;/pre&gt;
  &lt;p id=&quot;qkTU&quot;&gt;start service&lt;/p&gt;
  &lt;pre id=&quot;HZVP&quot; data-lang=&quot;bash&quot;&gt;sudo systemctl start uptickd&lt;/pre&gt;
  &lt;p id=&quot;BEkX&quot;&gt;restart service&lt;/p&gt;
  &lt;pre id=&quot;0Y8F&quot; data-lang=&quot;bash&quot;&gt;sudo systemctl restart uptickd&lt;/pre&gt;
  &lt;h3 id=&quot;ff79&quot;&gt;&lt;strong&gt;Wallet operation&lt;/strong&gt;&lt;/h3&gt;
  &lt;p id=&quot;jX7s&quot;&gt;check balance&lt;/p&gt;
  &lt;pre id=&quot;d72p&quot; data-lang=&quot;bash&quot;&gt;uptickd query bank balances $UPTICK_WALLET_ADDRESS&lt;/pre&gt;
  &lt;p id=&quot;iAgC&quot;&gt;transfer funds&lt;/p&gt;
  &lt;pre id=&quot;pmyS&quot; data-lang=&quot;bash&quot;&gt;uptickd tx bank send $UPTICK_WALLET_ADDRESS &amp;lt;TO_UPTICK_WALLET_ADDRESS&amp;gt; 1000000000000000000auptick --gas auto --gas-adjustment 1.3&lt;/pre&gt;
  &lt;p id=&quot;cASZ&quot;&gt;lists of wallets&lt;/p&gt;
  &lt;pre id=&quot;94dJ&quot; data-lang=&quot;bash&quot;&gt;uptickd keys list&lt;/pre&gt;
  &lt;p id=&quot;OiOc&quot;&gt;create a new wallet&lt;/p&gt;
  &lt;pre id=&quot;JQm2&quot; data-lang=&quot;bash&quot;&gt;uptickd keys add $UPTICK_WALLET&lt;/pre&gt;
  &lt;p id=&quot;doer&quot;&gt;recover wallet&lt;/p&gt;
  &lt;pre id=&quot;D0Cf&quot; data-lang=&quot;bash&quot;&gt;uptickd keys add $UPTICK_WALLET --recover&lt;/pre&gt;
  &lt;p id=&quot;064E&quot;&gt;delete wallet&lt;/p&gt;
  &lt;pre id=&quot;1XIR&quot; data-lang=&quot;bash&quot;&gt;uptickd keys delete $UPTICK_WALLET&lt;/pre&gt;
  &lt;h3 id=&quot;uBa6&quot;&gt;&lt;strong&gt;Node information&lt;/strong&gt;&lt;/h3&gt;
  &lt;p id=&quot;kMXv&quot;&gt;synch info&lt;/p&gt;
  &lt;pre id=&quot;ME2H&quot; data-lang=&quot;bash&quot;&gt;uptickd status 2&amp;gt;&amp;amp;1 | jq .SyncInfo&lt;/pre&gt;
  &lt;p id=&quot;nmKR&quot;&gt;node status&lt;/p&gt;
  &lt;pre id=&quot;mmgW&quot; data-lang=&quot;bash&quot;&gt;curl -s localhost:${UPTICK_PORT}657/status&lt;/pre&gt;
  &lt;p id=&quot;ZiWw&quot;&gt;node info&lt;/p&gt;
  &lt;pre id=&quot;I8kY&quot; data-lang=&quot;bash&quot;&gt;uptickd status 2&amp;gt;&amp;amp;1 | jq .NodeInfo&lt;/pre&gt;
  &lt;p id=&quot;SnQ0&quot;&gt;validator info&lt;/p&gt;
  &lt;pre id=&quot;R20t&quot; data-lang=&quot;bash&quot;&gt;uptickd status 2&amp;gt;&amp;amp;1 | jq .ValidatorInfo&lt;/pre&gt;
  &lt;p id=&quot;O3me&quot;&gt;your node peers&lt;/p&gt;
  &lt;pre id=&quot;Amkm&quot; data-lang=&quot;bash&quot;&gt;echo $(uptickd tendermint show-node-id)&amp;#x27;@&amp;#x27;$(curl -s ifconfig.me)&amp;#x27;:&amp;#x27;$(cat $HOME/.uptickd/config/config.toml | sed -n &amp;#x27;/Address to listen for incoming connection/{n;p;}&amp;#x27; | sed &amp;#x27;s/.*://; s/&amp;quot;.*//&amp;#x27;)&lt;/pre&gt;
  &lt;p id=&quot;tH2o&quot;&gt;get currently conected peers lis&lt;/p&gt;
  &lt;pre id=&quot;YWHR&quot; data-lang=&quot;bash&quot;&gt;curl -sS http://localhost:${UPTICK_PORT}657/net_info | jq -r &amp;#x27;.result.peers[] | &amp;quot;\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)&amp;quot;&amp;#x27; | awk -F &amp;#x27;:&amp;#x27; &amp;#x27;{print $1&amp;quot;:&amp;quot;$(NF)}&amp;#x27;&lt;/pre&gt;
  &lt;h3 id=&quot;n9Hn&quot;&gt;&lt;strong&gt;Voting&lt;/strong&gt;&lt;/h3&gt;
  &lt;pre id=&quot;b4xk&quot; data-lang=&quot;bash&quot;&gt;uptickd tx gov vote 1 yes --from $UPTICK_WALLET --chain-id $UPTICK_CHAIN_ID&lt;/pre&gt;
  &lt;h3 id=&quot;B0PD&quot;&gt;&lt;strong&gt;Staking, Delegation and Rewards&lt;/strong&gt;&lt;/h3&gt;
  &lt;p id=&quot;z1ei&quot;&gt;Withdraw all rewards&lt;/p&gt;
  &lt;pre id=&quot;eWtR&quot; data-lang=&quot;bash&quot;&gt;uptickd tx distribution withdraw-all-rewards --from $WALLET --chain-id $UPTICK_CHAIN_ID --gas auto --gas-adjustment 1.3&lt;/pre&gt;
  &lt;p id=&quot;dMEF&quot;&gt;Withdraw rewards with commision&lt;/p&gt;
  &lt;pre id=&quot;lom4&quot; data-lang=&quot;bash&quot;&gt;uptickd tx distribution withdraw-rewards $UPTICK_VALOPER_ADDRESS --from $WALLET --commission --chain-id $UPTICK_CHAIN_ID --gas auto --gas-adjustment 1.3&lt;/pre&gt;
  &lt;p id=&quot;AX89&quot;&gt;Check balance &lt;/p&gt;
  &lt;pre data-lang=&quot;bash&quot; id=&quot;MNmn&quot;&gt;uptickd query bank balances $UPTICK_WALLET_ADDRESS&lt;/pre&gt;
  &lt;p id=&quot;y8Tm&quot;&gt;Delegate stake&lt;/p&gt;
  &lt;pre id=&quot;pbeN&quot; data-lang=&quot;bash&quot;&gt;uptickd tx staking delegate $UPTICK_VALOPER_ADDRESS 5000000000000000000auptick --from $WALLET --chain-id $UPTICK_CHAIN_ID --gas=auto --gas-adjustment 1.3&lt;/pre&gt;
  &lt;p id=&quot;elZF&quot;&gt;Redelegate stake to another validator&lt;/p&gt;
  &lt;pre id=&quot;SSAl&quot; data-lang=&quot;bash&quot;&gt;uptickd tx staking redelegate &amp;lt;srcValidatorAddress&amp;gt; &amp;lt;destValidatorAddress&amp;gt; 5000000000000000000auptick --from $WALLET --chain-id $UPTICK_CHAIN_ID --gas auto --gas-adjustment 1.3&lt;/pre&gt;
  &lt;h3 id=&quot;E2Js&quot;&gt;Validator operation&lt;/h3&gt;
  &lt;p id=&quot;LCEK&quot;&gt;Edit validator&lt;/p&gt;
  &lt;pre id=&quot;BKJI&quot; data-lang=&quot;bash&quot;&gt;uptickd tx staking edit-validator \
  --moniker=$NODENAME \
  --identity=&amp;lt;your_keybase_id&amp;gt; \
  --website=&amp;quot;&amp;lt;your_website&amp;gt;&amp;quot; \
  --details=&amp;quot;&amp;lt;your_validator_description&amp;gt;&amp;quot; \
  --chain-id=$UPTICK_CHAIN_ID \
  --from=$WALLET&lt;/pre&gt;
  &lt;p id=&quot;Jojw&quot;&gt;Validator info&lt;/p&gt;
  &lt;pre id=&quot;7v4Y&quot; data-lang=&quot;bash&quot;&gt;uptickd status 2&amp;gt;&amp;amp;1 | jq .ValidatorInfo&lt;/pre&gt;
  &lt;p id=&quot;dr89&quot;&gt;Jailing info &lt;/p&gt;
  &lt;pre id=&quot;ODu9&quot; data-lang=&quot;bash&quot;&gt;uptickd q slashing signing-info $(uptickd tendermint show-validator)&lt;/pre&gt;
  &lt;p id=&quot;XUFL&quot;&gt;Unjail validator&lt;/p&gt;
  &lt;pre id=&quot;kkwW&quot; data-lang=&quot;bash&quot;&gt;uptickd tx slashing unjail --broadcast-mode=block --from $WALLET --chain-id $UPTICK_CHAIN_ID --gas auto --gas-adjustment 1.5&lt;/pre&gt;
  &lt;p id=&quot;sgbX&quot;&gt;Consensus state&lt;/p&gt;
  &lt;pre id=&quot;f55l&quot; data-lang=&quot;bash&quot;&gt;curl localhost:${UPTICK_PORT}657/consensus_state&lt;/pre&gt;
  &lt;h2 id=&quot;oRSf&quot;&gt;Delete node&lt;/h2&gt;
  &lt;pre id=&quot;rIEZ&quot;&gt;sudo systemctl stop uptickd
sudo systemctl disable uptickd
sudo rm -rf /etc/systemd/system/uptick*
sudo rm $(which uptickd)
sudo rm -rf $HOME/.uptickd
sudo rm -fr $HOME/uptick
sed -i &amp;quot;/UPTICK_/d&amp;quot; $HOME/.bash_profile&lt;/pre&gt;

</content></entry><entry><id>itrocket:bdJAHvC_q8h</id><link rel="alternate" type="text/html" href="https://teletype.in/@itrocket/bdJAHvC_q8h?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=itrocket"></link><title>COSMOS node protecting and monitoring guide with tenderduty</title><published>2022-10-16T16:33:23.845Z</published><updated>2023-12-27T07:00:36.345Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/06/2f/062f0332-ced6-4f17-aaea-e977f5758e15.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/9c/f2/9cf2a127-dbad-40b3-bf59-0a03aa2ba614.jpeg&quot;&gt;Update packages and Install dependencies</summary><content type="html">
  &lt;p id=&quot;5PUx&quot;&gt;Update packages and Install dependencies&lt;/p&gt;
  &lt;pre id=&quot;Eai2&quot;&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y
sudo apt install curl build-essential git wget jq make gcc tmux pkg-config libssl-dev libleveldb-dev tar -y&lt;/pre&gt;
  &lt;p id=&quot;THxH&quot;&gt;Install go&lt;/p&gt;
  &lt;pre id=&quot;9L2E&quot; data-lang=&quot;bash&quot;&gt;ver=&amp;quot;1.18.2&amp;quot;
cd $HOME
wget &amp;quot;https://golang.org/dl/go$ver.linux-amd64.tar.gz&amp;quot;
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf &amp;quot;go$ver.linux-amd64.tar.gz&amp;quot;
rm &amp;quot;go$ver.linux-amd64.tar.gz&amp;quot;
echo &amp;quot;export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin&amp;quot; &amp;gt;&amp;gt; ~/.bash_profile
source ~/.bash_profile
go version&lt;/pre&gt;
  &lt;p id=&quot;XUFa&quot;&gt;Install tenderduty&lt;/p&gt;
  &lt;pre id=&quot;uACH&quot;&gt;cd $HOME
rm -rf tenderduty
git clone https://github.com/blockpane/tenderduty
cd tenderduty
go install
cp example-config.yml config.yml&lt;/pre&gt;
  &lt;p id=&quot;0dW9&quot;&gt;Open config.yml file &lt;/p&gt;
  &lt;pre id=&quot;72rb&quot;&gt;sudo nano $HOME/tenderduty/config.yml&lt;/pre&gt;
  &lt;p id=&quot;a8ZM&quot;&gt;For simple monitoring without notifications, just change these in the config:&lt;/p&gt;
  &lt;ul id=&quot;zxRA&quot;&gt;
    &lt;li id=&quot;4op8&quot;&gt;&lt;strong&gt;Osmosys&lt;/strong&gt; to &amp;lt;PROJECT_NAME&amp;gt;&lt;/li&gt;
    &lt;li id=&quot;EHdu&quot;&gt;&lt;strong&gt;chain_id: osmosis-1&lt;/strong&gt; to chain_id: &amp;lt;YOUR_CHAIN_ID&amp;gt; &lt;/li&gt;
    &lt;li id=&quot;8sB6&quot;&gt;&lt;strong&gt;valoper_address: osmovaloper1xxxxxxx... &lt;/strong&gt;to valoper_address: &amp;lt;YOUR_VALOPER_ADDRESS&amp;gt;&lt;/li&gt;
    &lt;li id=&quot;OeO8&quot;&gt;&lt;strong&gt;url: tcp://localhost:26657&lt;/strong&gt; TO url: tcp://localhost:&amp;lt;YOUR_NODE_RPC_PORT&amp;gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;7ewp&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9c/f2/9cf2a127-dbad-40b3-bf59-0a03aa2ba614.jpeg&quot; width=&quot;850&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;o89t&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/64/a5/64a5a8b6-18d7-4929-9958-532852c226cb.jpeg&quot; width=&quot;850&quot; /&gt;
  &lt;/figure&gt;
  &lt;section style=&quot;background-color:hsl(hsl(24,  24%, var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;p id=&quot;v9ky&quot;&gt;&lt;strong&gt;Optional &lt;br /&gt;If you want to add another node monitoring, you can dublicate this section on conf.yml file&lt;/strong&gt;&lt;/p&gt;
    &lt;pre id=&quot;K6Jg&quot;&gt;chains:

  # The user-friendly name that will be used for labels. Highly suggest wrapping in quotes.
  &amp;quot;Osmosis&amp;quot;:
    # chain_id is validated for a match when connecting to an RPC endpoint, also used as a label in several places.
    chain_id: osmosis-1
    # Hooray, in v2 we derive the valcons from abci queries so you don&amp;#x27;t have to jump through hoops to figure out how
    # to convert ed25519 keys to the appropriate bech32 address
    valoper_address: osmovaloper1xxxxxxx...
    # Should the monitor revert to using public API endpoints if all supplied RCP nodes fail?
    # This isn&amp;#x27;t always reliable, not all public nodes have websocket proxying setup correctly.
    public_fallback: no

    # Controls various alert settings for each chain.
    alerts:
      # If the chain stops seeing new blocks, should an alert be sent?
      stalled_enabled: yes
      # How long a halted chain takes in minutes to generate an alarm
      stalled_minutes: 10

      # Most basic alarm, you just missed x blocks ... would you like to know?
      consecutive_enabled: yes
      # How many missed blocks should trigger a notification?
      consecutive_missed: 5
      # NOT USED: future hint for pagerduty&amp;#x27;s routing
      consecutive_priority: critical

      # For each chain there is a specific window of blocks and a percentage of missed blocks that will result in
      # a downtime jail infraction. Should an alert be sent if a certain percentage of this window is exceeded?
      percentage_enabled: no
      # What percentage should trigger the alert
      percentage_missed: 10
      # Not used yet, pagerduty routing hint
      percentage_priority: warning

      # Should an alert be sent if the validator is not in the active set ie, jailed,
      # tombstoned, unbonding?
      alert_if_inactive: yes
      # Should an alert be sent if no RPC servers are responding? (Note this alarm is instantaneous with no delay)
      alert_if_no_servers: yes

      # for this *specific* chain it&amp;#x27;s possible to override alert settings. If the api_key or webhook addresses are empty,
      # the global settings will be used. Note, enabled must be set both globally and for each chain.

      # Chain specific setting for pagerduty
      pagerduty:
        enabled: yes
        api_key: &amp;quot;&amp;quot; # uses default if blank

      # Discord settings
      discord:
        enabled: yes
        webhook: &amp;quot;&amp;quot; # uses default if blank

      # Telegram settings
      telegram:
        enabled: yes
        api_key: &amp;quot;&amp;quot; # uses default if blank
        channel: &amp;quot;&amp;quot; # uses default if blank

    # This section covers our RPC providers. No LCD (aka REST) endpoints are used, only TM&amp;#x27;s RPC endpoints
    # Multiple hosts are encouraged, and will be tried sequentially until a working endpoint is discovered.
    nodes:
      # URL for the endpoint. Must include protocol://hostname:port
      - url: tcp://localhost:26657
        # Should we send an alert if this host isn&amp;#x27;t responding?
        alert_if_down: yes
      # repeat hosts for monitoring redundancy
      - url: https://some-other-node:443
        alert_if_down: no
&lt;/pre&gt;
  &lt;/section&gt;
  &lt;p id=&quot;eU9t&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;G8Nn&quot;&gt;Create service file and start tenderduty&lt;/p&gt;
  &lt;pre id=&quot;9sMD&quot;&gt;sudo tee /etc/systemd/system/tenderdutyd.service &amp;lt;&amp;lt; EOF
[Unit]
Description=Tenderduty
After=network.target

[Service]
Type=simple
Restart=always
RestartSec=5
TimeoutSec=180

User=$USER
WorkingDirectory=$HOME/tenderduty
ExecStart=$(which tenderduty)

# there may be a large number of network connections if a lot of chains
LimitNOFILE=infinity

# extra process isolation
NoNewPrivileges=true
ProtectSystem=strict
RestrictSUIDSGID=true
LockPersonality=true
PrivateUsers=true
PrivateDevices=true
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF&lt;/pre&gt;
  &lt;pre id=&quot;QWyI&quot;&gt;sudo systemctl daemon-reload
sudo systemctl enable tenderdutyd
sudo systemctl start tenderdutyd&lt;/pre&gt;
  &lt;p id=&quot;GMVW&quot;&gt;Now you can see the logs&lt;/p&gt;
  &lt;pre id=&quot;YKvt&quot;&gt;sudo journalctl -fu tenderdutyd&lt;/pre&gt;
  &lt;p id=&quot;uhKx&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;dhpA&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/01/34/013486f5-e802-4164-99e4-3310d2848b5c.jpeg&quot; width=&quot;827&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ynGz&quot;&gt;You can open dashboard on web browser by using tenderduty port and your server IP http://&amp;lt;YOUR_SERVER_IP&amp;gt;:&amp;lt;PORT&amp;gt;&lt;br /&gt;Default port on tenderduty is 8888&lt;/p&gt;
  &lt;figure id=&quot;p2mY&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/10/23/10238232-df26-4de4-a600-fd6aa6c796ce.jpeg&quot; width=&quot;1096&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;yNnX&quot;&gt;Turn on firewall to protect your server and open the required port&lt;/h2&gt;
  &lt;p id=&quot;wYfN&quot;&gt;Default RPC port is 26656, prometheus - 26660 and tenderduty - 8888. &lt;u&gt;if you have custom ports on your node or have another nodes in this server, check it and open custom ports!&lt;/u&gt;&lt;/p&gt;
  &lt;pre id=&quot;UwVN&quot; data-lang=&quot;bash&quot;&gt;sudo apt install ufw 
sudo ufw default allow outgoing 
sudo ufw default deny incoming 
sudo ufw allow ssh/tcp 
sudo ufw limit ssh/tcp 
sudo ufw allow 26656,26660,8888/tcp
sudo ufw enable&lt;/pre&gt;
  &lt;p id=&quot;HChw&quot;&gt;&lt;/p&gt;
  &lt;h2 id=&quot;939R&quot;&gt;Configure Telegram alerting&lt;/h2&gt;
  &lt;p id=&quot;DRcM&quot;&gt;Open telegram and find @BotFather &lt;/p&gt;
  &lt;ol id=&quot;JbwW&quot;&gt;
    &lt;li id=&quot;jSFH&quot;&gt;Create telegram bot via &lt;code&gt;@BotFather&lt;/code&gt;, customize it and &lt;code&gt;get bot API token&lt;/code&gt; (&lt;a href=&quot;https://www.siteguarding.com/en/how-to-get-telegram-bot-api-token&quot; target=&quot;_blank&quot;&gt;how_to&lt;/a&gt;).&lt;/li&gt;
    &lt;li id=&quot;sKpX&quot;&gt;Create the group: &lt;code&gt;alarm&lt;/code&gt; . Customize them, add the bot in your chat and &lt;code&gt;get chats IDs&lt;/code&gt; (&lt;a href=&quot;https://stackoverflow.com/questions/32423837/telegram-bot-how-to-get-a-group-chat-id&quot; target=&quot;_blank&quot;&gt;how_to&lt;/a&gt;).&lt;/li&gt;
    &lt;li id=&quot;mO9u&quot;&gt;Open config.yml file &lt;/li&gt;
  &lt;/ol&gt;
  &lt;section style=&quot;background-color:hsl(hsl(0,   0%,  var(--autocolor-background-lightness, 95%)), 85%, 85%);&quot;&gt;
    &lt;ul id=&quot;Z6zk&quot;&gt;
      &lt;li id=&quot;Y643&quot;&gt;change &lt;strong&gt;enabled: no&lt;/strong&gt; to enabled: yes&lt;/li&gt;
      &lt;li id=&quot;ADWN&quot;&gt;&lt;strong&gt;api_key: &amp;#x27;5555555555:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&amp;#x27;&lt;/strong&gt; to  api_key: &amp;#x27;&amp;lt;YOUR_BOT_API_KEY&amp;gt;&amp;#x27;&lt;/li&gt;
      &lt;li id=&quot;l0n7&quot;&gt;&lt;strong&gt;channel: &amp;quot;-666666666&amp;quot; &lt;/strong&gt;to channel: &amp;quot;&amp;lt;YOUR_GROUP_CHAT_ID&amp;gt;&amp;quot;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/section&gt;
  &lt;pre id=&quot;5lm7&quot;&gt;nano $HOME/tenderduty/config.yml&lt;/pre&gt;
  &lt;figure id=&quot;pTmh&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bf/35/bf352fcc-76ed-4645-a700-ce2ae63fd792.jpeg&quot; width=&quot;850&quot; /&gt;
    &lt;figcaption&gt;And save this ctrl+x y enter&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;0epN&quot;&gt;Restart tenderduty&lt;/p&gt;
  &lt;pre id=&quot;xlak&quot;&gt;sudo systemctl restart tenderdutyd &amp;amp;&amp;amp; sudo journalctl -fu tenderdutyd&lt;/pre&gt;
  &lt;p id=&quot;snvI&quot;&gt;Congratulations! You have set up a monitoring and alert system&lt;/p&gt;

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