Iron Fish | Phase 3
⠀Iron Fish — это блокчейн 1-ого уровня, который обеспечивает самые надежные гарантии конфиденциальности для каждой отдельной транзакции.
Содержание
Информация о проекте
Описание
⠀Iron Fish — это блокчейн 1-го уровня, который обеспечивает самые надежные гарантии конфиденциальности для каждой отдельной транзакции. Используя доказательства с нулевым разглашением (zk-SNARKs) и самые продвинутые отраслевые стандарты шифрования. Проект дает вам полный контроль над деталями транзакции с помощью ключей просмотра учетной записи или ключей дешифрования транзакций; использует Proof-of-Work (PoW), устойчивый к цензуре и доступный для всех, независимо от местонахождения, личности или гражданства.
⠀На раунде серии А и сид раунде проект собрал 32.9М$ от таких фондов, как: a16z, Sequoia, Electric Capital и др.
Фазы
⠀На данном этапе известны следующие фазы:
- 1 декабря 2021 г. — 11 марта 2022 г. — 1-я фаза тестовой сети;
- 10 мая 2022 г. — после решение поставленных задач — 2-я фаза тестовой сети;
- Как только, так сразу — запуск основной сети.
Награды
⠀420 000 $IRON
(1% от общего предложения) будут распределятся согласно таблице лидеров — на основе заработанных очков.
⠀Очки можно получить следующим образом:
- Майнинг (до 1000 поинтов в неделю) 1 блок — 100 очков;
- Нахождение багов (до 1000 поинтов в неделю) 1 баг — 100 очков;
- Продвижение;
- Контрибуция (создание различных инструментов);
- Помощь в разработке;
- Сделать что-то удивительное :)
⠀Всего выделено 315 000 $IRON
(0.75% от общего предложения), которые разделены на 2 пула и будут распределятся согласно таблице лидеров — на основе заработанных очков.
⠀1-й пул размером 210 000 $IRON
:
- Запуск полной ноды — 10 очков каждые 12 часов работы;
- Отправка транзакции с 0.1+ монетой — 1 очко;
- Нахождение багов — 100 очков за 1 принятый баг;
⠀2-й пул размером 105 000 $IRON
:
Что устанавливается?
⠀Запускается два вида приложений:
- Нода (обязательно) — синхронизируется с сетью, позволяет взаимодействовать с кошельком и отображает информацию по майнингу;
- Майнер (по желанию) — добывает блоки.
Требования к серверу
⠀Официально нигде не указаны. Нужно учитывать, что это майнер и ставить на VPS не рекомендуется.
⠀Чем выше характеристики, тем больше награда в пуле или шансы намайнить блок самостоятельно.
Запуск ноды
⠀Изучить статью «Знакомство с Docker».
⠀Каждый подраздел — отдельный вид установки, нужно выбрать один из них.
Linux (ручной)
sudo apt update && sudo apt upgrade -y
⠀Установить необходимые пакеты
sudo apt install wget jq bc build-essential -y
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/docker.sh)
docker run -it --rm --network host -v $HOME/.ironfish:/root/.ironfish ghcr.io/iron-fish/ironfish:latest chain:download
docker run -dit --name iron_fish_node --restart always --network host -v $HOME/.ironfish:/root/.ironfish ghcr.io/iron-fish/ironfish:latest
⠀Придумать название ноды, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n iron_fish_moniker
⠀Добавить команды в систему в виде переменных:
- Просмотр лога ноды;
- Просмотр информации о ноде;
- Сокращение команды для выполнения действий в контейнере.
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n ifn_log -v "docker logs iron_fish_node -fn 100" -a . <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n if_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Iron_Fish/main/node_info.sh) -l RU 2> /dev/null" -a . <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n ironfish -v "docker exec -it iron_fish_node ironfish" -a
ironfish config:set enableTelemetry true; \ ironfish config:set nodeName $iron_fish_moniker; \ ironfish config:set blockGraffiti $iron_fish_moniker
⠀Перезапустить ноду для применения всех изменений
docker restart iron_fish_node
⠀Придумать название кошелька, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n iron_fish_wallet_name
⠀Поместить JSON файл для импорта кошелька в корневую папку системы (команда отображает путь)
echo $HOME/iron_fish_${iron_fish_wallet_name}.json
⠀Скопировать файл для импорта кошелька в Docker контейнер
docker cp $HOME/iron_fish_${iron_fish_wallet_name}.json iron_fish_node:/usr/src/app/iron_fish_${iron_fish_wallet_name}.json
ironfish wallet:import "iron_fish_${iron_fish_wallet_name}.json"; \ ironfish wallet:use $iron_fish_wallet_name
ironfish wallet:create $iron_fish_wallet_name
⠀Установить кошелёк как кошелёк по умолчанию
ironfish wallet:use $iron_fish_wallet_name
⠀Экспортировать созданный кошелёк
ironfish wallet:export $iron_fish_wallet_name --no-color > $HOME/iron_fish_${iron_fish_wallet_name}.json
⠀Сделать резервную копию файла для импорта кошелька, сохранив его в надёжном месте (команда отображает путь)
echo $HOME/iron_fish_${iron_fish_wallet_name}.json
Linux (автоматический)
⠀Запустить скрипт, ввести название ноды, название кошелька и дождаться окончания установки
⠀При нахождении файла с названием ниже скрипт импортирует кошелёк
echo $HOME/iron_fish_${iron_fish_wallet_name}.json
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Iron_Fish/main/multi_tool.sh)
⠀Сделать резервную копию файла для импорта кошелька, сохранив его в надёжном месте (команда отображает путь)
echo $HOME/iron_fish_${iron_fish_wallet_name}.json
Майнер
⠀Существует 2 варианта майнинга:
- В пуле (засчитывание добычи блока распределяется в соответствии с мощностью сервера);
- Самостоятельно (добыча блока зависит от мощности процессора).
Запуск
if_node_info
⠀Запустить контейнер с майнером, подключённым к пулу
⠀Команда ниже запускает майнер, использующий общее количество потоков минус один. При желании нужно стереть значение после опции -t
и вписать своё количество используемых майнером потоков.
docker run -dit --name iron_fish_miner --restart always --network host -v $HOME/.ironfish:/root/.ironfish ghcr.io/iron-fish/ironfish:latest miners:start --pool pool.ironfish.network --address `ironfish wallet:publickey | tr -d '\r' | awk '{print $(NF)}'` \ -t `bc <<< "$(lscpu --json | jq -r ".lscpu[4].data")-1"`
⠀Запустить контейнер с майнером
⠀Команда ниже запускает майнер, использующий общее количество потоков минус один. При желании нужно стереть значение после опции -t
и вписать своё количество используемых майнером потоков.
docker run -dit --name iron_fish_miner --restart always --network host -v $HOME/.ironfish:/root/.ironfish ghcr.io/iron-fish/ironfish:latest miners:start \ -t `bc <<< "$(lscpu --json | jq -r ".lscpu[4].data")-1"`
⠀Добавить команду для просмотра лога майнера в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n ifm_log -v "docker logs iron_fish_miner -f" -a
Изменение количества потоков
docker rm iron_fish_miner -f
⠀Перезапустить майнер с нужным количеством потоков (изменить значение после опции -t
)
docker run -dit --name iron_fish_miner --restart always --network host -v $HOME/.ironfish:/root/.ironfish ghcr.io/iron-fish/ironfish:latest miners:start --pool pool.ironfish.network --address `ironfish wallet:publickey | tr -d '\r' | awk '{print $(NF)}'` \ -t 10
⠀Перезапустить майнер с нужным количеством потоков (изменить значение после опции -t
)
docker run -dit --name iron_fish_miner --restart always --network host -v $HOME/.ironfish:/root/.ironfish ghcr.io/iron-fish/ironfish:latest miners:start \ -t 10
Rescan
⠀В случае возникновения проблем с нодой может понадобится повторное сканирование блоков в БД. Для этого необходимо выполнить команды ниже.
docker stop iron_fish_miner iron_fish_node
⠀Провести повторное сканирование
docker run --rm --network host -v $HOME/.ironfish:/root/.ironfish ghcr.io/iron-fish/ironfish:latest \ wallet:rescan --reset
docker restart iron_fish_node
⠀После синхронизации запустить майнер
docker restart iron_fish_miner
Отправка транзакции
⠀Периодически необходимо отправлять как минимум 0.1 $IRON
на адрес
5cfbcbf6e6f84e2bab6c17309f39908d7cdb8ae5ad4ab600bbb9101403a1edc2d03f71754764e8c66afc08
⠀За каждую отправленную транзакцию начисляется 1 очко.
⠀Для быстрой отправки необходимо выполнить команду (отправляет 0.1 $IRON
на указанный адрес)
echo y | docker exec -i iron_fish_node ironfish deposit
Регистрация
⠀Перейти на сайт и заполнить данные (все данные нельзя будет изменить)
⠀На почту придёт письмо с подтверждением, необходимо перейти по ссылке, затем авторизоваться на сайте по кнопке «Log in»
Информация о ноде
⠀Добавить команду для просмотра информации о ноде в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n if_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Iron_Fish/main/node_info.sh) -l RU 2> /dev/null" -a
⠀Посмотреть информацию о ноде (может долго грузится)
if_node_info
Обновление
Ручное
docker pull ghcr.io/iron-fish/ironfish:latest
docker stop iron_fish_node iron_fish_miner
⠀Удалить контейнер с нодой и майнером
docker rm iron_fish_node iron_fish_miner
docker run -dit --name iron_fish_node --restart always --network host -v $HOME/.ironfish:/root/.ironfish ghcr.io/iron-fish/ironfish:latest
⠀Перезапустить майнер.
Автоматическое
⠀Запустить скрипт и дождаться окончания работы
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Iron_Fish/main/multi_tool.sh) -up
⠀Перезапустить майнер.
Удаление
⠀Запустить команду и дождаться окончания
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Iron_Fish/main/multi_tool.sh) -un
⠀Файл резервной копии кошелька (команда ниже отображает путь) при необходимости сохранить и удалить вручную
echo $HOME/iron_fish_${iron_fish_wallet_name}.json
Вклад сообщества
Наша команде не несёт ответственности за возможные негативные последствия, поскольку не может гарантировать безопасность использования представленных инструментов
Как сюда попасть?
⠀Чтобы попасть в этот почётный раздел необходимо написать SecorD’у сообщение с информацией об инструменте:
- Название проекта;
- Краткое название в 2-3 слова (будет использоваться как заголовок);
- Описание, которое будет добавлено в статью (зачем нужно, функционал, как использовать, другая полезная информация, желательно со скриншотами).
- Пользу сообществу;
- Возможность заявить о себе;
- Дополнительную возможность представления доказательств контрибуции в различных проектах.
Полезные команды
⠀Доступные переменные (при использовании убрать echo)
echo $iron_fish_moniker echo $iron_fish_wallet_address
# Ноды ifn_log docker logs iron_fish_node -fn 100 # Майнера ifm_log docker logs iron_fish_miner -fn 100
if_node_info
⠀Отправить токены (необходимо ввести количество, комиссию и получателя)
ironfish wallet:pay
# Ноду docker restart iron_fish_node # Майнер docker restart iron_fish_miner
Полезные ссылки
Официальный сайт проекта | Официальная группа Telegram
Русскоязычная группа Telegram | Discord | Twitter | Reddit
GitHub | Официальная документация | Таблица лидеров | Телеметрия
Благодарности
Всем из раздела «Вклад сообщества»
Palamar — техническая помощь сообществу и администрирование русскоязычного сообщества
Nodes Guru — администрирование русскоязычного сообщества
Команда 1package — изучение проекта, написание статьи