0.8.0 - публичная бета-версия

К списку новостей

Уважаемые коллеги,

Хочу сообщить, что разработка клиента 0.8.0 практически завершена, и
процесс входит в стадию тестирования.
Кто желает присоединиться к процессу - скачать текущую версию можно с
моего личного сайта: http://olegh.ftp.sh/emercoin/0.8.0-dirty/

Если Вы просто держите монеты - то переход на новую версию "не горит",
дождитесь полноценного релиза.
Если же Вы разрабатываете проекты с использованием технологий Эмера - то
я рекомендую взять в разработку нового клинта, и работать с ним.
Тогда не придётся переделывать интерфейс в будущем.

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

Перед использованием - рекомендую вообще переименовать текущую рабочую
директорию старого Эмер-клиента, создать новую,
скопировать туда wallet.dat и emercoin.conf, и использовать новый
клиент. При этом перезакачается блокчейн, зато в директории точно
не будет "хвостов" от старого клиента. Ну или хотя бы сохраните backup
для wallet.dat.


Итак, что в новой версии:

Core (Кошелек):
Эмеркоин перенесён на ядро Биткоина 0.19.1. Это ядро содержит ряд
улучшений в плане производительности.
Вместе с нашими оптимизациями, это сильно улучшило эффективность
использования CPU. Так, при работе в режиме PoS,
у меня ранее использовалось ~20% CPU, сейчас ~4%.

Если в релизах 0.7.X была введена поддержка SetWit в ядре, то в этой
версии SegWit используется по умолчанию,
в том числе - для адреса сдачи, генерации нового адреса для платежа или
имени.
Если Вам нужен legacy-адрес старого формата (скажем, чтобы получать
монеты от старого клиента или с биржи), то при
создании адреса в меню "Receive" отмените дефолтный флаг "Generate
native segwit (Bech32) address".
Если нужно создать имя на новый legacy-address, то в строке адреса для
имени "New address" введите слово "legacy".
То есть, если там пустая строка, будет создан новый beech32 address, а
если слово "legacy" - то будет создан адрес старого формата.

Добавлена динамическая балансировка очередей на закачку, что ускорило
закачку блокчейна.
Закачивание полного блокчейна при хорошей сети занимает меньше часа.

Добавлен механизм рассылки своих транзакций из mempool при получении
блока, этих транзакций не содержащего.
Это помогает быстрее распространить застрявшие в мемпуле транзакции.

Добавлена возможность подписывания сообщений signmessage адресами
beech32 (кстати, Биткоин так не может).

Увеличена детализация информации в JSON-ответах. Так, getinfo возвращает
обе difficulty, а name_show/name_history - показывает vout для имени.


Randpay (Система вероятностных платежей):
Полностью изменён интерфейс к подсистеме Randpay, он стал более
высокоуровневым и более простым.
Теперь там команды:
randpay_mkchap - задать загадку от сервера к клиенту
randpay_mktx   - создать транзакцию, ответ на загадку
randpay_accept - принять ответ, и получить деньги, при удаче.
Параметры см в help этих функций.

Перенесён на segwit beech32 по дефолту, оставлена возможность генерации
legacy-адреса указанием флага при запросе.
См подробнее help randpay_mktx.

NVS (хранилище именованных записей):
Подготовлена, но не активирована (активация произойдёт при 90%-ном
обновлении сети на новую версию, включая PoW-майнеров)
возможность включения множества операций с именами в одну транзакцию.
Покамест работа с именами как и ранее, только дефолтные адреса стали
beech32. Но даже после активации нового функционала
старые name-операции продолжат работу. Но уже сейчас команда
"decoderawtransaction" возвращает имена в
информации об UTXO, а не в информации о транзакции, так как в новом
формате будет возможно множество UTXO с именами в одной транзакции.

Добавлен конфиг-параметр "-nametxoutamount", позволяющий внести в
name-UTXO сумму большую чем дефолтный сабцент.
Это полезно при отправке имени, получатель которого не имеет монет, и
ему надо будет сделать nam_update, например
в системах голосования на блокчейне.


EmerDNS (Система альтернативых доменов):
Добавлен фильтр для блокировки DGA-запросов от ботнетов.
Добавлена поддержка записей SRV,CAA,TLSA

STUN (Механизм определения IP кошелька):
Добавлен переиодический запрос внешнего IP адреса через STUN. Это может
быть полезно при изменении сетевой конфигурации,
например включении или выключении VPN.

Добавлен конфиг-параметр "-stuntimio", указывающих начальный интервал
между stun-запросами, который увеличивается на ~1% после каждого запроса.
По дефолту, 15мин. Специальные значения: 0 - запрашивать один раз, при
старте (как делает текущий 0.7.X), -1 - не использовать STUN.

ENUMER (для IP-Телефонии):
Добавлена возможность обьявлять enum-зоны без проверки подписей
верификаторов.
Обслуживание только запросов типа NAPTR, остальные игнорируются.

Известные баги и недоделки:
При скачивании блокчейна в момент перехода от синхронизации хидеров к
закачке блоков изредка нарушается десерилизация сообщений от какого-либо
пира.
В настоящее время, клиент просто отключается от того пира, и продолжает
работу. Баг не принципиален, имеет низкий приоритет.

Не собирается в портабельной сборке BIP70, для которого требуется
protobuf, а его нет в depend-библиотеках.
Так как BIP70 - просто покупка с сайтов через URI типа "bitcoin://"
которая даже для биткоина редко применяется, то для Эмера это покамест
неактуально.
Потому недоделка тоже не принципиальна.

Обозреватель блоков:
Эксплорер не понимает segwit-адресов, и там они отображаются как "N/A".
Проблема именно в эксплорере, не в Эмере. Игнорируйте этот баг, мы
эксплорер позже переделаем.

 

Telegram

К списку новостей