How To GENTX /// v1.0
Отправляем gentx на примере Olympus.
Если вы не знаете, что такое нода — читаем статью.
Если вы не знаете, где арендовать сервер для ноды — читаем статью.
Если вы не знаете, как подключиться к серверу — читаем статью.
Если вы всё знаете — открываем MobaXterm и создаём сессию.
- Установка: устанавливаем необходимую ноду.
- Gentx: создаём gentx.
- Github: отправляем pull request.
- Благодарности
- Полезные ресурсы на каждый день
Немного подготавливаем сервер. Подразумевается установка на чистый сервер.
# обновляем 'базу данных', обновляем дистрибутив $ sudo apt-get update && sudo apt-get upgrade -y
# устанавливаем необходимые пакеты, если необходимо $ sudo apt install curl tar wget clang pkg-config libssl-dev \ jq build-essential git make ncdu -y
# устанавливаем 'go', если это необходимо $ wget https://golang.org/dl/go1.17.2.linux-amd64.tar.gz; \ rm -rv /usr/local/go 2>/dev/null; \ tar -C /usr/local -xzf go1.17.2.linux-amd64.tar.gz && \ rm -v go1.17.2.linux-amd64.tar.gz && \ echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" \ >> ~/.bash_profile && \ source ~/.bash_profile && \ go version
Уставляем необходимую нам ноду.
# устанавливаем нужную ноду $ cd && \ rm -Rvf $HOME/evmos 2>/dev/null; \ git clone https://github.com/tharsis/evmos.git && \ cd $HOME/evmos && \ make install && \ cd
# удаляем старый генезис. если нода не 'evmos' - редактируйте команду $ rm $HOME/.evmosd/config/genesis.json 2>/dev/null
# восстанавливаем ключи из прошлого тестнета, либо генерим новые # БЕЗ < >, ЛАДНО? $ evmosd keys add <nickname> --recover $ evmosd keys add <nickname>
# инициализируем ноду. если нода не 'evmos' - редактируйте команду # БЕЗ < >, ЛАДНО? $ evmosd init <nickname> --chain-id=evmos_9000-2
# добавляем генезис аккаунт. если нода не 'evmos' - редактируйте команду # БЕЗ < >, ЛАДНО? $ evmosd add-genesis-account \ $(evmosd keys show <nickname> -a) 1000000000000aphoton
# удаляем возможный старый 'gentx' $ rm -Rvf $HOME/.evmosd/config/gentx
# генерация gentx. если нода не 'evmos' - редактируйте команду # БЕЗ < >, ЛАДНО? $ evmosd gentx <nickname> 1000000000000aphoton \ --commission-rate=0.1 \ --commission-max-rate=1 \ --commission-max-change-rate=0.1 \ --pubkey $(evmosd tendermint show-validator) \ --chain-id=evmos_9000-2
Выводим на экран gentx. Если нода не evmos - редактируем пути под себя.
$ cat $HOME/.evmosd/config/gentx/`ls $HOME/.evmosd/config/gentx/`
Копируем и сохраняем в текстовый файл на ПК.
Теперь заходим на гитхаб и логинимся в аккаунт.
Открываем репозиторий нужного нам тестнета и форкаем репозиторий.
В моём случае, это эвмос: https://github.com/tharsis/testnets.
В открывшемся форке переходим по папкам в нужную нам. Для каждого проекта "нужная папка" уникальна и указана в официальной документации.
Под "нужная папка" я подразумеваю папку, куда нужно залить свою gentx.
В моём случае, это testnets-1/olympus_mons/gentxs/:
В названии файла пишем, собственно, название файла.
Для каждого тестнета требования к названию уникальны. Конкретно в моём случае, я должен назвать файл по следующему примеру: <moniker>.json
Так я и делаю. При создании gentx в терминале я обозвал моникер, как test, название файла указываю соответствующее. Это важно.
В содержимое файла вставляем последний вывод терминала и название коммита указываем: ADD <moniker> gentx. Выглядеть должно так:
Теперь нажимаем на "Commit new file". Выглядит это у меня следующим образом.
Теперь отправим сам пул реквест: Contribute > Open pull request:
Ваш пул должен появиться в главном репозитории, во вкладке Pull requests:
Вот и всё. Основные моменты описал.
Если у вас возникают трудности при таких простых манипуляциях - задумайтесь, а оно вам надо?
Если надо, тогда долбите. Рано или поздно получится. Главное не сдаваться, если сильно хочется.
Взаимодействие с гитхабом очень востребовано. Важно уметь работать с ним.
мамичу за то, что родила такого гения.
@how_to_node - канал, где я выкладываю свои гайды.