НОВОЕ: Helius приобретает Light Protocol
Как майнить Ore
Блог/Разработка

Как майнить Ore: руководство для начинающих

Инженер по удобству разработкиAnam Ansari в XAnam Ansari в LinkedIn
Чтение: 12 мин
Содержание

Огромная благодарность Hardhat Chad и 0xIchigo за отличные отзывы и помощь в подготовке этой статьи!

Ore — это токен на основе Proof of Work, созданный на Solana. Его может майнить любой пользователь из любой точки мира. Вскоре после запуска 2 апреля 2024 года его назвали проектом, который сломал Solana. Solana столкнулась со значительной перегрузкой из-за спам-транзакций, большинство из которых в тот период отправляли майнеры Ore. Создатель Ore, Hardhat Chad, позднее приостановил майнинг 16 апреля 2024 года. 6 августа 2024 года вышла Ore v2, и майнинг возобновился. В этой версии появился новый алгоритм майнинга Drillx, а также вознаграждения, стимулирующие пользователей размещать токен в стейкинге. С момента выпуска транзакции Ore составляют около ~5% каждого блока. 

В этой статье мы рассмотрим Proof of Work и майнинг, начиная с их появления в Bitcoin. Затем сравним майнинг Ore с майнингом Bitcoin и узнаем, как майнить ORE через веб-приложение и интерфейс командной строки (CLI).

Bitcoin

Bitcoin — первая криптовалюта, представленная Сатоши Накамото в 2008 году. Она заложила концепцию блокчейна, в котором блоки — то есть пакеты транзакций — связаны в цепочку и становятся неизменяемыми благодаря цепочкам хешей. По сути, хеш блока — это 64-значное шестнадцатеричное число, полученное после обработки записей о транзакциях в блоке алгоритмом хеширования SHA256. Каждый блок использует хеш предыдущего блока, связывая их в цепочку. Это свойство делает блокчейны неизменяемыми: при изменении данных значение хеша перестанет совпадать. 

Рассчитать и предоставить хеш блока может любой пользователь. Сначала сеть задает целевое значение хеша. Оно определяет сложность майнинга. Сложность майнинга — динамический параметр, который корректируется через каждые 2016 блоков, то есть примерно раз в две недели. Благодаря этому блоки добавляются в блокчейн с постоянной частотой — примерно раз в 10 минут. Майнеры — пользователи с оборудованием и ПО для майнинга — решают сложную математическую задачу, чтобы найти хеш, который меньше целевого значения или равен ему. Каждый майнер в сети делает это до тех пор, пока не будет найдена правильная комбинация хеша и nonce — числа, используемого только один раз. Тот, кто находит ее первым, получает вознаграждение в Bitcoin и комиссии за выполненную работу. Таким образом, майнинг — это процесс решения сложных математических задач, отправки хешей и получения вознаграждения за выполненные вычисления. Однако для решения этих задач требуются значительные вычислительные мощности и энергозатраты. 

Этот процесс майнинга называется Proof of Work (PoW). Работа, выполненная для получения выигрышного хеша, считается доказательством того, что майнер проверил транзакции в блоке. PoW — это механизм консенсуса. Консенсус достигается после закрытия блока и его добавления в цепочку. Работая над предложением новых блоков и получением выигрышных хешей, каждый майнер также проверяет каждый добавляемый блок. Затем майнер сообщает сети, что блок признан действительным. Новые блоки используют хеш заголовка предыдущего блока, формируя цепочку доказательств и обеспечивая консенсус сети. Поэтому такие доказательства называют механизмами консенсуса: они лежат в основе достижения консенсуса. Для этого требуется мало энергии и вычислительных ресурсов, поскольку каждая майнинговая нода выполняет такую проверку во время майнинга последнего блока. По мере добавления новых блоков сеть подтверждает их.

Максимальная эмиссия Bitcoin ограничена 21 миллионом. На момент написания статьи добыто около 19 миллионов Bitcoin. В 2009 году псевдонимный создатель Bitcoin Сатоши Накамото добыл генезис-блок — первый блок — и получил вознаграждение в размере 50 Bitcoin. 

Ore

Ore, как и Bitcoin, — токен на основе Proof of Work, но он реализован в виде программы поверх Solana. Его можно майнить на любом ноутбуке, телефоне или домашнем компьютере. У Ore v1 было несколько проблем. Во-первых, системой было слишком легко манипулировать, что привело к массовому спаму и перегрузке Solana. Другой проблемой стала мгновенная продажа ORE: у майнеров не было причин делать что-либо, кроме получения и продажи токенов. В результате стоимость токена упала примерно с $4 000 до $120.

Чтобы выжить, Ore v2 внес несколько значительных изменений по сравнению с более простой версией v1:

  1. Новый, более устойчивый к манипуляциям алгоритм майнинга DrillX гарантирует, что даже майнеры на обычных телефонах и ноутбуках смогут продолжать майнить Ore
  2. Стейкинг ORE повышает вознаграждения за майнинг и создает спрос, стимулируя майнеров хранить токены, а не сразу получать и продавать их

Как и Bitcoin, Ore имеет фиксированную эмиссию в 21 миллион токенов. В среднем каждую минуту добывается только 1 новый ORE, поэтому примерно к 2064 году будут добыты все 21 миллион ORE. Рекомендую прочитать статью kelxyz в блоге Helius, где Ore рассматривается подробнее.

Хешрейт

Хешрейт — это вычислительная мощность, используемая для майнинга криптовалюты. Он измеряется количеством вычислений — хешей — в секунду. Чем выше хешрейт, тем больше вычислительные возможности. Это позволяет майнерам быстрее решать задачи и повышает их шансы на получение вознаграждения.

В данном случае ваше устройство решит задачу и отправит транзакцию для майнинга Ore. Чтобы проверить хешрейт устройства, откройте терминал или командную строку и выполните команду ore benchmark. Также хешрейт устройства можно проверить на сайте Ore. На снимках экрана ниже видно, что мое устройство может вычислять 600 хешей в минуту (рыдает — мне нужен ноутбук получше). 

Drillx, новый протокол из Ore v2, использует CPU. Это значит, что устройство с большим количеством ядер выполняет вычисления быстрее. Ядро — это отдельный вычислительный блок CPU, способный выполнять инструкции. Чем больше ядер у CPU, тем больше задач он может обрабатывать одновременно. 

Как майнить Ore?

Майнить ORE можно через интерфейс командной строки (CLI) или веб-приложение на сайте Ore. По сути, майнинг ORE заключается в решении сложной математической задачи для поиска хеша и последующей отправке транзакции. Поэтому увеличить вознаграждение за майнинг можно двумя способами: использовать устройство с высокой вычислительной мощностью и обеспечить более быструю доставку транзакций. Drillx, новый протокол из Ore v2, использует CPU. Это значит, что устройство с большим количеством ядер выполняет вычисления быстрее. Ядро — это отдельный вычислительный блок CPU, способный выполнять инструкции. Чем больше ядер у CPU, тем больше задач он может обрабатывать одновременно. 

Чтобы повысить вероятность включения транзакций, используйте Staked Connections и приоритетные комиссии. Staked Connections предоставляют приоритетный доступ к лидеру — валидатору, который в данный момент выполняет транзакцию. Это повышает вероятность того, что лидер обработает ваши транзакции и они не будут отброшены заранее. На этапе обработки транзакции приоритетные комиссии стимулируют валидатора выполнить вашу транзакцию раньше других. Проще говоря, Staked Connections помогают доставить транзакции лидеру, а приоритетные комиссии ускоряют их выполнение. В этой статье описано, как оптимизировать транзакции, сократить задержку подтверждения и максимально повысить вероятность доставки.

CLI предоставляет более полный доступ к аппаратным ресурсам устройства и позволяет управлять используемым RPC URL и размером приоритетных комиссий. Однако новичкам лучше начать с веб-сайта. 

Веб-интерфейс

Сначала откройте сайт Ore и подключите кошелек.

Вы будете перенаправлены на страницу создания нового аккаунта для майнинга. После нажатия «Create Account» вам будет предложено подписать транзакцию. Если возникнет ошибка «timed out», возможно, потребуется снова нажать «Create Account». Эта ошибка возникает, когда подписанная транзакция не обрабатывается и истекает срок ее действия

Майнинг начнется автоматически. Когда хеш будет найден, вам предложат подписать транзакции, поэтому не стоит запускать этот процесс в фоновом режиме.

Наконец, можно вернуться на главную страницу, проверить баланс и нажать «Claim», чтобы перевести вознаграждения в кошелек. Также можно просмотреть активность, перейдя на вкладку Personal

CLI

Интерфейс командной строки (CLI) — это текстовый пользовательский интерфейс для взаимодействия с компьютерной системой, операционной системой или приложением через терминал. В зависимости от операционной системы необходимо открыть приложение Terminal (macOS и ОС на базе Linux) или Command Prompt (Windows).

Предварительные требования

  1. Rust и Cargo
  2. Solana CLI

Проверить правильность установки указанного выше ПО можно с помощью следующих команд:

Здесь && используется для последовательного выполнения команд.

Установка в Windows

Rust и Cargo

Скачайте и запустите rustup-init.exe. Установка начнется в консоли. После успешной установки появится сообщение: Rust is installed now.

Solana CLI

Откройте Command Prompt и выполните следующие команды:

Код
cmd /c "curl https://release.solana.com/v1.18.18/solana-install-init-x86_64-pc-windows-msvc.exe --output C:\solana-install-tmp\solana-install-init.exe --create-dirs"
Код
C:\solana-install-tmp\solana-install-init.exe v1.18.18

Установка в Linux/macOS

Rust и Cargo

Код
curl https://sh.rustup.rs -sSf | sh

Solana CLI

Код
sh -c "$(curl -sSfL https://release.solana.com/v1.18.18/install)"

Установка Ore CLI

Код
cargo install ore-cli

Эту же команду можно использовать для обновления CLI до новых версий. 

Настройка сети

Переключим сеть на Mainnnet, поскольку сейчас майнить ORE можно только в Mainnet. По умолчанию Ore отправляет все запросы на майнинг по адресу «https://api.mainnet-beta.solana.com». Команда solana config set позволяет изменить конфигурацию, а с помощью флага --url можно изменить настройки сети: 

Код
solana config set --url https://api.mainnet-beta.solana.com

В качестве URL можно указать любой RPC URL. Например, Helius предоставляет доступ к Staked Connections на общих тарифах от $49 в месяц, что выгоднее использования URL по умолчанию. Замените RPC URL в приведенной выше команде на выбранный RPC URL, указав его в двойных кавычках:

Код
solana config set --url "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

Настройка кошелька

Создадим кошелек для подписания транзакции, оплаты сетевых комиссий и получения вознаграждений. Если кошелек уже есть на вашем устройстве, этот шаг можно пропустить:

Код
solana-keygen new

Приведенная выше команда создает новый кошелек. Необходимо добавить в него немного SOL для оплаты комиссий за транзакции майнинга. Чтобы получить публичный ключ кошелька, выполните следующую команду: 

Код
solana address

Скопируйте адрес и переведите на него немного SOL. Баланс кошелька можно проверить следующей командой:

Код
solana balance

Теперь кошелек готов к майнингу ORE!

Запуск майнинга

Чтобы майнить ORE со всеми настройками по умолчанию, используйте: 

Код
ore mine

Готово — начнется майнинг ORE. 

Расширенная настройка

Чтобы изменить настройки по умолчанию, добавьте флаги к команде ore mine. Флаги добавляются с помощью --<command>. Одновременно можно передать несколько флагов. 

RPC

Если вы хотите добавить эндпоинт Mainnet своего RPC-провайдера, переключите сеть, добавив флаг --rpc, а после него — сетевой адрес RPC-провайдера:

Код
ore mine --rpc "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

Приоритетные комиссии

На приведенном выше снимке экрана майнинга ORE приоритетная комиссия установлена на уровне 50000 микролампортов. Это и другие параметры можно изменить. При перегрузке приоритетные комиссии стимулируют валидатора, который в данный момент выполняет транзакции, обработать ваши транзакции. Предполагается, что транзакции с более высокими комиссиями будут обработаны раньше. Это обеспечивает более быстрое выполнение для пользователей, готовых заплатить больше.

Используйте этот флаг, если хотите применять динамические приоритетные комиссии от RPC-провайдера при условии, что он задан с помощью флага --rpc: 

Код
ore mine --rpc "https://mainnet.helius-rpc.com/?api-key=<your-api-key>"

Если у вас есть другой URL для получения динамических комиссий, укажите этот RPC URL в двойных кавычках для динамической оценки комиссии:

Код
ore mine --dynamic-fee-url <DYNAMIC_FEE_URL>

Фиксированную приоритетную комиссию можно добавить с помощью флага --priority-fee. Если используются динамические комиссии, это значение будет максимальным. Обратите внимание: значение по умолчанию — 500000:  

Код
ore mine --priority-fee <MICROLAMPORTS>

Другие настройки

При создании кошелька его конфигурация — конфигурация плательщика комиссии — сохраняется в стандартном расположении. Например: /Users/username/.config/solana/id.json

Если вы хотите использовать в качестве плательщика комиссии другой кошелек, сохраненный в другом месте, добавьте путь к его файлу с помощью следующей команды:

Код
ore mine --priority-fee <MICROLAMPORTS>

Поскольку ORE — это токен SPL, для его хранения создается связанный токен-аккаунт (ATA). Этот ATA был создан при первом запуске майнинга. Если вы хотите хранить ORE в другом аккаунте, можно указать путь к файлу его пары ключей:

Код
ore mine --keypair <KEYPAIR_FILEPATH>

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

Также все эти настройки можно сохранить в файле YML и передать путь к нему напрямую:

Код
ore mine --config <PATH>

Пример файла config.yml выглядит так:

Код
---
json_rpc_url: https://mainnet.helius-rpc.com/?api-key=<your-key>
websocket_url: ''
keypair_path: /Users/example/.config/solana/id.json
address_labels:
  '11111111111111111111111111111111': System Program
commitment: confirmed

Обратите внимание, что Ore CLI постоянно обновляется. Используйте последнюю версию CLI, чтобы получить доступ к новым командам и всем исправлениям ошибок. Для обновления выполните команду:   

Код
cargo install ore-cli

Проверить текущую версию можно следующей командой: 

Код
ore -V

Команда ore help выводит список всех доступных флагов, их назначения и аргументов.

Получение ORE

Все добытые ORE повторно отправляются в стейкинг. Чтобы вывести их из стейкинга и получить, выполните следующую команду. Она отправит вознаграждения за майнинг в ваш кошелек:

Код
ore claim

Чтобы отправить баланс ORE в стейкинг, используйте команду ore stake.

Заключение

Bitcoin показал, как безопасно и децентрализованно управлять цифровыми деньгами. Теперь Ore идет дальше и делает майнинг справедливее благодаря новому алгоритму. В новой версии появился стейкинг, который стимулирует майнеров хранить ORE, а не сразу продавать его. Майнить ORE можно через веб-приложение или CLI. Backpack также выпустил руководство по майнингу Ore через свое приложение-кошелек. Ore CLI постоянно обновляется и получает новые функции, а все репозитории проекта имеют открытый исходный код. Чтобы узнавать о последних обновлениях, рекомендую следить за основателем и официальным аккаунтом Ore в Twitter / X. 

Если вы дочитали до этого места, спасибо, анон! Укажите свой адрес электронной почты ниже, чтобы не пропускать новости о Solana. Хотите узнать больше? Изучите последние статьи в блоге Helius и продолжите знакомство с Solana уже сегодня.

Сайты Ore

Ресурсы

Подпишитесь на Helius

Следите за новостями разработки на Solana и получайте уведомления о наших публикациях

Увеличенное изображение