Настройка полной ноды на базе VPS с предустановленной ОС Ubuntu 16/18
-
Отличная работа
-
Добавил описание настройки запуска gvite как сервиса по шагам из официального гайда
https://vite.wiki/tutorial/node/example.html#start-gvite-as-serviceНа заметку полный список параметров для сервиса gvite можно посмотреть с помощью параметра --help
Для текущей версии он выглядит следующим образом:/usr/local/vite/gvite --help gvite [global options] command [command options] [arguments...] VERSION: v1.2.3-alpha.4 COMMANDS: attach Start an interactive JavaScript environment (connect to node) console Start an interactive JavaScript environment license Display license information version Print version numbers help Shows a list of commands or help for one command GLOBAL OPTIONS: --config value Json configuration file --datadir use for store all files --keystore Directory for the keystore (default = inside the datadir) --devnet Rinkeby network: pre-configured proof-of-authority dev network --testnet Ropsten network: pre-configured proof-of-work test network --mainnet Rinkeby network: pre-configured proof-of-authority prod network --identity value Custom node name --networkid value Network identifier (integer, 1=MainNet, 2=TestNet, 3~12=DevNet,) (default: 0) --maxpeers value Maximum number of network peers (network disabled if set to 0) (default: 0) --maxpendpeers value Maximum number of pending connection attempts (defaults used if set to 0) (default: 0) --port value Network listening port (default: 0) --nodekeyhex value P2P node key as hex --discovery value enable p2p discovery or not --ipc Enable the IPC-RPC server --ipcpath Filename for IPC socket/pipe within the datadir (explicit paths escape it) --rpc Enable the HTTP-RPC server --rpcaddr value HTTP-RPC server listening interface --rpcport value HTTP-RPC server listening port (default: 0) --ws Enable the WS-RPC server --wsaddr value WS-RPC server listening interface --wsport value WS-RPC server listening port (default: 0) --jspath loadScript JavaScript root path for loadScript (default: ".") --exec value Execute JavaScript statement --preload value Comma separated list of JavaScript files to preload into the console --miner Enable the Miner --coinbase value Coinbase is an address into which the rewards for the SuperNode produce snapshot-block --minerinterval value Miner Interval(unit: second) (default: 0) --loglevel value log level (info,eror,warn,dbug) --vmtest Enable the VM Test --vmtestparam Enable the VM Test params --single Enable the NodeServer single --fileport value File transfer listening port (default: 0) --pprof Enable a performance analysis tool, you can visit the address[http://localhost:8080/debug/pprof] --pprofport port pporof visit port, you can visit the address[http://localhost:`port`/debug/pprof] (default: 0) --metrics Enable metrics collection and reporting --metrics.influxdb Enable metrics export/push to an external InfluxDB database --metrics.influxdb.endpoint value InfluxDB API endpoint to report metrics to --metrics.influxdb.database value InfluxDB database name to push reported metrics to (default: "metrics") --metrics.influxdb.username value Username to authorize access to the database (default: "test") --metrics.influxdb.password value Password to authorize access to the database (default: "test") --metrics.influxdb.host.tag host InfluxDB host tag attached to all measurements (default: "localhost") --help, -h show help --version, -v print the version
Согласно официальному гайду статус синхронизации можно проверить прямо с консоли вашей полной ноды
Enter gvite command line using script
Отредактируем файл ~/.bashrcmcedit ~/.bashrc
Добавляем строчку и сохраняем изменения:
alias vite="/opt/gvite/gvite attach ~/.gvite/testdata/gvite.ipc"
Не забываем, что для данного примера я использую путь /opt/gvite/gvite (поменять на свой вариант).
Запускаем команду, чтобы применились внесенные нами измененияsource ~/.bashrc
Далее запускаем командную строку gvite
vite
Теперь в консоли мы можем проверять, к примеру раз в 10 секунд текущую длинну блоков
Welcome to the Gvite JavaScript console! -> # Periodically output current block height Execute below command in gvite command line: setInterval(function(){vite.ledger_getSnapshotChainHeight();}, 10000)
Выход из консоли выполняется командой exit.
-
Отличная работа
-
Собираем gvite из основной ветки на github
Предварительно устанавливаем make, make-guile и gcc
apt-get nstall make apt-get install make-guile apt-get install gcc
curl -O -L https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz sha256sum go1.11.5.linux-amd64.tar.gz
Проверяем хеш, совпадает ли с тем, что на сайте (битый архив)
tar -xf go1.11.5.linux-amd64.tar.gz mv go /usr/local
Добавляем параметры для go
mcedit ~/.profile
Добавляем строчки в конец файла.
export GOPATH=$HOME/go export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
Применяем изменения
source ~/.profile
Качаем код
mkdir $HOME/go go get github.com/vitelabs/go-vite cd $HOME/go/src/github.com/vitelabs/go-vite/
Компилируем файл.
make gvite
Наш готовый файл находится по адресу:
cd ~/go/src/github.com/vitelabs/go-vite/build/cmd/gvite/
Фикс бага со стаком на 7436*** блоке
Останавливаем сервис и выполняем команду из папки с ранее приготовленным файлом./gvite -config /source_to_config/node_config.json recover -del=7436000
-
Заметил, что с новой версией может немного меняться конфигурационный файл. Например, добавляются в лишние пробелы, параметры и т.д.
К примеру было:
getURL":"" с заменой на getURL":"wss://stats.vite.net"
И соответствующая команда
sed -i 's/getURL": ""/getURL":"wss://stats.vite.net"/g' node_config.jsonСтало:
getURL": "" с заменой на getURL": "wss://stats.vite.net",
И соответствующая команда
sed -i 's/getURL": ""/getURL" :"wss://stats.vite.net"/g' node_config.json
-
Нужно помнить, что место не резиновое. Например если вы используете ноду с 25Gb жестким диском.
В помощь пару команд, чтобы почистить наши логи. Иногда они полностью забивают все дисковое пространство из-за частых ошибок - например нода перестала нормально синхронизироваться и вы за ней не уследили.
Первых две команды вычищают все их из двух папок с логами. Третья команда покажет информацию об использованом дисковом пространстве.rm -rfv ~/.gvite/testdata/rpclog/* rm -rfv ~/.gvite/testdata/runlog/* df -h
-
Добрый день.
Подскажите где можно почитать как настроить полную ноду на Windows 10.
Так же возможно ли настроить несколько нод на 1 компьютере с Windows 10.
Для каждой ноды у меня есть отдельный выделенный IP адрес.
-
@iNeXT-4K Привет, вот гайд https://snapsecure.network/run-a-full-node-today-and-earn-vite-rewards-daily
-
Не удалось настроить, вроде все делаю по написанному. Обязательно нового юзера создавать, потом с SSH манипуляции делать? Может как-то попроще можно?
-
@SWENG Вы использовали последнюю доступную версию go vite ?
-
This post is deleted!
-
Подскажите какой командой cron можно перезапускать ноду через определенное время . Настраивал по официальной инструкции.
-
@Константин-Котов можно в крон добавить скрипт с текстом, аналогичным куску из сервиса рестарта (если подняли ноду как самостоятельный сервис).
#!/bin/bash ## Kill original gvite process pgrep gvite | xargs kill -s 9 ## Check result ps -ef | grep gvite ## Start gvite service sudo service vite start
https://crontab.guru/examples.html
вот отличный ресурс с кучей примеров, можно любой период настроить и посмотреть параметры. Для крона строчка:
*/5 * * * * sript.sh - будет каждые пять минут запускать скрипт
0 0 * * 0 script.sh - раз в неделю в воскресенье в 00:00
-
@Umcka а если нода не как сервис- а как описано в оф инструкции. То как будет выглядеть команда ? #*/5 * * * * pidof gvite > /dev/null|| /usr/sbin/service vite start