Ark-0
Ark-0 — тестовая сеть для экспериментов. Она может быть сброшена в любой момент.

Ark-0 · Веб-кошелёк

Руководство по кошельку

Шаг за шагом: от открытия кошелька до отправки транзакции. Ark-0 — тестовая сеть для экспериментов. Она может быть сброшена в любой момент.

Попробуйте лабораторию постквантовых подписей →

Где открыть кошелёк

Кошелёк — это веб-страница, устанавливать ничего не нужно. Он открывается в браузерах на компьютерах и телефонах, а также во встроенных браузерах приложений-кошельков:

Кошелёк Ark-0 не просит ваше приложение-кошелёк подключиться, что-либо подписать или одобрить. Вход через приложение-кошелёк (Войти через кошелёк) отключён с 2026-10-14 (см. ниже): страница, которая просит подписать текст в приложении-кошельке, чтобы открыть кошелёк Ark-0, — не наша, не подписывайте; тот, кто получит эту подпись, сможет тратить монеты кошелька, в который вы раньше входили через приложение-кошелёк. Кран никогда не просит подписи, одобрения или оплаты: страница, которая требует чего-то из этого, прежде чем выдать вам монеты Ark-0, — тоже не наша. Открыв страницу, проверьте адресную строку: там должно быть wallet.ark0.si.

Ключи созданного вами кошелька создаются случайным образом в этом браузере и никак не связаны с вашим приложением-кошельком.

Если браузер слишком старый

Кошельку нужен Safari 15.4 или новее (на iPhone и iPad — iOS или iPadOS 15.4 или новее), Chrome или Edge 83 или новее либо Firefox 96 или новее. На Android встроенный браузер приложения-кошелька обычно использует системный WebView. Если через 10–15 секунд на странице всё ещё видно Проверяем сеть… или появилось сообщение, что браузер слишком старый, обновите систему телефона и браузер или откройте кошелёк в другом браузере. На Android можно также обновить Android System WebView в магазине приложений.

И ещё два момента

Шаг 1: откройте кошелёк

Откройте кошелёк. Если вверху страницы видны тестовая сеть Ark-0 и текущая вершина цепочки, страница подключена к сети. В первый раз нажмите Создать кошелёк. Ключи создаются случайным образом в этом браузере, и открыть кошелёк где-либо ещё можно только с резервным кодом.

Страница создаёт адреса, которые начинаются с tb1z:

Страница различает их четырьмя метками: Классическая подпись, Постквантовая подпись · M1, Классическая + постквантовая · M3 и Постквантовая подпись · M4-S; чем они отличаются, объясняет блок Зачем несколько адресов? над адресами.

Все они принадлежат этому кошельку и восстанавливаются одним и тем же резервным кодом. Если у вас уже есть резервный код, не создавайте новый кошелёк, а восстановите свой: см. «Другое устройство или браузер».

Кошелёк, в который вы входили через приложение-кошелёк, не защищён постквантовой подписью

Вход через приложение-кошелёк (Войти через кошелёк) отключён с 2026-10-14. У кошелька, открытого так, сид получен из подписи вашего аккаунта под фиксированным текстом. Если аккаунт хоть раз отправлял транзакцию в какой-либо сети, его открытый ключ уже известен; тот, кто сможет вычислить закрытый ключ по открытому, сможет заново создать ту же подпись и получить все ключи этого кошелька, в том числе ключи ML-DSA-44 и SLH-DSA. Поэтому такой кошелёк всегда считается не защищённым постквантовой подписью. Если браузер его хранит, он открывается, как раньше, а страница кошелька это отмечает. Больше не подписывайте этот текст ни на каком сайте: тот, кто получит подпись, сможет тратить монеты этого кошелька.

Чтобы перейти на кошелёк со своим случайным сидом:

  1. Запишите резервный код этого кошелька: вход отключён, и теперь открыть этот кошелёк снова можно только по резервному коду. Если вы подписали этим кошельком декларацию о готовности к миграции, сначала отзовите подпись: на странице подписи нажмите Отозвать подпись, а подпишите заново уже новым кошельком.
  2. Нажмите Забыть этот кошелёк и Удалить ключи, затем Создать кошелёк и запишите резервный код нового кошелька.
  3. Под любым из адресов нового кошелька нажмите Получить тестовые монеты.
  4. Если хотите перенести и монеты старого кошелька: скопируйте адрес ML-DSA-44 или смешанный адрес нового кошелька и забудьте новый кошелёк; восстановите старый по его резервному коду и отправьте монеты с каждого его адреса на скопированный адрес (по одной отправке с каждого адреса, отметив Отправить всё); когда эти транзакции подтвердятся и баланс станет нулевым, забудьте старый кошелёк и восстановите новый по его резервному коду.

Шаг 2: запишите резервный код

Запишите резервный код — неважно, создали вы кошелёк или вошли в него. Когда кошелёк открыт, напоминание вверху страницы предлагает сделать резервную копию. В разделе Резервная копия внизу страницы нажмите Показать резервный код. Резервный код начинается с ark0w1-. Запишите его на бумаге или нажмите Скопировать и сохраните в месте, которому доверяете, например в менеджере паролей.

Ключи хранятся только в этом браузере. На нашем сервере копии нет, и вернуть ключи мы не сможем. Кошелёк может исчезнуть, если очистить данные сайтов в браузере, очистить кеш приложения-кошелька, удалить браузер или приложение или сменить телефон; кроме того, браузеры на iPhone могут удалять данные сайта, который давно не открывали. Тогда вернуть кошелёк можно только резервным кодом.

Резервный код — это и есть кошелёк: любой, у кого он есть, может потратить монеты. Никому его не отправляйте, даже тем, кто представляется сотрудником поддержки или администратором.

Шаг 3: получите тестовые монеты

Под любым из адресов нажмите Получить тестовые монеты. Откроется кран с уже вписанным адресом: пройдите проверку на человека и нажмите Получить монеты. Каждый адрес может получать монеты раз в 24 часа. Затем нажмите Назад в кошелёк на странице крана, чтобы вернуться в кошелёк.

Чтобы попробовать M1, получите монеты на адрес ML-DSA-44 и потратьте их с него на шаге 5: подпись этой транзакции проверит OP_CHECKMLDSA44.

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

Шаг 4: убедитесь, что монеты пришли

Через несколько секунд после того, как кран отправит монеты, кошелёк покажет транзакцию в разделе Активность как ожидающую подтверждения, а рядом с балансом — сумму, которая ещё ждёт подтверждения: транзакция уже в мемпуле, но ещё не в блоке. Следующий блок подтвердит её, обычно в течение двух минут, и тогда сумма появится в строке Подтверждённый баланс этого адреса. Кошелёк обновляется каждые 30 секунд, а пока транзакция ждёт — каждые 10; можно также нажать Обновить.

Нажмите Открыть в обозревателе, чтобы увидеть непотраченные монеты этого адреса в обозревателе блоков. Прошлые транзакции адреса обозреватель не показывает; транзакцию можно найти по её ID.

Шаг 5: отправьте монеты

  1. В разделе Отправить выберите адрес, с которого тратить.
  2. Введите адрес получателя. Чтобы просто попробовать, нажмите Другой мой адрес: монеты уйдут на другой ваш адрес.
  3. Введите сумму или отметьте Отправить всё.
  4. Нажмите Проверить и проверьте сеть, адрес, сумму и комиссию.
  5. Нажмите Подтвердить и отправить. Страница по очереди покажет проверку, подпись и отправку в сеть; Отправлено означает, что транзакция ушла. Затем она появится в разделе Активность как ожидающая подтверждения, а балансы изменятся, когда её подтвердит следующий блок. Кнопка Открыть транзакцию покажет её в обозревателе блоков.

Комиссия — 2 сатоши за виртуальный байт (2 sat/vB); слишком мелкая сдача, которую нет смысла возвращать отдельным выходом, добавляется к комиссии. Подпись ML-DSA-44 намного больше подписи Schnorr, поэтому трата с адреса ML-DSA-44 платит намного большую комиссию. После нажатия Проверить будут показаны фактическая комиссия и ставка.

Адрес получателя должен быть адресом Ark-0, то есть начинаться с tb1q, tb1p или tb1z. Адреса tb1 используют и другие тестовые сети, а кошелёк не может определить, относится ли адрес к Ark-0, поэтому проверьте его перед отправкой. Адреса из MetaMask и похожих приложений (0x…) и адреса основной сети Bitcoin не могут принимать монеты Ark-0.

Другое устройство или браузер

Откройте кошелёк в другом браузере или на другом устройстве, вставьте резервный код в разделе Восстановление и нажмите Восстановить кошелёк. Адреса и монеты на них вернутся. Кошелёк, в который вы входили через приложение-кошелёк, теперь тоже возвращается только так. Если в том браузере уже есть кошелёк, раздел Восстановление не показывается: убедитесь, что для того кошелька есть резервная копия или что его монеты переведены в другое место, нажмите Забыть этот кошелёк, а затем восстановите кошелёк.

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

Чтобы перестать пользоваться кошельком на устройстве, нажмите Забыть этот кошелёк, а затем Удалить ключи. Перед этим убедитесь, что резервный код у вас есть или что монеты переведены в другое место.

Кошелёк для компьютера и Android

Ark-0 Wallet — кошелёк, который устанавливается на Windows, macOS, Linux и Android и работает в той же тестовой сети Ark-0, что и этот веб-кошелёк. Его ключи выводятся из 24 слов для восстановления и хранятся на устройстве в файле, зашифрованном вашим паролем; подпись тоже выполняется на устройстве. Каждый перевод вы сначала проверяете в кошельке, затем подтверждаете в диалоговом окне операционной системы. Балансы и статусы транзакций кошелёк запрашивает и у wallet.ark0.si, и у wallet2.ark0.si и сверяет ответы; перевод окончательно подтверждён после 6 блоков, когда кошелёк сам проверил подписи этих блоков.

  1. Откройте страницу загрузки и скачайте файл для своей системы. Там для каждого файла указаны размер и SHA-256 и описана установка; те же файлы есть на странице выпуска на GitHub.
  2. Перед установкой проверьте файл, как показано на странице загрузки: SHA256SUMS подписан ключом выпусков Ark-0 — тем же, которым подписываются выпуски узла.
  3. Установите программу и откройте кошелёк. Создайте новый кошелёк и запишите его 24 слова для восстановления; или выберите «Restore a wallet» и введите слова либо вставьте резервный код этого веб-кошелька — восстановятся те же адреса, что были в веб-кошельке.

Слова для восстановления — как резервный код: кто их знает, тот может распоряжаться монетами кошелька, а мы никогда их не попросим. Они работают только в Ark-0 Wallet: другие кошельки не выводят из них те же ключи. Ark-0 Wallet — экспериментальная программа, и сторонний аудит она не проходила.

Подпишите декларацию о готовности к миграции

Декларация о готовности к миграции — это одно предложение. Ниже — его перевод для справки; подписывается текст на китайском и английском:

Я поддерживаю подготовку Bitcoin к постквантовой миграции уже сейчас: иметь наготове пути миграции, инструменты и учения до того, как появится проверяемый квантовый прогресс, и публиковать доказательства каждого шага.

Если вы с ней согласны, можете подписать её своим кошельком Ark-0. Все подписи публичны; пока у вас есть кошелёк или его резервный код, свою подпись можно отозвать в любой момент. Подписываете вы или нет, ни на какие права это не влияет.

  1. Откройте страницу подписи. Она находится на сайте стандартного кошелька; на сайте версии Lattice подписать нельзя. Если в этом браузере ещё нет кошелька Ark-0, а у вас он есть (в том числе на старом адресе), сначала перенесите его сюда по резервному коду (Восстановить кошелёк) на странице кошелька; если кошелька у вас нет — нажмите Создать кошелёк. Затем вернитесь на страницу подписи.
  2. Прочитайте пункты в разделе Перед подписанием, затем нажмите Проверить публичный реестр. Страница скачает весь публичный реестр и сверит его прямо в вашем браузере, а не будет спрашивать сервер о ваших ключах декларации по одному.
  3. Нажмите Подписать декларацию. Страница получит задание от сервера, выполнит немного вычислительной работы, подпишет текст ключом декларации и отправит подпись. Работа обычно занимает несколько секунд; держите страницу на переднем плане. Эта работа нужна, чтобы массовое подписание обходилось дорого. Когда страница сообщит, что декларация подписана, и покажет, когда сервер принял подпись, — готово.
  4. Чтобы отозвать подпись, вернитесь на страницу подписи и нажмите Отозвать подпись.

Что стоит знать перед подписанием

Подписывайте только на wallet.ark0.si. Мы никогда не просим в личных сообщениях что-либо подписать и никогда не просим резервный код: тот, у кого есть ваш резервный код, может потратить монеты этого кошелька Ark-0.

Запустите свой узел и наблюдайте за учениями

Узел — это запущенное у вас ПО Ark-0, которое само проверяет каждый блок. Когда 30 октября мы сорвём учебную растяжку, ваш узел сам применит опубликованные правила, и доверять нашим сайтам не придётся. Чем больше людей наблюдает за учениями, тем достовернее отчёт о них.

Что понадобится: компьютер с Windows, Mac или Linux, подключённый к интернету. Узел небольшой: программа вместе с данными цепочки занимает меньше 200 МБ, памяти нужно меньше 100 МБ, а первая синхронизация обычно длится несколько минут. Проще всего — Ark-0 Witness: небольшая программа, внутри которой узел Ark-0 для вашей системы. Она запускается из распакованной папки, ничего не устанавливая, и показывает в браузере, что видит ваш узел. Все команды, чтобы запустить узел самостоятельно, включая сборку из исходного кода, есть в JOIN.md (на английском); ниже для каждой системы сказано, как это сделать, и команды совпадают с JOIN.md.

Ark-0 Witness мы запускали на Windows, на Mac с чипом Apple (на нём же через Rosetta — и версию для Intel) и на Linux на x86_64, где также сами, один за другим, проверили шаги для Linux ниже (они совпадают с JOIN.md). Версия для Linux на ARM пока запускалась только в эмуляторе. Шаги для WSL и Docker написаны по официальным инструкциям Microsoft и Docker, и сами мы их не проверяли; если что-то не получится, пожалуйста, сообщите нам.

Сначала о безопасности. Узел сам подключается к нашему публичному узлу node.ark0.si, но не принимает входящих подключений, так что открывать порт на роутере не нужно. Скачав программу, сначала проверьте подпись и хеши — это есть в шагах ниже. Держите узел в отдельном каталоге и не смешивайте его с узлом Bitcoin, если он у вас уже есть; кошельки на этом компьютере узлу Ark-0 тоже не нужны. Наш узел видит IP-адреса подключившихся узлов (так устроен любой узел Bitcoin); мы только считаем, сколько узлов подключилось, и адреса не публикуем. Чтобы прекратить, остановите узел и удалите его каталог.

Windows

Для Ark-0 Witness нужна 64-разрядная Windows 10 или 11 на процессоре Intel или AMD. Дважды щёлкните программу — она запустит узел в фоне, вводить команды не нужно.

  1. Скачайте ark0-witness-0.3.0-win64.zip (около 10 МБ). Чтобы проверить файл, откройте PowerShell в папке загрузок и выполните Get-FileHash .\ark0-witness-0.3.0-win64.zip; должно получиться D6656931BEA2EE9EE2659C3D89107C5FD5A146B070B6DC5812274AC151BE606F — то же значение, что и в подписанном SHA256SUMS на странице выпуска.
  2. Щёлкните архив правой кнопкой, выберите «Извлечь все», откройте распакованную папку (и папку с тем же именем внутри неё, если она есть) и дважды щёлкните Ark0Witness.exe. Не запускайте его прямо из архива: тогда программа не найдёт рядом bitcoind.exe и попросит сначала распаковать архив. Распакуйте архив на внутренний диск компьютера: если программа лежит на диске FAT32 или exFAT (такой формат у многих USB-флешек), она покажет в окне ошибку Windows, например «Параметр задан неверно.» или «The parameter is incorrect.», и узел не запустится.
  3. У программы нет подписи кода, поэтому Windows может показать окно «Система Windows защитила ваш компьютер»: нажмите «Подробнее», затем «Выполнить в любом случае». Если Windows блокирует программу и такой кнопки нет (включено «Интеллектуальное управление приложениями»), на этом компьютере Ark-0 Witness не запустится; воспользуйтесь WSL, как описано ниже.
  4. Откроется окно консоли, а в браузере — страница состояния. Не закрывайте окно: если его закрыть, узел остановится; он остановится и тогда, когда компьютер уйдёт в сон. Первая синхронизация начинается с нуля и обычно занимает несколько минут, в зависимости от соединения.
  5. Страница показывает, до какого блока синхронизировался узел и к скольким узлам он подключён; совпадает ли хеш блока 1264 с Ark-0; по достижении блока 30000 (с которого действует M3) — хеш этого блока на вашем узле и ссылку, чтобы сверить его в обозревателе блоков; состояние двух растяжек и то, принимаются ли ещё начиная со следующего блока подписи на эллиптических кривых в листьях версии 0xe0. Вставьте сырую транзакцию в разделе «Проверить транзакцию» и нажмите «Проверить» — ваш узел вынесет решение; транзакция только проверяется и никуда не отправляется. В разделе «Отчёт наблюдателя» кнопка «Копировать» даёт текст, который можно опубликовать в сообществе или в issue на GitHub; в нём нет ни IP-адреса, ни названий папок. Время на странице везде указано в UTC.
  6. Чтобы удалить программу, закройте окно консоли, подождите несколько секунд, удалите распакованную папку, а затем удалите папку %LOCALAPPDATA%\Ark0Witness (чтобы найти её, вставьте %LOCALAPPDATA% в адресную строку Проводника и нажмите Enter). Больше никуда программа файлы не пишет и ничего не устанавливает.

Другой способ: WSL. Можно также запустить программу для Linux во встроенной в Windows среде Linux (WSL). Подходят Windows 10 (версия 2004 и новее) и Windows 11; на компьютере с Windows на процессоре ARM (например, Snapdragon) узел не запустится.

  1. Найдите PowerShell в меню «Пуск», щёлкните по нему правой кнопкой мыши и выберите «Запуск от имени администратора». Введите строку ниже и нажмите Enter; после установки перезагрузите компьютер, когда появится запрос:
    wsl --install -d Ubuntu-24.04
    Если появится сообщение, что нужно включить виртуализацию, сначала включите её в BIOS компьютера. Если Ubuntu 24.04 уже установлена, пропустите этот шаг.
  2. После перезагрузки откройте Ubuntu из меню «Пуск» (в названии есть 24.04). При первом запуске нужно задать имя пользователя и пароль; запомните пароль: он понадобится для sudo.
  3. В этом окне Ubuntu выполните шаги 1–5 из раздела «Linux» ниже, в точности как написано.
  4. Узел работает в фоне, но оставьте открытым одно окно Ubuntu (можно свернуть): когда все окна Ubuntu закрыты, Windows может остановить всю среду Linux, а вместе с ней и узел. Когда компьютер уходит в сон, узел тоже останавливается.

Чтобы удалить узел, сделайте в Ubuntu то, что описано в последнем абзаце раздела «Linux» ниже. Если эту Ubuntu вы ставили только ради узла Ark-0 и других ваших данных в ней нет, можно также выполнить в PowerShell wsl --unregister Ubuntu-24.04: это удалит её целиком, вместе со всем содержимым.

Mac

Ark-0 Witness работает на macOS 14 (Sonoma) и новее — как на Mac с чипом Apple, так и на Mac с процессором Intel.

  1. Скачайте ark0-witness-0.3.0-macos.zip (около 19 МБ). Safari сам распакует архив в папку «Загрузки»; в другом браузере дважды щёлкните zip-файл. Чтобы проверить файлы, выполните в «Терминале» shasum -a 256 ~/Downloads/ark0-witness-0.3.0-macos/*: строки для Ark0Witness и bitcoind должны совпасть с подписанным SHA256SUMS на странице выпуска.
  2. Дважды щёлкните Ark0Witness в папке ark0-witness-0.3.0-macos. Программа не заверена Apple, поэтому при первом запуске macOS сообщит, что не может её проверить: нажмите «Готово» (в macOS 14 — «Отменить»), а не «Переместить в Корзину». Откройте «Системные настройки», затем «Конфиденциальность и безопасность», прокрутите вниз до сообщения о том, что Ark0Witness заблокирован, нажмите «Все равно открыть» (в macOS 14 — «Подтвердить вход») и подтвердите паролем. Снова дважды щёлкните Ark0Witness и нажмите «Все равно открыть» (в macOS 14 — «Открыть»). macOS может также спросить, разрешить ли «Терминалу» доступ к файлам в папке «Загрузки»: нажмите «Разрешить». Узел, который лежит рядом, ничего не спросит: программа сама проверяет его и запускает собственную копию.
  3. Откроется окно «Терминала», а в браузере — страница состояния, как и на Windows (см. выше). Не закрывайте окно: если его закрыть, узел остановится («Терминал» сначала спросит — нажмите «Прервать»); он остановится и тогда, когда Mac уйдёт в сон. Команда caffeinate -i в другом окне «Терминала» не даёт Mac уснуть, пока она работает, но если закрыть крышку, Mac всё равно уснёт.
  4. Чтобы удалить программу, закройте окно «Терминала», подождите минуту, пока узел остановится, затем удалите папку ark0-witness-0.3.0-macos и папку ~/Library/Application Support/Ark0Witness (в Finder выберите «Переход», затем «Переход к папке» и вставьте этот путь). Больше никуда программа файлы не пишет и ничего не устанавливает.

Можно и в «Терминале». Файл, скачанный через curl, не помечается как полученный из интернета, поэтому macOS ничего не спрашивает. Эти строки скачивают zip, проверяют его, распаковывают и запускают программу; Ctrl+C или закрытие окна её останавливают:

cd ~/Downloads &&
curl -LO https://github.com/duncan0k/bitcoin-p2mr-patches/releases/download/ark0-witness-0.3.0/ark0-witness-0.3.0-macos.zip &&
echo "61a7e1e3070a34e79a596e0e4343c21fccd164e7d4549026b9eb0d1c72d10c98  ark0-witness-0.3.0-macos.zip" | shasum -a 256 -c &&
unzip -q ark0-witness-0.3.0-macos.zip &&
./ark0-witness-0.3.0-macos/Ark0Witness

Другой способ: Docker. Если хотите действовать по JOIN.md, запустите в Docker Desktop опубликованный нами образ контейнера. Образ собран для процессоров x86, таких как Intel и AMD; на Mac с чипами Apple серии M он работает через трансляцию Rosetta.

  1. Скачайте Docker Desktop с docker.com (версию для Apple Silicon или для Intel, в зависимости от чипа), установите и запустите его. На Mac с чипом Apple найдите в настройках Docker Desktop пункт «Use Rosetta for x86_64/amd64 emulation on Apple Silicon» и убедитесь, что он отмечен.
  2. Откройте «Терминал» и скачайте файлы подписи:
    mkdir -p ~/ark0 && cd ~/ark0
    R=https://github.com/duncan0k/bitcoin-p2mr-patches
    curl -fsSL --remote-name-all $R/releases/download/ark0-node-m4r/SHA256SUMS $R/releases/download/ark0-node-m4r/SHA256SUMS.asc https://raw.githubusercontent.com/duncan0k/bitcoin-p2mr-patches/ark0-node-m4r/ark0/release-signing-key.asc
    Для проверки подписи нужен gpg. Если у вас установлен Homebrew, выполните:
    brew install gnupg
    gpg --import release-signing-key.asc
    gpg --verify SHA256SUMS.asc SHA256SUMS
    Если Homebrew нет, проверьте подпись с помощью gpg внутри Docker:
    docker run --rm -v "$HOME/ark0:/w" -w /w debian:13 sh -c 'apt-get update -qq && apt-get install -y -qq gnupg > /dev/null && gpg --import release-signing-key.asc && gpg --verify SHA256SUMS.asc SHA256SUMS'
    Как читать результат, см. шаг 2 в разделе «Linux» ниже.
  3. Скачайте образ по хешу, записанному в SHA256SUMS, — так вы запустите именно тот образ, который покрывает подпись:
    D=$(awk '/ark0-node-m4r-image-manifest.json/ {print $1}' SHA256SUMS)
    docker pull --platform linux/amd64 ghcr.io/duncan0k/ark0-node@sha256:$D
  4. Создайте файл настроек (скопируйте весь блок и вставьте его за один раз):
    mkdir -p ~/ark0/data
    cat > ~/ark0/data/bitcoin.conf <<'EOF'
    signet=1
    listen=0
    
    [signet]
    signetchallenge=5121026fc5d8e79a9fbc8bc3dea07d82641d16717ce0b000c13c512d8e8c1788c6e5da51ae
    signetpowtargetspacing=90@8064
    addnode=node.ark0.si:38433
    EOF
  5. Запустите узел и задайте сокращение ark0 — им пользуются все команды ниже:
    docker run -d --name ark0 --platform linux/amd64 --user "$(id -u):$(id -g)" -v "$HOME/ark0/data:/data" ghcr.io/duncan0k/ark0-node@sha256:$D -datadir=/data -printtoconsole
    echo 'alias ark0="docker exec ark0 bitcoin-cli -datadir=/data"' >> ~/.zshrc && source ~/.zshrc
    ark0 getblockchaininfo
    В первые секунды после запуска последняя строка может выдать ошибку, что узел ещё не готов; подождите немного и выполните её снова.

Когда Mac засыпает, узел тоже останавливается. В день учений не давайте ему уснуть: выполните в «Терминале» caffeinate -i и не закрывайте это окно (если закрыть крышку, Mac всё равно уснёт). После перезагрузки Mac сначала откройте Docker Desktop, затем выполните docker start ark0. Чтобы удалить узел, выполните три строки ниже, а затем удалите этот образ в Docker Desktop.

docker rm -f ark0
rm -rf ~/ark0
sed -i '' '/^alias ark0=/d' ~/.zshrc

Linux

Ark-0 Witness работает на 64-разрядном Linux с glibc 2.35 или новее, например на Ubuntu 22.04, Debian 12 и Raspberry Pi OS (bookworm) или более поздних выпусках: ark0-witness-0.3.0-linux-x86_64.tar.gz (около 10 МБ) — для процессоров Intel и AMD, ark0-witness-0.3.0-linux-aarch64.tar.gz (около 10 МБ) — для 64-разрядных ARM, например Raspberry Pi с 64-разрядной системой. В терминале, в папке, куда вы скачали архив, эти строки проверяют его, распаковывают и запускают программу:

echo "f85ac708ba7a35b735a7bf841820c87d92c776d9d69f569932120f8f5874037d  ark0-witness-0.3.0-linux-x86_64.tar.gz" | sha256sum -c &&
tar -xzf ark0-witness-0.3.0-linux-x86_64.tar.gz &&
./ark0-witness-0.3.0-linux-x86_64/ark0-witness

Для ARM замените во всех трёх строках x86_64 на aarch64, а SHA-256 — на a768ce5b0976a8187ce4c2a29f75578f6bdd36a0d4926ac6f5be7e174bcfcb09. Если у вас графический рабочий стол, страница состояния откроется в браузере; если нет, откройте адрес, который выведет программа, в браузере на том же компьютере. Если вместо этого программа остановится и выведет команду chmod для ваших папок, выполните эту команду и запустите программу снова. Не закрывайте терминал: если закрыть его или нажать Ctrl+C, узел остановится. На компьютере без экрана, например на Raspberry Pi, к которому вы подключаетесь по SSH, перенаправьте порт страницы: если программа вывела http://127.0.0.1:41234/..., выполните на своём компьютере ssh -L 41234:127.0.0.1:41234 you@raspberrypi и откройте выведенный адрес на своём компьютере, ничего в нём не меняя. Чтобы программа продолжала работать после выхода из системы, запустите её внутри tmux или screen. Чтобы удалить программу, остановите её, затем удалите распакованную папку и ~/.local/share/Ark0Witness.

Готовым сборкам из JOIN.md, которые используются в шагах ниже, нужна Ubuntu 24.04 или Debian 13 на x86_64. На более старых системах (например, Ubuntu 22.04 или Debian 12) они не запустятся: используйте образ контейнера из JOIN.md или соберите узел из исходного кода. Для ARM-машин вроде Raspberry Pi готовых сборок в JOIN.md нет; узел для них есть в Ark-0 Witness (см. выше).

  1. Установите нужные пакеты:
    sudo apt-get update
    sudo apt-get install -y curl gnupg libevent-core-2.1-7t64 libevent-extra-2.1-7t64 libevent-pthreads-2.1-7t64 libsqlite3-0
  2. Скачайте файлы и проверьте подпись:
    mkdir -p ~/ark0 && cd ~/ark0
    R=https://github.com/duncan0k/bitcoin-p2mr-patches
    curl -fsSL --remote-name-all $R/releases/download/ark0-node-m4r/ark0-node-m4r-x86_64-linux-gnu.tar.gz $R/releases/download/ark0-node-m4r/SHA256SUMS $R/releases/download/ark0-node-m4r/SHA256SUMS.asc https://raw.githubusercontent.com/duncan0k/bitcoin-p2mr-patches/ark0-node-m4r/ark0/release-signing-key.asc
    gpg --import release-signing-key.asc
    gpg --verify SHA256SUMS.asc SHA256SUMS
    В выводе должна быть строка Good signature from "Ark-0 release signing key (duncan0k) …", а также строка с отпечатком ниже, совпадающая до последнего символа:
    Primary key fingerprint: 025D 989B 68FF 923F 8EF6  9D4B 28F6 5A19 58A2 361A
    Предупреждение «This key is not certified with a trusted signature» рядом с ними — это нормально. Если отпечаток не совпадает, остановитесь и дальше не продолжайте.
  3. Проверьте и распакуйте архив с программой. В каждой строке должно быть OK; если проверка не пройдёт, следующие команды не выполнятся:
    sha256sum --ignore-missing -c SHA256SUMS &&
    tar -xzf ark0-node-m4r-x86_64-linux-gnu.tar.gz &&
    sha256sum --ignore-missing -c SHA256SUMS
  4. Создайте файл настроек (скопируйте весь блок и вставьте его за один раз), затем запустите узел:
    mkdir -p ~/ark0/data
    cat > ~/ark0/data/bitcoin.conf <<'EOF'
    signet=1
    listen=0
    
    [signet]
    signetchallenge=5121026fc5d8e79a9fbc8bc3dea07d82641d16717ce0b000c13c512d8e8c1788c6e5da51ae
    signetpowtargetspacing=90@8064
    addnode=node.ark0.si:38433
    EOF
    ~/ark0/ark0-node-m4r/bin/bitcoind -datadir=$HOME/ark0/data -daemonwait
  5. Задайте сокращение ark0 — им пользуются все команды ниже:
    echo 'alias ark0="$HOME/ark0/ark0-node-m4r/bin/bitcoin-cli -datadir=$HOME/ark0/data"' >> ~/.bashrc && source ~/.bashrc
    ark0 getblockchaininfo

Остановить узел: ark0 stop. Запустить снова: выполните последнюю строку шага 4. Чтобы удалить узел, остановите его, подождите несколько секунд и выполните две строки ниже.

rm -rf ~/ark0
sed -i '/^alias ark0=/d' ~/.bashrc

Если вы уже устанавливали узел

Если вы раньше установили узел по этому руководству, у вас ark0-node-m3 или более ранняя версия. Начиная с блока 51000 такой узел остановится на блоке с первой тратой через спасательный путь, поэтому до этого его нужно заменить на ark0-node-m4r из шагов выше. Проще всего удалить старые данные цепочки и заново синхронизировать цепочку новой версией (около четверти часа), а файл настроек оставить как есть. С Ark-0 Witness достаточно закрыть старую версию, затем скачать и открыть 0.3.0 по шагам выше.

Если вы пользуетесь готовой сборкой для Linux, сначала выполните четыре строки ниже, затем выполните шаги из раздела «Linux», начиная с шага 2:

ark0 stop
sleep 10
rm -rf ~/ark0/data/signet ~/ark0/ark0-node-m3
sed -i '/^alias ark0=/d' ~/.bashrc

Если вы пользуетесь Docker на Mac, сначала выполните три строки ниже, затем выполните шаги для Docker, начиная с шага 2:

docker rm -f ark0
rm -rf ~/ark0/data/signet
sed -i '' '/^alias ark0=/d' ~/.zshrc

После установки: первая проверка

С Ark-0 Witness эти проверки за вас делает страница состояния, так что этот раздел можно пропустить.

За чем наблюдать

Учения с растяжкой 30 октября прошли: блок 36897 потратил учебную растяжку, и начиная со следующего блока подписи на эллиптических кривых в листьях версии 0xe0 не проходят проверку. Следующий этап — M4-R: с блока 51000 открывается спасательный путь. Это ожидается около 15 ноября и не раньше 14 ноября; точное время мы сообщим в группах сообщества.

С Ark-0 Witness: на шаге 1 посмотрите, показывает ли страница состояния версию 0.3.0, на шаге 3 — видно ли на странице состояния, что узел синхронизировался дальше блока с тратой через спасательный путь. Для шага 2 нужны команды узла: Ark-0 Witness этого не показывает.

  1. До блока 51000 убедитесь, что у узла уже новая версия: в выводе ark0 getdeploymentinfo есть p2mr_rescue, у которого type — buried, а height — 51000.
  2. Когда вершина цепочки дойдёт до блока 50999, в выводе ark0 getdeploymentinfo у p2mr_rescue поле active станет true, а в разделе rescue вывода ark0 gettripwireinfo поле active_next_block тоже станет true. Оба поля относятся к следующему блоку, то есть к блоку 51000: правило действует начиная с него.
  3. После блока 51000, в заранее объявленное время, мы одной транзакцией вернём обе учебные монеты с помощью доказательств для спасения и опубликуем в группах сообщества её txid и хеш блока, в который она попала. Подставьте этот хеш вместо «ХЕШ_БЛОКА» и выполните ark0 getblock ХЕШ_БЛОКА 1: если блок найден и confirmations больше 0, значит, ваш собственный узел принял первый блок с тратой через спасательный путь. Саму транзакцию можно открыть в обозревателе блоков и посмотреть, какие две монеты она вернула.
  4. Доказательство для спасения, созданное вне цепочки, уже опубликовано, и проверить его самостоятельно можно уже сейчас: следуйте шагам на публичной странице учений по спасению монет, взяв любую из трёх программ проверки — на Python, Rust или Go.
  5. Если хотите, поделитесь выводом шагов 1–3 (текстом или скриншотом) в группах сообщества или откройте issue на GitHub в репозитории патчей. В публичном отчёте будет указано только, сколько внешних узлов наблюдало за учениями, без имён и без адресов.

Транзакцию для наблюдения за учениями M3 по-прежнему можно дать своему узлу на проверку до 30 ноября; сама транзакция (hex) есть в NETWORK.md, в разделе «What the chain shows».

А телефон на Android подойдёт?

Пока нет, и iPhone тоже не подойдёт. Ark-0 выпускает программы только для компьютеров с Windows, Mac и Linux, версий для телефона нет; к тому же мобильные системы в любой момент останавливают программы, которые долго работают в фоне. С телефона всё равно можно участвовать в учениях: попробовать смешанный адрес в кошельке и смотреть блоки в обозревателе. Но тогда вы видите то, что показывают наши сайты, а это не независимое наблюдение.

Частые проблемы

Адреса начинаются с tb1z, а не с bc1z

Так и должно быть. tb1z и bc1z — один и тот же тип адреса (P2MR), записанный для двух сетей: tb1z — для тестовой сети, bc1z — для основной сети Bitcoin. Ark-0 — тестовая сеть, поэтому адреса кошелька начинаются с tb1z.

Страница всё время показывает Проверяем сеть…

Возможно, браузер слишком старый для кошелька или блокирует скрипт страницы. Обновите браузер или используйте другой: см. «Где открыть кошелёк».

Кнопки Войти через кошелёк нет

Вход через приложение-кошелёк (Войти через кошелёк) отключён с 2026-10-14: у кошелька, открытого так, нет защиты постквантовой подписью (см. «Кошелёк, в который вы входили через приложение-кошелёк, не защищён постквантовой подписью»). Такой кошелёк по-прежнему открывается в браузере, который его хранит; в любом другом месте его возвращает только резервный код. Если резервного кода нет, создайте кошелёк и снова получите тестовые монеты в кране.

Страница сообщает, что кошелёк открыт в другой вкладке

В одном браузере кошелёк работает только в одной вкладке за раз. Закройте другие вкладки с открытым кошельком (у встроенного браузера приложения-кошелька тоже может быть несколько вкладок), и тогда кошелёк откроется на этой странице.

Страница сообщает, что браузер не разрешает ей хранить данные

Выйдите из приватного режима или режима инкогнито, разрешите этому сайту хранить данные в настройках браузера или используйте другой браузер.

Монеты получены, а баланс не изменился

Сначала загляните в раздел Активность: «ожидает подтверждения» значит, что транзакция в мемпуле, и она войдёт в баланс, когда её подтвердит следующий блок. Если там ничего нет, нажмите Обновить; можно также нажать Открыть транзакцию на странице крана с подтверждением отправки и посмотреть, подтвердилась ли транзакция.

Кошелёк не может определить, принял ли узел транзакцию

Нажмите на ID транзакции на странице, чтобы найти её в обозревателе блоков. Этот браузер откладывает её монеты на десять минут и за это время их не тратит. Если и после этого обозреватель не знает о транзакции, отправьте снова.

Страница сообщает, что монеты изменились после проверки

Баланс только что изменился. Нажмите Назад, затем снова Проверить и подтвердите отправку.

Копирование не срабатывает или появляется подсказка Выделите и скопируйте вручную

Страница сама выделит текст: нажмите на него и удерживайте (на компьютере щёлкните правой кнопкой мыши) и скопируйте.

Открыть кошелёк