На этот раз научимся запускать расшаренную ноду Идены. Во первых, нам необходимо запустить обычну ноду. Этот процесс описан в статье. По умолочанию мы устанавливали ноду в домашний каталог пользователя, в папку idena.
Предварительно, подготавливаем сервер, загружая все необходимые пакеты:
apt install git npm wget nano unzip -y
Сразу хочу оговорится, все команды в данном примере выполянются от пользователя root, и все манипуляции производятся в его домашнем каталоге /root ,если у вас какой либо другой пользователь, возможно некоторые команды потребуют повышения прав (sudo).
Во первых, нужно отредактировать конфигурационный файл:
nano idena/config.json
Если он есть, он приведем его к виду:
{
"P2P": {
"ListenAddr": ": 40404",
"MaxInboundPeers": 12,
"MaxOutboundPeers": 6 },
"RPC": {
"HTTPHost": "localhost",
"HTTPPort": 9009 },
"Ipfsconf": {
"Profile": "server",
"FlipPinThreshold":1,
"IpfsPort": 40405 },
"Sync": {
"FastSync": true,
"LoadAllFlips": true }
}
Если его нет, достаточно будет такого содержания:
{
"IpfsConf":{
"Profile": "server" ,
"FlipPinThreshold":1},
"Sync": {
"LoadAllFlips": true}
}
Даже если мы не укажем в конфиге RPC порт, по умолчанию он будет равен 9009. После модификации перезапускаем ноду.
Теперь нужно скачать idena-node-proxy:
git clone
https://github.com/idena-network/idena-node-proxy
Устанавливаем глобально пакет pm2 и переходим в каталог idena-node-proxy:
npm i -g pm2
cd idena-node-proxy
Внутри папки создаем файл конфигурации .env:
nano .env
с содержанием:
AVAILABLE_KEYS=["API_KEY1","APY_KEY2"]
IDENA_URL="http://localhost:9009
"
IDENA_KEY="NODE_API_KEY"
PORT=80
где API_KEY1, APY_KEY2 - произвольные апи ключи для подключения через веб интерфейс, NODE_API_KEY - апи ключ установленной на сервере ноды, посмотреть можно командой:
cat ~/idena/datadir/api.key
Путь до ключа в вашем случае может быть иным. Теперь нужно запускать прокси:
npm install
npm start
Для проверки работы ноды на этом этапе, можно ввести в браузер:
IP_ADDRESS:80
где IP_ADDRESS - IP адрес вашего сервера. Если все нормально, появится надпись:"method not available".
Для нормальной работы ноды требуется соединение по протоколу HTTPS, как вариант используем ngrok. Регистрируем новый аккаунт на NGROK:
Логинимся, переключаемся на Get started -> Your Authtoken и копируем токен(не закрываем браузер).
Скачиваем и распаковываем архив с программой:
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
unzip ngrok-stable-linux-amd64.zip
Удаляем более ненужное:
rm ngrok-stable-linux-amd64.zip
Добавляем разрешение:
chmod +x ngrok
Теперь нужно сохранить токен:
./ngrok authtoken 1p2ozbEoJ6oTjXvFzhhpR534owU_4ET1RMHbL9wWjAV2yPK9i
где 1p2ozbEoG6oTjXvFzhhpR534owU_4ET1PMHbL9wVjAV2yPk9i - скопированный с личного кабинета токен. При этом создается файл .ngrok2/ngrok.yml в который записывается этот самый токен.
Запуск ngrok можно осуществить с помощью скрина:
screen ./ngrok http 80
в качестве параметра передается номер порта, который указан в переменной PORT в файле .env
После запуска, снова переходим в браузер, Endpoints -> Status и копируем https ссылку:
Это адрес Shared node URL. В поле Shared node api key вставляем любой из API_KEY1, APY_KEY2. Если четко следовали этой инструкции, поздравляю вас с успешным входом!