Ended Events
April 29, 2021

SPACEMESH CLI /// v2.09

Давно не обновлял. Гайд в принципе рабочий, только файлы ноды и майнера актуальные с гитхаба скачать надо. Сам перестал держать.

Устанавливаем ноду Spacemesh для участия в тестнете devnet-208.

Если вы не знаете, что такое нода — читаем статью.
Если вы не знаете, где арендовать сервер для ноды — читаем статью.
Если вы не знаете, как подключиться к серверу — читаем статью.
Если вы всё знаете — открываем MobaXterm и создаём сессию.

Содержание

Spacemesh - блокчейн, использующий новый протокол консенсуса race-free.

Проект Spacemesh стремится создать безопасный и масштабируемый блокчейн, состоящий из большого количества "нод", в роли которых выступают обычные домашние ПК.

Spacemesh спроектирован таким образом, чтобы быть устойчивым к ASIC-майнингу и не давать преимущества тем персонажам, которые могут позволить себе арендовать выделенный сервер.

Команда достигает этого используя новый протокол консенсуса и оптимизируя ПО для наиболее эффективного использования Spacemesh на домашних ПК.


На данный момент тестнет, как ивент, не запущен. Просто открытый тест.


Blog | Docs | GitHub | WebSite | Twitter | Discord

Содержание

Официальные требования: 2 CPU x 4 GB RAM x 100 GB SSD - Ubuntu 20.04.

Субъективные наблюдения: 2 CPU x 4 GB RAM x 100 GB SSD - Ubuntu 20.04.

Содержание

Приступаем к установке майнера:

# обновляем 'базу данных', обновляем дистрибутив
$ sudo apt-get update && sudo apt-get upgrade -y
# скачиваем необходимые зависимости
$ sudo apt install curl unzip wget -y
# удаляем старый 'go'
$ rm -rf /usr/local/go
# устанавливаем 'go' одной командой
$ wget https://golang.org/dl/go1.16.7.linux-amd64.tar.gz && \
tar -C /usr/local -xzf go1.16.7.linux-amd64.tar.gz && \
rm go1.16.7.linux-amd64.tar.gz && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin">> ~/.bash_profile; \
source ~/.bash_profile && \
go version
# создаём папку 'spacemesh'
$ mkdir $HOME/spacemesh && cd $HOME/spacemesh
# скачиваем архив 'go-spacemesh'
$ wget -P $HOME/spacemesh/ https://storage.googleapis.com/go-spacemesh-release-builds/v0.2.5-beta.1/Linux.zip
# наводим красоту одной командой
$ cd $HOME/spacemesh/ && \
unzip $HOME/spacemesh/Linux.zip && \
rm -fv $HOME/spacemesh/Linux.zip && \
rm -Rfv $HOME/spacemesh/__MACOSX && \
mv $HOME/spacemesh/Linux/* $HOME/spacemesh/ && \
rm -Rfv $HOME/spacemesh/Linux/ && \
mv go-spacemesh node && \
mv smrepl* wallet && cd
# выдаём права на исполнение
$ chmod +x $HOME/spacemesh/node $HOME/spacemesh/wallet
# перемещаем все нужные файлы в '/usr/bin/'
$ mv $HOME/spacemesh/node /usr/bin/ && \
mv $HOME/spacemesh/wallet /usr/bin/ && \
mv $HOME/spacemesh/libgpu-setup.so /usr/bin/
# создаём сервис 'spaced'
$ sudo tee <<EOF >/dev/null /etc/systemd/system/spaced.service
[Unit]
Description=Spacemesh Node
After=network-online.target
[Service]
User=$USER
ExecStart=/usr/bin/node -c=$HOME/spacemesh/config.json
Restart=always
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
# включаем сервис 'spaced'
$ sudo systemctl daemon-reload && \
sudo systemctl enable spaced && \
sudo systemctl restart spaced
# смотрим логи
$ sudo journalctl -u spaced -f

Отлично, логи побежали. Останавливаем логи сочетанием клавиш Ctrl + C.

Содержание

Открываем клиент для взаимодействия с кошельком.

# открываем клиент
$ wallet

Если у вас остался кошелёк со старых тестнетов, то загружаем его в любой удобный каталог и "открываем" его через клиент, как обычно:

Если кошелька нет, то создаём его.

# первым делом, создаём кошелёк (выполнять в клиенте)
$ wallet create

Обязательно скачиваем себе на компьютер файл с ключом по указанному пути. Это единственный способ восстановить кошелёк.

# посмотрим информацию о кошельке (выполнять в клиенте)
$ account info

Не забываем записать адреса и ключи в блокнот.

# проверяем статус синхронизации (выполнять в клиенте)
$ status node

Ждём конца синхронизации, когда Synced станет true.

# выходим из клиента
$ quit
Содержание

Настраиваем смешинг. Первым делом необходимо отредактировать конфиг по пути $HOME/spacemesh/config.json.

На сотой строке начинается блок, отвечающий за смешинг:

smeshing-coinbase - наш тестовый спейсмеш-адрес, на который будут приходить награды.

smeshing-opts-datadir - указываем папку $HOME/spacemesh/post.

smeshing-start - указываем true.

Выглядеть должно следующим образом:

Сохраняем изменения и настраиваем аккаунт для получения наград в клиенте.

# открываем клиент
$ wallet
# настраиваем адрес для наград (выполнять в клиенте)
$ smesher set-rewards-address
# выходим из клиента
$ quit

Теперь перезапускаем сервис, чтобы изменения вступили в силу.

# перезапуск 'spaced'
$ sudo systemctl restart spaced
# смотрим логи
$ sudo journalctl -u spaced -f

Сочетанием клавиш Ctrl + C выходим из логов и проверяем статус смешинга:

# открываем клиент
$ wallet
# статус смешинга
$ smesher status

Первые награды капнут через несколько часов.
Их можно лицезреть в эксплорере:

Содержание
# останавливаем сервис 'spaced'
$ sudo systemctl stop spaced
# удаляем старые файлы одной командой
$ rm -Rvf /usr/bin/node /usr/bin/wallet \
/usr/bin/libgpu-setup.so $HOME/spacemesh/config.json \
$HOME/spacemesh/gpu-setup-test $HOME/spacemesh/post
# скачиваем архив с новыми исполняемыми файлами
$ wget -P $HOME/spacemesh/ https://storage.googleapis.com/go-spacemesh-release-builds/v0.2.5-beta.1/Linux.zip
# наводим красоту одной командой
$ cd $HOME/spacemesh && \
unzip $HOME/spacemesh/Linux.zip && \
rm -fv $HOME/spacemesh/Linux.zip && \
rm -Rfv $HOME/spacemesh/__MACOSX && \
mv $HOME/spacemesh/Linux/* $HOME/spacemesh/ && \
rm -Rfv $HOME/spacemesh/Linux/ && \
mv go-spacemesh node && \
mv smrepl* wallet && cd
# выдаём права на исполнение
$ chmod +x $HOME/spacemesh/node $HOME/spacemesh/wallet
# перемещаем все нужные файлы в '/usr/bin/'
$ mv $HOME/spacemesh/node /usr/bin/ && \
mv $HOME/spacemesh/wallet /usr/bin/ && \
mv $HOME/spacemesh/libgpu-setup.so /usr/bin/
# включаем сервис 'spaced'
$ sudo systemctl daemon-reload && \
sudo systemctl enable spaced && \
sudo systemctl restart spaced
# смотрим логи
$ sudo journalctl -u spaced -f

Через минут 15 начнётся синхронизация. Проверять можно через клиент кошелька:

$ wallet
$ status node

Также, после окончания синхронизации не забудьте убедиться, что смешинг включён и активен. Необходимо будет настроить конфиг заново, как мы делали в пункте Smeshing.

Содержание

Если вы вдруг разочаровались в проекте и хотите удалить его с сервера, то можно просто разрушить/удалить сервер из личного кабинета хостинга.

Это сработает, если на сервере нет других важных нод. В случае, если вы хотите оставить сервер, но удалить конкретную ноду - приступаем к её удалению:

# останавливаем и отключаем сервис 'spaced'
$ sudo systemctl stop spaced && sudo systemctl disable spaced
# удаляем папку с исполняемыми файлами 'spacemesh' одной командой
$ rm -Rvf $HOME/spacemesh /usr/bin/node /usr/bin/wallet \
/usr/bin/libgpu-setup.so
Содержание

мамичу за то, что родила такого гения.

Содержание

@how_to_node - канал, где я выкладываю свои гайды.

Полезные ресурсы.

Крипто-кошельки автора гайда.