Завершённые
December 1, 2021

Iron Fish | Phase 3

1package & Let's Node

⠀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-я фаза тестовой сети;
  • Как только, так сразу — запуск основной сети.

Награды

1 фаза (окончена)

⠀420 000 $IRON (1% от общего предложения) будут распределятся согласно таблице лидеров — на основе заработанных очков.

⠀Очки можно получить следующим образом:

  • Майнинг (до 1000 поинтов в неделю) 1 блок — 100 очков;
  • Нахождение багов (до 1000 поинтов в неделю) 1 баг — 100 очков;
  • Продвижение;
  • Контрибуция (создание различных инструментов);
  • Помощь в разработке;
  • Сделать что-то удивительное :)

2 фаза

⠀Всего выделено 315 000 $IRON (0.75% от общего предложения), которые разделены на 2 пула и будут распределятся согласно таблице лидеров — на основе заработанных очков.

⠀1-й пул размером 210 000 $IRON:

  • Запуск полной ноды — 10 очков каждые 12 часов работы;
  • Отправка транзакции с 0.1+ монетой — 1 очко;
  • Нахождение багов — 100 очков за 1 принятый баг;

⠀2-й пул размером 105 000 $IRON:

  • Помощь в разработке — за каждый принятый PR:
    • 250 очков — мелкое изменение;
    • 500 очков — среднее;
    • 1000 очков — крупное.

Что устанавливается?

К содержанию

⠀Запускается два вида приложений:

  • Нода (обязательно) — синхронизируется с сетью, позволяет взаимодействовать с кошельком и отображает информацию по майнингу;
  • Майнер (по желанию) — добывает блоки.

Требования к серверу

К содержанию

Официально нигде не указаны. Нужно учитывать, что это майнер и ставить на VPS не рекомендуется.

⠀Чем выше характеристики, тем больше награда в пуле или шансы намайнить блок самостоятельно.


Запуск ноды

К содержанию

⠀Изучить статью «Знакомство с Docker».

⠀Каждый подраздел — отдельный вид установки, нужно выбрать один из них.

Linux (ручной)

Для новичков

⠀Обновить пакеты и систему

sudo apt update && sudo apt upgrade -y

⠀Установить необходимые пакеты

sudo apt install wget jq bc build-essential -y

⠀Установить Docker

. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/docker.sh)

⠀Скачать снепшот (нажать y)

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

Регистрация

К содержанию

⠀Перейти на сайт и заполнить данные (все данные нельзя будет изменить)

  • Graffiti — установленное ранее название ноды.

⠀На почту придёт письмо с подтверждением, необходимо перейти по ссылке, затем авторизоваться на сайте по кнопке «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 | Официальная документация | Таблица лидеров | Телеметрия

Explorer


Благодарности

К содержанию

Всем из раздела «Вклад сообщества»

Palamar — техническая помощь сообществу и администрирование русскоязычного сообщества

Nodes Guru — администрирование русскоязычного сообщества

Команда 1package — изучение проекта, написание статьи

Выразить благодарность