1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hyperledger-besu

Клонировать/Скачать
CHANGELOG.md 350 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 11:32 e1d9404

Changelog

[Unreleased]

Изменения, нарушающие работу

  • Удалён RPC-сервис и команды Retesteth (#7833).

  • Удалена ранняя версия функции TLS для P2P (#7942).

  • В результате обновления библиотеки Prometheus Java Metrics произошли следующие изменения:

    • имена датчиков не могут заканчиваться на «total», поэтому метрика besu_blockchain_difficulty_total теряет суффикс _total;
    • по умолчанию метки времени _created не возвращаются, вы можете установить переменную среды BESU_OPTS = "-Dio.prometheus.exporter.includeCreatedTimestamps=true", чтобы включить их;
    • некоторые метрики JVM были переименованы в соответствии со стандартом OTEL (см. таблицу ниже), обновлён дашборд Besu Full Grafana для поддержки обоих имён. | Старое имя | Новое имя | | --- | --- | | jvm_memory_bytes_committed | jvm_memory_committed_bytes | | jvm_memory_bytes_init | jvm_memory_init_bytes | | jvm_memory_bytes_max | jvm_memory_max_bytes | | jvm_memory_bytes_used | jvm_memory_used_bytes | | jvm_memory_pool_bytes_committed | jvm_memory_pool_committed_bytes | | jvm_memory_pool_bytes_init | jvm_memory_pool_init_bytes | | jvm_memory_pool_bytes_max | jvm_memory_pool_max_bytes | | jvm_memory_pool_bytes_used | jvm_memory_pool_used_bytes |

Предстоящие изменения, нарушающие работу

  • Интерфейс BesuContext в API плагина будет заменён интерфейсом ServiceManager.

  • Метод MetricSystem::createLabelledGauge устарел и будет удалён в будущем выпуске, его следует заменить на метод MetricSystem::createLabelledSuppliedGauge.

  • Теперь метод k8s (KUBERNETES) Nat устарел и будет удалён в следующем выпуске.

  • Параметр --host-whitelist устарел в пользу параметра --host-allowlist с 2020 года и будет удалён в будущем выпуске.

  • Отказ от функций — для получения дополнительной информации о причинах устаревания этих функций, включая альтернативные варианты, прочитайте этот пост в блоге.

    • Конфиденциальность Tessera.
    • Разрешение на основе смарт-контрактов (ончейн).
    • Доказательство работы консенсуса.
    • Быстрая синхронизация.

Дополнения и улучшения

  • Точная настройка уже виденного трекера транзакций при удалении транзакции из пула (#7755).
  • Поддержка включения и настройки TLS/mTLS в службе WebSocket (#7854).
  • Создание и публикация Besu BOM (Bill of Materials) (#7615).
  • Обновление зависимостей Java (#7786).
  • Добавление метода для получения всех транзакций в пуле в TransactionPoolService для упрощения доступа к содержимому пула транзакций из плагинов (#7813).
  • Обновление библиотеки JNI RocksDB с версии 8.3.2 до 9.7.3 (#7817).
  • Добавление метода проверки того, включена ли категория метрик, в API плагинов (#7832).
  • Добавлен новый сборщик метрик для счётчиков, значения которых поступают от поставщиков (#7894).
  • Добавлены переопределения учётной записи и состояния в eth_call (#7801) и eth_estimateGas (#7890).
  • Библиотека Prometheus Java Metrics обновлена до версии 1.3.3 (#7880).
  • Добавлена гистограмма в систему метрик Prometheus (#7944).

Исправления ошибок

  • Исправлена регистрация новых категорий метрик из плагинов (#7825).
  • Исправлено CVE-2024-47535. Перевод текста на русский язык:

7878

  • Исправление проверки предложения на основе подготовленного блока в QBFT #7875.

24.10.0

Изменения, нарушающие работу

  • Besu теперь не сможет запуститься, если какие-либо плагины столкнутся с ошибками во время инициализации. Чтобы позволить Besu продолжить работу, несмотря на ошибки плагинов, используйте опцию --plugin-continue-on-error. #7662.

Предстоящие изменения, нарушающие работу:

  • Метод Nat для k8s (KUBERNETES) теперь устарел и будет удалён в будущем выпуске.
  • Параметр --host-whitelist был объявлен устаревшим в пользу --host-allowlist с 2020 года и будет удалён в будущем выпуске.

Дополнения и улучшения:

  • Удалить поддержку классов тестов конфиденциальности #7569.
  • Добавить метрики транзакций Blob #7622.
  • Реализована поддержка emptyBlockPeriodSeconds в QBFT #6965.
  • LUKSO Cancun Hardfork #7686.
  • Добавить конфигурацию адреса контракта запроса консолидации через конфигурацию генезиса #7647.
  • Прерывать обработку ожидающих транзакций при тайм-ауте создания блока #7673.
  • Выровнять расчёт предела газа для симуляции транзакций по подходу Geth #7703.
  • Открыть доступ к chainId в BlockchainService 7702.
  • Поддержка chainId в CallParameters #7720.
  • Добавить поддержку сети --ephemery для Ephemery Testnet #7563 благодаря @gconnect.
  • Добавить конфигурацию адреса контракта запроса консолидации через конфигурацию генезиса #7647.

Исправления ошибок:

  • Исправить права доступа к смонтированному каталогу данных для пользователя besu #7575.
  • Исправить debug_traceCall, чтобы обрабатывать транзакции без указанной цены за газ. #7510.
  • Исправляет регрессию, когда пользовательские сервисы плагинов не инициализируются правильно. #7625.
  • Исправить для цепочек IBFT2, использующих формат базы данных BONSAI #7631.
  • Чтение опции tx-pool-min-score из файла конфигурации #7623.
  • Исправить необработанное исключение PeerTable #7733.
  • Исправить RocksDBException: Busy, приводящее к MerkleTrieException: Невозможно загрузить значение узла дерева #7745.
  • Если узел валидатора BFT синхронизируется, приостановить производство блоков до завершения синхронизации #7657.
  • Исправить eth_feeHistory, когда вознаграждение ограничено конфигурацией #7750.

24.9.1

Предстоящие изменения, нарушающие работу:

Нарушающие работу изменения:

  • По умолчанию включено уплотнение квитанций. Больше не будет возможности понизить версию Besu до версий до 24.5.1.

Дополнения и улучшения:

  • Добавить поле «inbound» в JSON-RPC Call admin_peers #7461.
  • Добавить заголовок ожидающего блока в TransactionEvaluationContext API плагина #7483.
  • Добавить bootnode в конфигурацию holesky #7500.
  • Реализация engine_getClientVersionV1 #7512.
  • Оптимизация производительности для ECMUL (1 из 2) #7509.
  • Оптимизация производительности для ECMUL (2 из 2) #7543.
  • Включить текущий головной блок цепочки при вычислении eth_maxPriorityFeePerGas #7485. Документация обновлена в журнале изменений #7562:
  • Обновлены зависимости Java и Gradle #7571.
  • В многоуровневом пуле транзакций (txpool) появились новые опции --tx-pool-min-score для удаления транзакции из пула, когда её оценка ниже указанного значения #7576.
  • Метод engine_getBlobsV1 добавлен в Engine API #7553.

Исправлены ошибки:

  • Отладка в предкомпилированных контрактах при остановке из-за нехватки газа #7318.
  • Правильное освобождение блокировок сохранения и восстановления txpool в случае исключений #7473.
  • Ошибка с eth_gasPrice, когда не получалось получить значение блока #7482.
  • Правильная обработка сообщений, превышающих локальный лимит размера сообщения #5455.
  • DebugMetrics: исправлено ClassCastException, возникающее в DebugMetrics при обработке вложенных метрических структур. Ранее значения Double внутри этих структур неправильно приводились к объектам Map, что приводило к ошибкам. Это обновление позволяет правильно обрабатывать как прямые значения, так и вложенные структуры на одном уровне. Проблема № #7383.
  • evmtool не учитывал настройку --genesis, что приводило к неожиданным результатам трассировки #7433.
  • Параметр переопределения конфигурации генезиса contractSizeLimit не был связан с ограничениями размера кода #7557.
  • Исправлено неправильное фильтрование ключей в потоке LayeredKeyValueStorage #7535.
  • Многоуровневый пул транзакций: уведомления не отправляются при перемещении транзакции между уровнями #7539.
  • Многоуровневый пул транзакций: исправлена ошибка с неотправленными уведомлениями об удалении при отсутствии уведомлений #7538.
  • Учёт номера блока или параметра тега в eth_estimateGas и eth_createAccessList #7502.
  • Исправлена NPE во время инициализации объекта DefaultBlockchain #7601.

24.9.0

Эта версия релиза устарела из-за ошибки CI.

24.8.0

Предстоящие критические изменения:

— Уплотнение квитанций будет включено по умолчанию в будущей версии Besu. После этого изменения будет невозможно понизить версию до предыдущей версии Besu. — --Xbonsai-limit-trie-logs-enabled устарело, используйте вместо него --bonsai-limit-trie-logs-enabled. — --Xbonsai-trie-logs-pruning-window-size устарело, используйте вместо него --bonsai-trie-logs-pruning-window-size. — Подкоманда besu storage x-trie-log устарела, используйте вместо неё besu storage trie-log. — Разрешить настройку адреса контракта запросов на вывод средств через конфигурацию генезиса #7356.

Критические изменения:

— Удалены давно устаревшие методы perm*whitelist* #7401.

Дополнения и улучшения:

— Разрешена дополнительная загрузка jemalloc (если установлен), путём установки переменной среды BESU_USING_JEMALLOC в значение true/false. Если эта переменная среды не установлена вообще, она будет вести себя так, как если бы она была установлена в true. — Предоставление возможности настройки окончательного/безопасного блока в плагине api BlockchainService. Эти методы могут использоваться плагинами для установки окончательного/безопасного блока для сети PoA (такой как QBFT, IBFT и Clique) #7382. — В процессе RPC-сервиса #7395. — Добавлена поддержка трассировки приватных транзакций с использованием API priv_traceTransaction #6161. — Обертывание WorldUpdater в EVMWorldupdater #7434. — Обновление besu-native до 0.9.4 #7456.

Исправление ошибок:

— Правильный entrypoint в Docker evmtool #7430. — Исправление... Обновление до предыдущей версии Besu.

  • PKI-backed QBFT будет удалён в будущей версии Besu. Другие формы QBFT останутся без изменений.

  • --Xbonsai-limit-trie-logs-enabled устарел, используйте вместо него --bonsai-limit-trie-logs-enabled.

  • --Xbonsai-trie-logs-pruning-window-size устарел, используйте вместо него --bonsai-trie-logs-pruning-window-size.

Дополнения и улучшения:

  • Добавьте два счётчика в DefaultBlockchain, чтобы иметь возможность рассчитывать TPS и Mgas/s.
  • Включите --Xbonsai-limit-trie-logs-enabled по умолчанию, если sync-mode = FULL.
  • Продвигайте экспериментальный --Xbonsai-limit-trie-logs-enabled до уровня готовности к производству, --bonsai-limit-trie-logs-enabled.
  • Продвигайте экспериментальный --Xbonsai-trie-logs-pruning-window-size до уровня готовности к производству, --bonsai-trie-logs-pruning-window-size.
  • Вызов JSON/RPC admin_nodeInfo возвращает текущую активную версию EVM.
  • Улучшите выбор наиболее прибыльного встроенного блока.

Исправления ошибок:

  • Сделайте eth_gasPrice осведомлённым о базовом рынке сборов.

Ссылки для скачивания: https://github.com/hyperledger/besu/releases/tag/24.6.0 https://github.com/hyperledger/besu/releases/download/24.6.0/besu-24.6.0.tar.gz / sha256 fa86e5c6873718cd568e3326151ce06957a5e7546b52df79a831ea9e39b857ab https://github.com/hyperledger/besu/releases/download/24.6.0/besu-24.6.0.zip / sha256 8b2d3a674cd7ead68b9ca68fea21e46d5ec9b278bbadc73f8c13c6a1e1bc0e4d

24.5.2

Предстоящие критические изменения:

  • Версия 24.5.x станет последней серией, поддерживающей Java 17. Следующий выпуск после версий 24.5.x потребует Java 21 для сборки и запуска.
  • Уплотнение квитанций будет включено по умолчанию в будущей версии Besu. После этого изменения будет невозможно выполнить обновление до предыдущей версии Besu.
  • PKI-backed QBFT будет удалён в будущей версии Besu. Остальные формы QBFT не изменятся.

Дополнения и улучшения:

  • Удалите устаревший тестовый Goerli.
  • По умолчанию bonsai использует full-flat db и code-storage-by-code-hash.
  • Новые методы RPC miner_setExtraData и miner_getExtraData.
  • Отключайте пиры, у которых несколько портов обнаружения, поскольку они дают нам плохих соседей.
  • Внедрите порт Tuweni dns-discovery в Besu.

Известные проблемы:

  • [Частота: иногда < 10%] Остановка загрузки цепочки. Затрагивает только новые синхронизированные узлы (новые узлы синхронизируются с нуля). Симптом: импорт блоков останавливается, несмотря на наличие полного набора пиров и завершения загрузки состояния мира. Обычно перезапуск besu решает проблему. Мы отслеживаем это в #6884.

Исправлены ошибки:

  • Исправьте синтаксический анализ параметра gasLimit, когда его значение больше Long.MAX_VALUE.
  • Пропустите проверку вывода средств при импорте блоков BFT, так как вывод средств не применяется к цепочкам BFT.
  • Приведите v и yParity в соответствие в транзакциях типа 1 и 2 в JSON-RPC и GraphQL.

Ссылки для скачивания: https://github.com/hyperledger/besu/releases/tag/24.5.2 https://github.com/hyperledger/besu/releases/download/24.5.2/besu-24.5.2.tar.gz / sha256 4049bf48022ae073065b46e27088399dfb22035e9134ed4ac2c86dd8c5b5fbe9 https://github.com/hyperledger/besu/releases/download/24.5.2/besu-24.5.2.zip / sha256 23966b501a69e320e8f8f46a3d103ccca45b53f8fee35a6543bd9a260b5784ee

24.5.1

Критические изменения:

  • Формат метаданных базы данных RocksDB изменился, чтобы быть более выразительным, миграция существующей базы данных не требуется. Существующие метаданные файла автоматически конвертируются в новый формат при запуске. Перед выполнением понижения версии до предыдущей версии обязательно необходимо вернуться к исходному формату с помощью подкоманды besu --data-path=/path/to/besu/datadir storage revert-metadata v2-to-v1.
  • Сети BFT не запускаются с конфигурациями SNAP или CHECKPOINT (ранее Besu запускался с этой конфигурацией, но тихо не мог синхронизироваться, поэтому теперь более очевидно, что это не будет работать) #6625, #6667.
  • Обрезка леса была удалена, она устарела с версии 24.1.0. Если вы всё ещё используете её, то теперь необходимо удалить следующие опции: pruning-enabled, pruning-blocks-retained и pruning-block-confirmations из вашей конфигурации, и вам следует рассмотреть переход на Bonsai.
  • Устаревающий тестовый блокчейн Goerli был удалён.

Предстоящие критические изменения

  • Версия 24.5.x будет последней серией, поддерживающей Java 17. Следующий релиз после версий 24.5.x потребует Java 21 для сборки и запуска.
  • Уплотнение квитанций будет включено по умолчанию в будущей версии Besu. После этого изменения будет невозможно выполнить понижение версии до предыдущего Besu.
  • PKI-backed QBFT будет удалён в будущей версии Besu. Другие формы QBFT останутся неизменными.

Известные проблемы

  • [Частота: иногда < 10%] Остановка загрузки цепочки. Затрагивает только новые синхронизации (новые узлы синхронизируются с нуля). Симптом: импорт блоков останавливается, несмотря на наличие полного набора пиров и завершения загрузки состояния мира. Обычно перезапуск besu решает проблему. Мы отслеживаем это в #6884.
  • [Частота: иногда < 10%] Низкое количество пиров. Чаще встречается на тестовых сетях (holesky и sepolia), но также может происходить на основной сети. Симптом: счётчик пиров остаётся на уровне 0 в течение часа или более. Обычно перезапуск besu решает проблему. Мы отслеживаем это в #6805.

Дополнения и улучшения

  • Обновление логики «host allow list» для перехода от устаревшего метода host() к предложенному методу authority() #6878.
  • txpool_besuPendingTransactions изменение параметра numResults на необязательный параметр #6708.
  • Расширение сервиса Blockchain #6592.
  • Добавление bft-стиля blockperiodseconds переходов к Clique #6596.
  • Добавить createemptyblocks переходы к Clique #6608.
  • Рефакторинг метаданных базы данных RocksDB #6555.
  • Сделать многоуровневый txpool осведомлённым о динамических опциях minGasPrice и minPriorityFeePerGas #6611.
  • Обновить commons-compress до 1.26.0 #6648.
  • Обновить Vert.x до 4.5.4 #6666.
  • Реорганизовать и расширить TransactionPoolValidatorService #6636.
  • Ввести TransactionSimulationService #6686.
  • Объект вызова транзакции для принятия как поля input, так и поля data одновременно, если они установлены равными значениями #6702.
  • eth_call для блоб-транзакций позволяет использовать пустой maxFeePerBlobGas #6731.
  • Расширить обработку ошибок методов RPC плагинов #6759.
  • Добавлены методы engine_newPayloadV4 и engine_getPayloadV4 #6783.
  • Уменьшить размер хранилища квитанций #6602.
  • Удален специальный маркер журнала для недействительных транзакций в txpool #6826.
  • Предотвратить запуск с BONSAI и включённой конфиденциальностью #6809.
  • Удалить. Устаревшее удаление леса #6810
  • Экспериментальный сервер синхронизации Snap #6640
  • Обновление эталонных тестов до версии 13.2 #6854
  • Обновите зависимости Web3j #6811
  • Добавьте опцию tx-pool-blob-price-bump, чтобы настроить процент повышения цены, необходимый для замены транзакций BLOB (по умолчанию 100%) #6874
  • Регистрируйте подробные временные метки этапов создания блоков #6880
  • Предоставьте показатели количества транзакций по типам для многоуровневого пула транзакций #6903
  • Опубликуйте события плохих блоков через API плагина BesuEvents #6848
  • Добавить метрику ошибок RPC #6919
  • Добавьте подкоманду rlp decode для декодирования дополнительных данных IBFT/QBFT в список валидаторов #6895
  • Разрешите пользователям указывать, какие плагины зарегистрированы #6700
  • Многоуровневая настройка пула транзакций для транзакций BLOB #6940

Исправления ошибок

  • Устраните состояние гонки при сбросе и восстановлении пула транзакций #6665
  • Сделайте максимальное время выбора транзакции блока осведомлённым о переходах PoA #6676
  • Не включайте координатора майнинга BFT при запуске подкоманд, таких как blocks export #6675
  • В JSON-RPC возвращайте необязательные поля v для транзакций типа 1 и типа 2 #6762
  • Исправьте ошибку импорта блоков Shanghai/QBFT при синхронизации новых узлов #6765
  • Избегайте широковещательной передачи полных транзакций BLOB, вместо только объявления транзакции, на подмножество узлов #6835
  • Исправления клиента Snap, обнаруженные во время тестирования сервера Snap #6847
  • Правильно инициализируйте пул транзакций как отключённый при создании #6890
  • Исправлена остановка загрузки worldstate при использовании синхронизации snap во время начальной синхронизации #6981
  • Исправлены остановки цепи из-за того, что одноранговые узлы частично отвечают заголовками. И остановки worldstate, вызванные остановкой синхронизации цепи #7027

Ссылки для скачивания

https://github.com/hyperledger/besu/releases/tag/24.5.1 https://github.com/hyperledger/besu/releases/download/24.5.1/besu-24.5.1.tar.gz / sha256 77e39b21dbd4186136193fc6e832ddc1225eb5078a5ac980fb754b33ad35d554 https://github.com/hyperledger/besu/releases/download/24.5.1/besu-24.5.1.zip / sha256 13d75b6b22e1303f39fd3eaddf736b24ca150b2bafa7b98fce7c7782e54b213f

24.3.0

Критические изменения

  • SNAP — синхронизация Snap теперь используется по умолчанию для именованных сетей #6530
    • если вы хотите использовать предыдущее поведение по умолчанию, вам нужно указать --sync-mode=FAST
  • BONSAI — формат хранения данных по умолчанию теперь BONSAI #6536
    • если ранее вы использовали предыдущий формат (FOREST), при запуске вы получите сообщение об ошибке, указывающее на несоответствие Несоответствие: БД в «/your-path» — это FOREST (версия 1), но конфигурация ожидает BONSAI (версия 2). Пожалуйста, проверьте вашу конфигурацию.
    • чтобы исправить это несоответствие, укажите формат явно с помощью --data-storage-format=FOREST
  • Следуя соглашению OpenMetrics, обновлённый клиент Prometheus добавляет суффикс _total ко всем показателям типа счётчика, в результате чего некоторые существующие показатели были переименованы, чтобы иметь этот суффикс. Если вы используете официальную панель мониторинга Besu Grafana (доступна здесь), просто обновите её до последней версии, которая принимает старое и новое название затронутых показателей. Метрики. Если у вас есть собственная информационная панель или вы используете метрики другими способами, вам необходимо вручную обновить её для поддержки нового наименования.
  • Метод trace-filter в JSON-RPC API теперь имеет предел диапазона блоков по умолчанию, равный 1000, который можно настроить с помощью параметра --rpc-max-trace-filter-range (спасибо @alyokaz) [#6446].

  • Теперь по умолчанию включено получение идентификатора форка от связанных пиров через запрос к Ethereum Node Record (ENR), поэтому было внесено следующее изменение [#5628]:

    • метод --Xfilter-on-enr-fork-id был удалён. Чтобы отключить эту функцию, используйте --filter-on-enr-fork-id=false.
    • метод --engine-jwt-enabled был удалён. Вместо него используйте --engine-jwt-disabled [#6491].
    • образы Docker теперь предоставляются на ghcr.io вместо dockerhub.

Устаревание

  • X_SNAP и X_CHECKPOINT помечены как устаревшие и будут удалены в версии 24.6.0 в пользу SNAP и CHECKPOINT [#6405].
  • --Xp2p-peer-lower-bound устарел. [#6501]

Предстоящие критические изменения

  • Будет удалён метод --Xbonsai-limit-trie-logs-enabled. Вместо этого нужно использовать --bonsai-limit-trie-logs-enabled, и этот лимит будет включён по умолчанию.
    • Если вы не хотите, чтобы лимит был включён (например, у вас установлено значение --bonsai-historical-block-limit < 512), вам нужно явно отключить его с помощью --bonsai-limit-trie-logs-enabled=false или увеличить лимит. [#6561].

Дополнения и улучшения

  • Обновление зависимостей Prometheus и Opentelemetry [#6422].
  • Добавление OperationTracer.tracePrepareTransaction, где счётчик отправителя ещё не был изменён [#6453].
  • Улучшение флага высокой спецификации путём ограничения его несколькими семействами столбцов [#6354].
  • Ведение журнала количества больших двоичных объектов при импорте блока через Engine API [#6466].
  • Введение экспериментальной функции --Xbonsai-limit-trie-logs-enabled, которая по умолчанию будет сохранять только последние 512 журналов дерева Меркла, экономя около 3 ГБ в неделю при росте базы данных [#5390].
  • Внедрение экспериментальной автономной подкоманды besu storage x-trie-log prune, которая удалит все избыточные журналы дерева Меркла, кроме последних 512 [#6303].
  • Повышение производительности генерации плоских трасс [#6472].
  • Синхронизация SNAP и CHECKPOINT — флаг раннего доступа удалён, теперь просто SNAP и CHECKPOINT [#6405].
  • Github Actions на основе сборки.
  • Введение механизма кэширования для оптимизации вычислений хэша Keccak для слотов хранилища учётных записей во время обработки блоков [#6452].
  • Добавлены параметры конфигурации для pragueTime в файл генезиса для разработки ветки Prague [#6473].
  • Перенос хранилища trielog на blobdb RocksDB для улучшения усиления записи [#6289].
  • Поддержка ветки shanghaiTime и смарт-контрактов Shanghai EVM в цепочках QBFT/IBFT [#6353].
  • Изменение ExecutionHaltReason для случая столкновения при создании контракта на возврат ILLEGAL_STATE_CHANGE [#6518].
  • Экспериментальная функция --Xbonsai-code-using-code-hash-enabled для хранения кода Bonsai по хеш-коду кода [#6505].
  • Более точный размер столбца storage rocksdb usage подкоманда [#6540].
  • Добавляет storage rocksdb x-stats подкоманду [#6540].
  • Новый метод eth_blobBaseFee JSON-RPC. Принятие транзакций, выполнение которых занимает больше времени, чем введённый лимит. Если для этих сетей обязательно продолжать обработку транзакций с длительной обработкой, то необходимо соответствующим образом настроить значение по умолчанию для block-txs-selection-max-time или poa-block-txs-selection-max-time.

Устаревания.

Дополнения и улучшения:

  • Оптимизация файлов WAL RocksDB для более быстрого перезапуска и более эффективного использования дискового пространства.
  • Отключение обработки транзакций, когда узел не синхронизирован, чтобы избежать ненужной работы по проверке транзакций.
  • Введение TransactionEvaluationContext для передачи данных между селекторами транзакций и плагином во время создания блока.
  • Обновление зависимостей.
  • Поддержка опции «pending» в qbft_getValidatorsByBlockNumber.

Исправления ошибок:

  • INTERNAL_ERROR от вызовов JSON/RPC eth_estimateGas.
  • Исправление образов Besu Docker с тегами openjdk-latest начиная с версии 23.10.3 с использованием UID 1001 вместо 1000 для пользователя besu.
  • Некорректная проверка размера кода в определении Fluent EVM API для Tangerine Whistle.
  • Коррекция получателя вознаграждения за майнинг в Clique сетях в TraceServiceImpl.
  • Исправления в расчётах дельты лимита газа, используемых при производстве блоков. Теперь Besu должен правильно увеличивать или уменьшать лимит газа блока относительно его целевого значения.
  • Обеспечение ожидания начальной синхронизации перед запуском сеанса Backward Sync.
  • Подавление шумных ошибок запросов DNS.

Ссылки для скачивания: https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.1/besu-24.1.1.zip / sha256 e23c5b790180756964a70dcdd575ee2ed2c2efa79af00bce956d23bd2f7dc67c https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.1/besu-24.1.1.tar.gz / sha256 4b0ddd5a25be2df5d2324bff935785eb63e4e3a5f421614ea690bacb5b9cb344

Errata. Обратите внимание, что из-за гонки CI с заданием выпуска исходные опубликованные версии 24.1.1 были перезаписаны артефактами, созданными из тех же источников, но отличающимися встроенными временными метками. Исходные SHA указаны здесь, но устарели: https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.1/besu-24.1.1.zip / sha256 b6b64f939e0bb4937ce90fc647e0a7073ce3e359c10352b502059955070a60c6 https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.1/besu-24.1.1.tar.gz / sha256 cfcae04c30769bf338b0740ac65870f9346d3469931bb46cdba3b2f65d311e7a

24.1.0

Критические изменения.

Устаревшие функции:

  • Лесное прореживание (опция pruning-enabled) устарело и скоро будет удалено. Для экономии места на диске рассмотрите возможность перехода на формат хранения данных Bonsai.

Дополнения и улучшения:

  • Добавление сообщений об ошибках при сбоях аутентификации с именем пользователя и паролем.
  • Новый пул транзакций Sequenced. Этот пул является развитием пула legacy и, вероятно, больше подходит для корпоративных или разрешённых цепочек, чем пул layered. Транзакционный пул. Выберите использование этого пула с помощью --tx-pool=sequenced. Поддерживает те же опции, что и пул legacy (#6274).

Установите блок активации основной сети Ethereum Classic для обновления сети Spiral (#6267).

Добавьте пользовательское имя файла генезиса в обзор конфигурации, если оно указано (#6297).

Обновите плагины Gradle и замените неподдерживаемый плагин лицензии Gradle активно поддерживаемым отчётом о лицензии Gradle (#6275).

Оптимизируйте файлы WAL RocksDB, что позволяет быстрее перезапускать и более линейно использовать дисковое пространство (#6328).

Создайте кэш отправителей по хэшу транзакции (#6375).

Исправления ошибок

  • Быстрое исправление для пред-образов selfdestruct на bonsai (#6359).
  • Исправьте проблему с отправкой trielog во время самоуничтожения (#6340).
  • Смягчение последствий сбоя trielog (#6315).

Ссылки для скачивания

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.0/besu-24.1.0.zip / sha256 d36c8aeef70f0a516d4c26d3bc696c3e2a671e515c9e6e9475a31fe759e39f64

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/24.1.0/besu-24.1.0.tar.gz / sha256 602b04c0729a7b17361d1f0b39f4ce6a2ebe47932165add666560fe594d9ca99

23.10.3-hotfix

Это исправление дефекта самоуничтожения, произошедшего в основной сети в блоке 18947893.

Исправление ошибок

  • Быстрое исправление для пред-образов selfdestruct на bonsai (#6359).
  • Смягчение последствий сбоя trielog (#6315).

Ссылки для скачивания

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.3-hotfix/besu-23.10.3-hotfix.zip / sha256 1c37762909858a40eca749fb85b77fb4d1e918f247aff56d518144828bd85378

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.3-hotfix/besu-23.10.3-hotfix.tar.gz / sha256 8e38e9fd0c16e049aa324effc96f9ec31dc06e82ea4995e9dd75d571394667af

23.10.3

Дополнения и улучшения

  • Реализовать debug_traceCall (#5885).
  • Транзакции, которые занимают слишком много времени для оценки во время создания блока, отбрасываются из txpool (#6163).
  • Новая опция tx-pool-min-gas-price для установки нижнего предела при приёме транзакций в пул (#6098).
  • Обновите последний образ Docker OpenJDK до Java 21 (#6189).
  • Разрешить плагину выбора транзакций указывать собственные результаты выбора (#6190).
  • Добавьте rpc-gas-cap, чтобы пользователи могли устанавливать лимит газа для методов RPC, используемых для имитации транзакций (#6156).
  • Исправьте недоступность поля address при возврате сущности Account в GraphQL в случае недостижимого состояния мира (#6198).
  • Обновите образ OpenJ9 Docker до последней версии (#6226).
  • Добавляйте сообщения об ошибках при сбоях аутентификации с именем пользователя и паролем (#6212).
  • Добавить rocksdb usage к подкоманде storage, чтобы позволить пользователям и разработчикам проверять использование семейств столбцов (#6185).
  • Обновление сети Ethereum Classic Spiral (#6078).
  • Исправить коллизию самоуничтожения (#6205).
  • Пометить удалённое хранилище как очищенное (#6305).

Исправление ошибок

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.3/besu-23.10.3.tar.gz / sha256 73c834cf32c7bbe255d7d8cc7ca5d1eb0df8430b9114935c8dcf3a675b2acbc2

23.10.2

Изменения, нарушающие работу

— Извлечение из пула устаревших транзакций в устаревшем пуле транзакций теперь отдаёт предпочтение сохранению самых старых транзакций (более вероятно удаление более высоких номеров, менее вероятно появление пробелов в номерах) #6106 и #6146.

Устаревания

Дополнения и улучшения

— Обновление сети Spiral в Ethereum Classic #6078. — Добавление метода для чтения из экземпляра Memory без изменения его внутреннего состояния #6073. — Принятие полей ввода и данных для полезной нагрузки методов RPC, связанных с транзакциями #6094. — Добавить API для установки и получения минимальной цены на газ, которую должна заплатить транзакция, чтобы быть выбранной во время создания блока #6097. — TraceService: возврат результатов для транзакций в блоке #6086. — Новая опция --min-priority-fee, которая устанавливает минимальную приоритетную плату за транзакцию, необходимую для её выбора в блок. #6080 #6083. — Реализация новых методов RPC miner_setMinPriorityFee и miner_getMinPriorityFee #6080. — Опция конфигурации клики createemptyblocks для предотвращения создания пустых блоков #6082. — Обновление эталонных тестов EVM до версии v13 (Cancun) #6114. — Добавьте yParity в GraphQL и JSON-RPC для соответствующих запросов. 6119. — Заставить замену цены транзакции равняться нулю, когда настроен нулевой базовый уровень цен на газ или --min-gas-price установлен равным 0. Это позволяет упростить замену транзакций в сетях, где нет цены на газ. #6079. — Введение возможности ограничить время, затрачиваемое на выбор ожидающих транзакций во время создания блоков, используя новую экспериментальную опцию Xblock-txs-selection-max-time в сетях PoS и PoW (по умолчанию установлено значение 5000 мс) или Xpoa-block-txs-selection-max-time в сетях PoA (по умолчанию 75% от минимального времени блока) #6044. — Удалить LowestInvalidNonceCache из устаревшего пула транзакций, чтобы сделать его более дружественным к частным сетям #6148. — Оптимизация: удалить leftPad при захвате стека перед и после выполнения кадра #6102.

Исправления ошибок

— Обновите netty для устранения CVE-2023-44487, CVE-2023-34462 #6100. — Обновите grpc для устранения CVE-2023-32731, CVE-2023-33953, CVE-2023-44487, CVE-2023-4785 #6100. — Исправьте расчёт газа для BLOB в эталонных тестах #6107. — Ограничьте объём памяти, используемой при обработке недействительных блоков #6138.


Скачать ссылки

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.2/besu-23.10.2.zip / sha256: 597ab71898d379180106baf24878239ed49acefea5772344fd359b0ff13fe19f

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.2/besu-23.10.2.tar.gz / sha256: 255818a5c6067a38aa8b565d8f32a49a172a7536a1d370673bbb75f548263c2c

23.10.1

Дополнения и улучшения

— Новая опция --tx-pool-priority-senders для указания списка отправителей, что приводит к приоритезации любых транзакций, отправленных этими отправителями из любого источника. Бесу 23.10.1

Кэш последних n блоков с использованием нового флага Бесу --cache-last-blocks=n.

Оптимизация производительности RPC метода eth_feeHistory.

Ведение журнала сводки плагинов на уровне информации как часть обзора конфигурации.

Улучшения многоуровневой памяти пула транзакций.

Обновление Bouncy Castle до версии 1.76 и принудительное использование варианта jdk18on.

Добавление поддержки GraphQL для новых полей в Cancun.

Добавление новых параметров конфигурации в EVM Fluent APIs.

Устаревания

Флаг --tx-pool-disable-locals устарел, его следует заменить на --tx-pool-no-local-priority, семантических изменений нет, только переименование.

Исправления ошибок

Исправление регрессии с инструментом t8n.

Исправление EOF и EIP-4788 регрессий в эталонных тестах.

Ссылки для скачивания

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.1/besu-23.10.1.tar.gz / sha256: e27645f345583f3ee447e5418302382c6f8335d2da8707bdd20033aabd86ce4c

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.1/besu-23.10.1.zip / sha256: fb173acb93c72fbb74a6542051691ca2d3d5f54ea2f51026467a512f3a22106b

23.10.0

Многоуровневый пул транзакций: новая реализация пула по умолчанию

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

Переход на многоуровневый пул транзакций

Если вы не указываете никаких параметров txpool, то можете пропустить этот раздел. Если вы настроили txpool с помощью одного из следующих параметров: tx-pool-retention-hours, tx-pool-limit-by-account-percentage или tx-pool-max-size, то вам необходимо обновить конфигурацию, как описано ниже:

tx-pool-retention-hours: просто удалите его, так как он не применим в многоуровневом txpool; старые транзакции в конечном итоге истекут, когда кэш памяти будет заполнен.

tx-pool-limit-by-account-percentage: замените его на tx-pool-max-future-by-sender, который определяет максимальное количество последовательных транзакций одного отправителя, хранящихся в txpool; по умолчанию это 200.

tx-pool-max-size: многоуровневый txpool не ограничен максимальным количеством транзакций, а оценивается по размеру занимаемой памяти, поэтому вам нужно удалить эту опцию и настроить максимальный объём памяти с помощью новой опции tx-pool-layer-max-capacity, как описано ниже.

Вы всё ещё можете отказаться от многоуровневого txpool, установив tx-pool=legacy в файле конфигурации или через аргумент cli, но имейте в виду, что реализация Legacy скоро будет устаревшей, поэтому начните тестировать новую реализацию.

Настройка многоуровневого пула транзакций

По умолчанию txpool настроен для использования в основной сети, но если вы используете частные сети или хотите настроить его иначе, вот новые параметры:

tx-pool-max-future-by-sender: укажите максимальное количество последовательных транзакций одного отправителя, которые будут храниться в txpool; по умолчанию — 200; увеличьте его, чтобы позволить одному отправителю разместить больше транзакций в одном блоке. Для частных сетей его можно безопасно установить в сотни или тысячи, если вы хотите сохранить будущие транзакции (с большими пробелами в номерах) в пуле.

tx-pool-layer-max-capacity: установите максимальный объём... Память в байтах, которую может занимать один слой с ограниченным объёмом памяти, по умолчанию составляет 12,5 МБ.

Следует учитывать, что существует два слоя с ограниченным объёмом памяти, поэтому ожидаемое потребление памяти вдвое превышает значение, указанное этим параметром, то есть по умолчанию — 25 МБ. Увеличьте это значение, если у вас есть свободная оперативная память и скорость выселения для вашей сети высока.

  • Примечание: используемая память txpool является приблизительной оценкой, мы работаем над тем, чтобы она всегда была более точной.

Изменения

— Удалена поддержка сети Kotti (ETC) #5816.

— Реализация многоуровневого пула транзакций теперь стабильна и включена по умолчанию, поэтому были внесены следующие изменения в экспериментальные параметры [#5772]: — --Xlayered-tx-pool больше не используется, для выбора реализации используйте новый параметр --tx-pool со значениями layered (по умолчанию) или legacy. — Параметры --Xlayered-tx-pool-layer-max-capacity, --Xlayered-tx-pool-max-prioritized и --Xlayered-tx-pool-max-future-by-sender просто теряют префикс Xlayered-, но сохраняют то же поведение.

Дополнения и улучшения

— Добавлен доступ к неизменяемому представлению мира для запуска/завершения транзакционных хуков в API трассировки [#5836].

— Многоуровневая реализация пула транзакций теперь стабильна и включена по умолчанию. Если вы всё ещё хотите использовать устаревшую реализацию, используйте --tx-pool=legacy. По умолчанию новый пул транзакций ограничен использованием 25 МБ памяти, этот лимит можно увеличить с помощью параметров --layered-tx-pool-layer-max-capacity [#5772].

— Настройте G1GC для уменьшения объёма памяти Besu, и новые сценарии запуска besu-untuned для работы без каких-либо конкретных флагов G1GC [#5879].

— Сократите время отклика engine_forkchoiceUpdatedV?, асинхронно обрабатывая события добавления блоков в пул транзакций [#5909].

Исправления ошибок

— Не создавайте игнорируемое хранилище при отмене команды storage-variables [#5830].

— Исправьте ошибки дублирования ключей в EthScheduler-Transactions [#5857].

— Не помещайте управляющие символы, экранированные или иным образом, в трассировку стека t8n [#5910].

Ссылки для скачивания

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.0/besu-23.10.0.tar.gz / sha256: 3c75f3792bfdb0892705b378f0b8bfc14ef6cecf1d8afe711d8d8687ed6687cf

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.10.0/besu-23.10.0.zip / sha256: d5dafff4c3cbf104bf75b34a9f108dcdd7b08d2759de75ec65cd997f38f52866

23.7.3

Дополнения и улучшения

— Обновите конфигурацию Holešky для повторного запуска [#5890].

Ссылки для скачивания

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.7.3/besu-23.7.3.tar.gz / sha256: c12ca6a9861557e0bf8f27076f8c8afcce6f1564687e5f02bfdc96c2b18846ff

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.7.3/besu-23.7.3.zip / sha256: 136596454f647c706130e3e2983bdbb4a1cbfaf2bbf6e999466754f9213c11f6

23.7.2

Дополнения и улучшения

— Добавьте новые методы в OperationTracer для захвата контекстов входа/выхода [#5756].

— Добавьте Holešky в качестве предопределённого имени сети [#5797].

Изменения

— Добавляйте ABI-декодированный повод возврата к ответам eth_call и eth_estimateGas [#5705].

Дополнения и улучшения

— Добавьте недостающие методы в интерфейс Transaction [#5732].

— Добавьте подкоманду benchmark в... evmtool

JSON output теперь по умолчанию компактный. Это можно переопределить с помощью нового параметра CLI --json-pretty-print-enabled. (#5766)

Новый метод JSON-RPC eth_getBlockReceipts для получения всех квитанций транзакций для блока за один вызов. (#5771)

Добавьте новые методы в OperationTracer для захвата контекстов входа/выхода. (#5756)

Исправления ошибок

Функции разрешения смарт-контрактов работают с лондонским форком. (#5727)

Добавить тип в PendingTransactionDetail, исправить eth_subscribe. (#5729)

Режим «run» EvmTool не отражал контракты, созданные в транзакции. (#5755)

Исправление проблемы с синхронизацией снимков с лесом на этапе восстановления. (#5776)

Ссылки для скачивания

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.7.2/besu-23.7.2.tar.gz / sha256: f74b32c1a343cbad90a88aa59276b4c5eefea4643ee542aba2bbf898f85ae242

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.7.2/besu-23.7.2.zip / sha256: a233c83591fc277e3d1530c84bb5ea896abad717d796b5e3b856c79199132b75

23.7.1

Критические изменения

Удалён устаревший интерфейс разрешений GoQuorum. (#5607)

Поддержка версии 0 базы данных удалена, поскольку она больше не используется активными узлами. (#5698)

Дополнения и улучшения

Теперь бинарные файлы запуска evmtool поставляются как часть стандартного дистрибутива. (#5701)

EvmTool теперь выполняет тесты execution-spec-tests через t8n и b11r. Дополнительные инструкции см. в файле README в EvmTool.

Улучшено управление жизненным циклом пула транзакций. (#5634)

Добавлены точки расширения в AbstractCreateOperation для библиотек EVM, чтобы реагировать на создание контрактов. (#5656)

Обновление до Tuweni 2.4.2. (#5684)

Разделение поля данных от Enum JsonRpcError путём создания нового перечисления RpcErrorType. (#5629)

Обновление Bouncycastle до версии 1.75. (#5675)

Расширение OperationTracer новыми методами. (#5662)

Eip 6780 selfdestruct. (#5430)

Добавление нового debug_getRawTransaction в DEBUG engine. (#5635)

Исправлены ошибки

Использование конфигурации узла для определения, разрешены ли URL-адреса enode в вызовах admin_addPeer и admin_removePeer. (#5584)

Согласование реализации Eth/68 NewPooledTransactionHashes с другими клиентами, использование беззнакового int для кодирования размера. (#5640)

Сбой при запуске при включении многоуровневого txpool до завершения начальной синхронизации. (#5636)

Удаление предупреждений об опциях майнера, если изменение не использует алгоритм консенсуса Ethash. (#5669)

Исправлена утечка ссылок на ожидающие транзакции. (#5693)

Решена проблема с производительностью, наблюдаемая при тестировании импорта. (#5734)

Обновлены собственные библиотеки, которые имеют имена модулей, совместимые с JPMS. (#5749)

Ссылки для скачивания

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/23.7.1/besu-23.7.1.tar.gz / sha256: 85dce66c2dbd21b4e5d3310770434dd373018a046b78d5037f6d4955256793cd В запросе скорее всего текст технической направленности из области разработки и тестирования программного обеспечения. Основной язык текста запроса — английский.

  1. Early access — layered transaction pool implementation.
  2. New RPC method debug_getRawReceipts.
  3. Add TrieLogFactory plugin support.
  4. Ignore min-block-occupancy-ratio option when on PoS networks, since in some cases, it prevents to have full blocks even if enough transactions are present.

Bug Fixes

  1. Fix eth_feeHistory response for the case in which blockCount is higher than highestBlock requested.
  2. Fix Besu Docker image failing to start due to NoClassDefFoundError with org.xerial.snappy.Snappy library.

Download Links https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.4.1/besu-23.4.1.tar.gz / sha256: 49d3a7a069cae307497093d834f873ce7804a46dd59207d5e8321459532d318e https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.4.1/besu-23.4.1.zip / sha256: 1d82ed83a816968aa9366d9310b275ca6438100f5d3eb1ec03d3474b2a5f5e76

23.4.0

Breaking Changes

  1. In evmtool (an offline EVM executor tool principally used for reference tests), the --prestate and --genesis options no longer parse genesis files containing IBFT, QBFT, and Clique network definitions. The same genesis files will work with those json entries removed.
  2. In --ethstats, if the port is not specified in the URI, it will default to 443 and 80 for ssl and non-ssl connections respectively instead of 3000.
  3. Remove IBFT 1.0 feature.
  4. Remove GoQuorum-compatible privacy feature.
  5. Remove launcher command line utility.
  6. Remove deprecated tx-pool-future-max-by-account option, see instead: tx-pool-limit-by-account-percentage.
  7. Default configuration for the deprecated ECIP-1049 network has been removed from the CLI network list.
  8. Besu now requires glibc 2.32 or later to run. Ubuntu 20.04 users will need to update to a newer version of Ubuntu, 22.04 or later to run Besu.

Additions and Improvements

  1. An alternate build target for the EVM using GraalVM AOT compilation was added. To generate the binary install and use GraalVM 23.3.r17 or higher and run ./gradlew nativeCompile. The binary will be located in ethereum/evmtool/build/native/nativeCompile.
  2. Upgrade RocksDB version from 7.7.3 to 8.0.0. Besu Team contributed to this release to make disabling checksum verification work.
  3. Log an error with stacktrace when RPC responds with internal error.
  4. --ethstats-cacert to specify root CA of ethstats server (useful for non-production environments).
  5. Update most dependencies to latest version.
  6. If jemalloc is used, print its version in the configuration overview.
  7. Add metrics for accounts and storage reads (Flat database vs Merkle Patricia Trie).
  8. Offload LogBloom cache generation to computation executor, to avoid interfere with other scheduled tasks.
  9. Reference tests are upgraded to use v12.1 of the ethereum tests.
  10. Add new sepolia bootnodes, which should improve peering in the testnet. 23.1.3 — Nimbus Hotfix

Это обновление настоятельно рекомендуется для всех, кто использует Nimbus с Besu. Из-за способа, которым Nimbus отправляет данные запроса, это может привести к пропущенному предложению блока при определённых обстоятельствах.

Исправления ошибок:

  • Добавить вывод средств в расчёт payloadId, чтобы избежать коллизий #5321.

Ссылки для скачивания: https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.3/besu-23.1.3.tar.gz / sha256: 36898932a7535c4d126c1980443b33c9a4971f9354112992a18ee134c1777aa3

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.3/besu-23.1.3.zip / sha256: adb3b17e45217f86a56f07f09faba2e5d8a0eb8a585ad5307696d6cc58ee2f73

23.1.2

Это обновление совместимо с основной сетью Shanghai/Capella и рекомендуется всем пользователям основной сети.

Изменения:

  • Запланировать форк Shanghai (Shapella) для основной сети #5230.
  • Увеличить значение по умолчанию с 1000 до 5000 для --rpc-max-logs-range #5209.
  • Рефакторинг Bonsai-safe #5123.
  • Безопасное отслеживание #5197.

Исправление ошибок:

  • Сохранять состояние обратной синхронизации для поддержки возобновления работы после перезапуска #5182.

Ссылки для скачивания: https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.2/besu-23.1.2.tar.gz / sha256: 3d3a709a3aab993a0801b412a4719d74e319f942ddc13fb0f30b3c4a54d12538

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.2/besu-23.1.2.zip / sha256: 2a9ff091cb4349fc23625a52089400bb6529a831eb22d15d0221cb27039ab203

23.1.1

Это обновление требуется для обновления Goerli Shanghai/Capella. Рекомендуется для всех пользователей Mainnet. Если вы используете Besu на Goerli, обновитесь до версии 23.1.1. Если ранее вы использовали версию 23.1.1-RC1, протестируйте версию 23.1.1 на Goerli.

Изменения, нарушающие работу

Дополнения и улучшения

  • Поддержка Shanghai в Sepolia (https://github.com/hyperledger/besu/pull/5088).
  • Реализация engine_getPayloadBodiesByRangeV1 и engine_getPayloadBodiesByHashV1 (https://github.com/hyperledger/besu/pull/4980).
  • Ожидание перед повторным созданием блока PoS, если повторение занимает меньше настраиваемой продолжительности (https://github.com/hyperledger/besu/pull/5048).
  • Разрешение другим пользователям читать каталог /opt/besu при использовании Docker (https://github.com/hyperledger/besu/pull/5092).
  • Неверные параметры — добавление некоторых деталей ошибки (#5066).
  • Добавлена опция --kzg-trusted-setup для передачи пользовательского файла настройки для пользовательских сетей или для переопределения стандартного файла для именованных сетей (#5084).
  • Учёт газа для EIP-4844 (#4992).
  • Конфигурации Goerli для Shapella (#5151).

Исправления ошибок

  • Исправление расчёта значения блока engine_getPayloadV2 (#5040).
  • Перенос проверки длины кода инициализации перед проверкой баланса (#5077).
  • Решение проблем параллелизма с eth_call (#5179).

Ссылки для скачивания

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.1/besu-23.1.1.tar.gz / sha256: 11c3e5cdbc06df16a690e7ee9f98eefa46848f9fa280824b6e4c896d88f6b975 https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.1/besu-23.1.1.zip / sha256: afcf852f193adb8e82d187aa4f02e4669f12cc680270624d37101b94cf37adec

23.1.1-RC1

Sepolia Shanghai Release aka Sepolia Shapella aka Shapolia

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

Besu 23.1.1-RC1 — это обязательное обновление для пользователей Sepolia.

Запуск хардфорка Sepolia Shanghai запланирован на: вторник, 28 февраля 2023 года, 04:04:48 UTC.


Этот релиз включает всё из 23.1.0 и дополнительно следующее:

Дополнения и улучшения

Исправления ошибок

Ссылки для скачивания

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.1-RC1/besu-23.1.1-RC1.tar.gz / sha256: 82cff41f3eace02006b0e670605848e0e77e045892f8fa9aad66cbd84a88221e https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.1-RC1/besu-23.1.1-RC1.zip / sha256: 469c8d6a8ca9d78ee111ff1128d00bf3bcddacbf5b800ef6047717a2da0cc21d

23.1.0

Besu 23.1.0 рекомендуется для обновления пользователям основной сети. Благодарим вас за терпение, пока мы работали над этим квартальным выпуском.

Это довольно большой выпуск с некоторыми изменениями, поэтому перед обновлением любых экземпляров Besu внимательно прочитайте эти примечания. Мы включаем переход на Java 17 LTS. Чтобы собрать и запустить Besu, убедитесь, что у вас есть Java 17 на хост-машине. Кроме того, существует множество изменений соответствия спецификациям, которые изменяют существующие форматы, поэтому проверьте конкретные обновления RPC. Наконец, этот выпуск формализует уведомление об устаревании режимов конфиденциальности GoQuorum и IBFT1.0 в Besu. Они будут удалены в серии 23.4, если не указано иное. Изменения в Besu 23.1.0

В области разработки и тестирования программного обеспечения произошли изменения, связанные с Besu.

  • Внесены улучшения в производительность выполнения и исправления дефектов в Bonsai Storage.
  • Добавлена возможность обнаружения ошибок и автоматического восстановления для узлов, которые сталкиваются с проблемами состояния. Это должно поддерживать узлы в рабочем состоянии и проверять их, что ранее требовало повторной синхронизации.

Примечание: версия 23.1.0 не готова к использованию в Shanghai. Если вы планируете тестировать Besu на долгоживущих тестовых сетях, таких как Zhejiang, следуйте инструкциям здесь. Скоро мы поделимся дополнительной информацией о наших официальных релизах для Shanghai.

Критические изменения:

  1. Сервис JsonRpc http теперь возвращает ошибку -32602 (неверные параметры) с кодом статуса HTTP 200.
  2. Для сборки и запуска Besu требуется минимальная версия Java 17 и выше.
  3. Модуль PKCS11 с nss (PKCS11 на основе HSM может использоваться в DevP2P TLS и QBFT PKI) не работает с ключами RSA в Java 17. SoftHSM протестирован вручную и работает. Другие модули PKCS11 HSM не тестировались. Соответствующие модульные и приёмочные тесты обновлены для использования закрытых ключей EC вместо ключей RSA.
  4. Параметр eth_feeHistory blockCount теперь принимает шестнадцатеричную строку (ранее принималось только целое число).
  5. Убраны настройки по умолчанию для устаревших сетей Ropsten, Kiln, Shandong и Astor из списка сетей CLI. Эти сети доступны, но потребуется пользовательская конфигурация генезиса.
  6. Совместимость с GoQuorum-privacy устарела и будет удалена в версии 23.4.
  7. IBFT 1.0 устарел и будет удалён в версии 23.4.
  8. Оптимизировано время выполнения операции SSTORE (запоминается текущее и исходное значение).

Дополнения и улучшения:

  1. По умолчанию RPC пакетный запрос равен 1024.
  2. Добавлен новый параметр CLI для ограничения количества запросов в одном пакетном запросе RPC.
  3. Поддержка нового кода операции DATAHASH в рамках EIP-4844.
  4. Отправка только объявления хэша для типа транзакции blob.
  5. Добавлено поле excess_data_gas в заголовок блока.
  6. Добавлено поле max_fee_per_data_gas в транзакцию.
  7. Добавлена опция в инструмент evm CLI для разрешения выполнения кода на определённых форках.
  8. Улучшена производительность get account за счёт использования кэша обновления состояния мира.
  9. Добавлены новые KZG precompile и опция для переопределения используемой доверенной настройки.
  10. Реализован метод eth_createAccessList RPC.
  11. Обновлены контрольные тесты до версии v11.3.
  12. Добавлены методы RPC DebugGetRawBlock и DebugGetRawHeader.
  13. Для сборки и запуска Besu требуется минимальная версия Java 17 и выше.
  14. Добавлен механизм автоматического восстановления worldstate.
  15. Поддержка EIP-4895 — снятие средств для форка Shanghai.
  16. Улучшено выполнение SLOAD и SSTORE за счёт кэширования пустых слотов.
  17. Методы RPC, ищущие блок по хешу, теперь возвращают ответ об ошибке, если блок не найден.
  18. Добавлена поддержка строк safe и finalized для методов RPC с использованием параметра defaultBlock.
  19. Добавлена опция ведения журнала состояния после выполнения в инструменте EVM.
  20. Доступ к списку добавлен в транзакцию. Call Object [#4802]
  • Добавить поддержку временных меток форков, включая форки shanghaiTime и cancunTime [#4743].

  • Оптимизация: запоминать размер транзакции и хэш одновременно [#4812].

  • Добавить функцию обрезки данных цепочки с тремя экспериментальными параметрами командной строки: --Xchain-pruning-enabled, --Xchain-pruning-blocks-retained и --Xchain-pruning-frequency [#4686].

    Обратите внимание, что обрезка цепочки скрыта и по умолчанию отключена. Как только вы решите включить обрезку цепочки, в базу данных будет добавлено новое семейство столбцов, и вы не сможете вернуться к предыдущей версии Besu.

Исправления ошибок

  • Устранение последствий устаревшего хранилища кода bonsai, приводящего к проблемам с ролловером журнала при воссоздании контракта [#4906].

  • Обеспечение подписки на последнее кэшированное многоуровневое состояние мира для хранилища, решение проблемы с вызовами RPC с использованием параметра «latest» [#5076].

  • Исправление ошибок сегментации при усечении состояния мира, запуске синхронизации моментальных снимков [#4786].

  • Решение проблемы несоответствия состояний мира при неудачном обновлении форка выбора [#4862].

Ссылки для скачивания

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.0/besu-23.1.0.tar.gz / sha256: 9081da04d47c3ff0a6ecc2256d353c7a02212f9b46f2c867a9365e18026c3a6e

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.0/besu-23.1.0.zip / sha256: e037f5c8f976150af40403311d1c81018f4c3dfbef0ad33324d8c3e708d1fdca

23.1.0-RC1

Изменения, нарушающие работу

— Из списка командной строки CLI удалены конфигурации по умолчанию для устаревших сетей Ropsten, Kiln, Shandong и Astor. В настоящее время доступ к этим сетям возможен, но потребуется предоставленная пользователем конфигурация генезиса [#4869].

Дополнения и улучшения

— Повышение производительности SLOAD и SSTORE за счёт кэширования пустых слотов [#4874].

— Методы RPC, которые ищут блок по хэшу, теперь будут возвращать ответ об ошибке, если блок не найден [#4582].

— Добавлена поддержка строк safe и finalized для методов RPC с использованием параметра defaultBlock [#4902].

Исправления ошибок

Ссылки для скачивания

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.0-RC1/besu-23.1.0-RC1.tar.gz / sha256: 30906891e528b3b4e3ce8e2313550a1da066b31ea10b05456dd0ad026792b46d

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/23.1.0-RC1/besu-23.1.0-RC1.zip / sha256: 9067d1929079ae4a7c165e6f1e2bae08834939ed191f976d26544dc93352c306

23.1.0-beta

Изменения, нарушающие работу

— Совместимость с GoQuorum в плане конфиденциальности устарела и будет удалена в версии 23.4.

— IBFT 1.0 устарел и будет удалён в версии 23.4.

— Оптимизация времени выполнения операции SSTORE (запоминание текущего и исходного значения) [#4836].

Дополнения и улучшения

— Опция ведения журнала состояния после выполнения в EVM Tool [#4709].

— Доступ к списку транзакций для объекта вызова [#4802].

— Поддержка временных меток форков, включая shanghaiTime и cancunTime [#4743].

— Оптимизация: запоминание размера транзакции и хэша одновременно [#4812].

— Функция обрезки данных цепочки с тремя экспериментальными параметрами командной строки: --Xchain-pruning-enabled, --Xchain-pruning-blocks-retained и --Xchain-pruning-frequency [#4686].

Обратите внимание, что функция обрезки цепочки скрыта и отключена по умолчанию. После включения функции обрезки цепочки в базе данных появится новое семейство столбцов и возврат к предыдущей версии Besu станет невозможен.

Исправления ошибок

— Исправление ошибок сегментации при усечении состояния мира. Снап-синхронизация начинается

Исправление несоответствия worldstate при неудачном forkchoiceUpdate

Скачать ссылки

22.10.3

Критические изменения

  • Добавлена опция CLI --rpc-max-logs-range, позволяющая ограничить количество блоков, запрашиваемых через eth_getLogs RPC API. Значение по умолчанию: 1000.
  • Вариант docker с использованием GraalVM больше не соответствует требованиям к производительности для Ethereum Mainnet. Вместо него рекомендуются варианты openjdk-11 и openjdk-latest.

Дополнения и улучшения

  • Реализован подпротокол Eth/68.
  • Увеличена скорость выполнения и исполнения операций modexp gas.
  • Добавлены экспериментальные опции CLI --Xeth-capability-max и --Xeth-capability-min для указания диапазона возможностей, поддерживаемых протоколом Eth.
  • В EVMTool установлено значение по умолчанию для кривой, как это делается в производственных операциях.

Исправления ошибок

  • Исправлен формат ключа хранилища для eth_getProof, чтобы он соответствовал спецификации EIP-1474.

Скачать ссылки

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.3/besu-22.10.3.tar.gz / sha256: 7213f9445a84a196e94ae1877c6fdb1e51d37bfb19615da02ef5121d4f40e38c https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.3/besu-22.10.3.zip / sha256: 0bf6bc98e01b0c1045f1b7d841a390c575bc5203c2a4e543d922fbc1ea0d3d5d

22.10.2

Это релиз с исправлением ошибок, который решает проблему состояния гонки, приводящую к сбоям, представленную в выпуске 22.10.1.

Исправления ошибок

  • Исправлено асинхронное выполнение операций со снимками состояний мира.

Скачать ссылки

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.2/besu-22.10.2.tar.gz / sha256: cdb36141e3cba6379d35016e0a2de2edba579d4786124b5f7257b1e4a68867a2 https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.2/besu-22.10.2.zip / sha256: 4c9208f684762670cb4f2c6ebfb6930e05e339a7c3c586fe8caa9f26462830aa

22.10.1

Критические изменения

  • Поля publicKey и raw удалены из объекта результата RPC API Transaction.

Дополнения и улучшения

  • Объяснена и улучшена проверка цены для транзакций в Лондоне и локальных транзакций во время выбора блока предложения.
  • Поддержка эфемерной тестовой сети Шаньдун для тестирования EOF.
  • Улучшена производительность обработки блоков за счёт параллелизации некоторых частей на этапе «фиксации».
  • Обновлена версия RocksDB с 7.6.0 до 7.7.3.
  • Добавлены новые конечные точки RPC debug_setHead и debug_replayBlock.
  • Обновлено OpenTelemetry до версии 1.19.0.
  • Реализован подпротокол Eth/67.
  • Улучшен UX для обратной синхронизации журнала.
  • Включены фильтры Bloom в RocksDB для улучшения производительности чтения.
  • Обратная синхронизация: используйте переключение на повторную попытку при получении данных от пиров.
  • Шанхайская реализация EIP-3651 Warm coinbase.
  • Шанхайская реализация EIP-3855 Push0.
  • Шанхайская реализация EIP-3540 и EIP-3670 Ethereum Object Format и Code Validation.
  • Удалены некоторые операторы журнала, которые поддерживают некоторые объекты в куче в течение длительного времени, чтобы уменьшить объём памяти, необходимый во время начальной синхронизации. Перевод текста на русский язык:

#4705

  • Добавить поле type в объект Transaction receipt (eth_getTransactionReceipt) #4505.
  • Выводить обзор конфигурации и системной информации при запуске #4451.
  • Не отправлять новые полезные данные для обратной синхронизации, если идёт начальная синхронизация #4720.
  • Улучшить способ проверки ограничения комиссии за транзакции на лондонском рынке комиссий, чтобы он не зависел от временных условий сети #4598.
  • Предварительно загружать и кэшировать данные учётных записей и хранилища из RocksDB для повышения производительности #4737.

Исправления ошибок

  • Восстановить обновление головы цепи и финализированного блока во время обратной синхронизации #4718.

Ссылки для скачивания

https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.1/besu-22.10.1.tar.gz / sha256: b6757b9fc69b782cdabb95b1e784d31b1effcc2e25c6b198b2f9d6b3786c7a8a. https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.10.1/besu-22.10.1.zip / sha256: 0dbee534620c7cc0fac0596e6df0c7f8a74be9df9cecd9d4f1407016f30fb9a1.

22.10.0

Критические изменения

  • Внутренние и интерфейсные API, связанные с хранилищем, перешли с UInt256 на Bytes32 #4562.
  • Поддержка гибких групп конфиденциальности (ранний доступ) для шифратора Tessera EC (контракты изменены) #4282:
    • До этого изменения для открытых ключей анклава использовался тип bytes32, поддерживающий только шифровальщики с открытыми ключами такой длины (например, стандартный NaCl).
    • Для шифровальщика EC длина закодированного открытого ключа составляет 91.
  • Убрана опция --tx-pool-hashes-max-size (устаревшая с версии 22.1.3) #4518.
  • Убрана опция --Xmerge-support (устаревшая с версии 22.4.2) #4518.
  • Критические изменения API в интерфейсе OperationTracer для улучшения работы.
    • Метод traceExecution заменён на методы tracePreExecution и tracePostExecution, вызываемые непосредственно перед и сразу после выполнения операции.
    • Примеры миграции см. в DebugOperationTracer и StandardJsonTracer.

Дополнения и улучшения

  • Обновлена библиотека jackson-databind до версии 2.13.4.2 для устранения CVE-2022-42003.
  • Обновление функции snapsync для предотвращения перезапуска загрузки состояния мира с нуля при перезапуске Besu #4381.
  • Добавлена изоляция моментальных снимков состояния мира для повышения стабильности бонсай (--Xbonsai-use-snapshots=true) #4351.
  • Уменьшено количество исключений времени выполнения (SecurityModuleException) и ненужных выполнений во время рукопожатия ECIES путём попытки сначала расшифровать сообщения в формате EIP-8 #4508.
  • Улучшена обработка RLP нулевой строки как 0x80 #4283 #4388.
  • Повышен уровень детализации в сообщениях журнала параметров JSON-RPC #4510.
  • Новые нестабильные параметры конфигурации для установки максимального времени, в миллисекундах, которое разрешено выполнять заданиям по созданию блоков PoS #4519.
  • Настройка пулов потоков EthScheduler для избежания создания слишком большого количества потоков #4529.
  • Снимки RocksDB на основе состояний мира и добавление интерфейсов Snapshot в плагин-API #4409.
  • Постоянная попытка построить лучшие предложения блоков до истечения времени ожидания или вызова GetPayload #4516.
  • Обновление версии базы данных RocksDB с 6.29.5 до 7.6.0 #4517.
  • Избегание подключения к себе при использовании статических узлов. Создание заданий на блокирование разрешено к выполнению (#4519).

Настройте пулы потоков EthScheduler, чтобы избежать повторного создания слишком большого количества потоков (#4529).

Добавьте интерфейсы моментальных снимков в RocksDB на основе состояний мира и плагин-API (#4409).

Постоянно пытайтесь создавать лучшие предложения блоков до истечения времени ожидания или вызова GetPayload (#4516).

Обновите версию базы данных RocksDB с 6.29.5 до 7.6.0 (#4517).

Избегайте подключения к себе при использовании статических узлов (#4521).

Производительность EVM увеличилась на 20–100 % в зависимости от особенностей контракта (#4540).

Улучшите производительность метода calculateRootHash во время обработки блоков (#4568).

Исправления ошибок:

  • Исправляет выдачу событий blockadded при перемотке во время реорганизации. Исправление для #4495.
  • Всегда возвращайте тип транзакции для ожидающих транзакций (#4364).
  • Избегайте циклической ссылки при печати EngineExchangeTransitionConfigurationParameter (#4357).
  • Исправляет обработку блока как плохого при внутренней ошибке (#4512).
  • В GraphQL обновите анализ скаляров, чтобы он был дружественным к переменным (#4522).
  • Инициируйте соединение с поддерживаемыми узлами вскоре после запуска (#4469).
  • Обновите apache-commons-text до версии 1.10.0 для устранения CVE-2022-42889 (#4542).

Ссылки для скачивания:

22.10.0-RC1

Дополнения и улучшения:

  • Приведите GraphQL в соответствие со спецификациями execution-api (#4112).
  • Рефакторинг непроверенного события forkchoice (#4487).
  • Улучшение UX начальных журналов синхронизации, перенос нерелевантных журналов на уровень отладки (#4486).
  • Оптимизация селектора поворотных блоков в сетях PoS (#4488).
  • Оптимизируйте синхронизацию Snap в сетях PoS (#4462).

Исправлены ошибки.

Ссылки для скачивания: https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.10.0-RC1/besu-22.10.0-RC1.zip / sha256: 16fd47533aa2986491143e5f4a052c0aa4866ebfa415abbf3ca868e4fbeac6ce https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.10.0-RC1/besu-22.10.0-RC1.tar.gz / sha256: 48fd3480e4380580ed9187302be987e9eca2b445935ec6a509e7269898d8a4a8

22.7.7

Добавления и улучшения:

  • Настройте пулы потоков EthScheduler, чтобы избежать повторного создания слишком большого количества потоков (#4529).
  • Уменьшите количество исключений времени выполнения (SecurityModuleException) и ненужных выполнений во время рукопожатия ECIES, пытаясь сначала расшифровать сообщения в формате EIP-8 (#4508).
  • Переменная блока сохраняла слишком много памяти в ожидании завершения будущего (#4489).

Исправлены ошибки:

  • Исправлен некорректный анализ блока при внутренней ошибке (#4512).
  • Обновление appache-commons-text до версии 1.10.0 для решения проблемы CVE-2022-42889 (#4542).
  • В GraphQL обновите синтаксический анализ скаляра, чтобы сделать его дружественным к переменной (#4522).

Ссылки для скачивания: https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.7.7/besu-22.7.7.zip / sha256: 79b2b1518605603d8268f873f2576617ca8340d89c045e0eda6896f40defea0d https://hyperledger.jfrog.io/hyperledger/besu-binaries/besu/22.7.7/besu-22.7.7.tar.gz / sha256: 161c52ba9be8508767e80dbce796b4ad2cc5b649f7ed15387c6359d1e15753f6

22.7.6

Выпуск исправления ошибок. Из текста запроса:

of the 22.7.x series to address #4495 which could result in failed block proposals on merge networks.

Перевод:

из серии 22.7.х для решения проблемы #4495, которая может привести к неудачным предложениям блоков в объединённых сетях.

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

Besu 22.7.2 — рекомендуемый релиз для пользователей Merge и Mainnet. Besu 22.7.1 остаётся готовым к слиянию. Этот релиз обеспечивает дополнительную надёжность перед слиянием с некоторыми исправлениями и улучшениями в синхронизации, пиринге и логировании.

Дополнения и улучшения:

  • улучшенное управление jemalloc в сценарии запуска (#4237);
  • механизм повтора при получении транслируемого блока на всех узлах (#4271);
  • фильтрация отключённых узлов при поиске доступных узлов (#4269);
  • обновлённое значение по умолчанию fast-sync-min-peers после слияния (#4298);
  • регистрация импортированной информации о блоке после слияния (#4310);
  • выселение отправителя из хвоста списка транзакций (#4327);
  • ограничения будущих значений nonce отправителя транзакции (#4336);
  • появление панд в трёх фазах: чёрный медведь и белый медведь, которые готовятся? Они появятся, когда у вашего клиента будет настроена TTD (которая по умолчанию включена для mainnet), он будет синхронизирован и обрабатывать блоки Proof of Work. Во второй фазе они будут появляться при добавлении блока Terminal Total Difficulty в блокчейн. Окончательная форма Ethereum Panda появится при получении первого финализированного блока от Consensus Layer.

Исправления ошибок:

  • приём wit/80 от Nethermind (#4279);
  • корректное завершение работы исполнителя майнера, чтобы избежать ожидания 30 секунд при остановке (#4353).

Скачать:

Besu 22.7.1 — релиз, готовый к слиянию. Необходимое обновление для The Merge в основной сети Ethereum!

Дополнения и улучшения:

  • введение ограничения на увеличение репутационного балла (#4230);
  • добавление экспериментальной опции CLI для --Xp2p-peer-lower-bound (#4200);
  • улучшение механизма получения ожидающих блоков (#4227);
  • установка терминала общей сложности в основной сети (#4260).

Исправления ошибок:

  • исправление ошибки смещения на единицу для основного сетевого TTD fallback (#4223);
  • исправление ошибки смещения на единицу в AbstractRetryingPeerTask (#4254);
  • рефакторинг и исправление повторной попытки переключения узла при получении блока (#4256);
  • исправление кодирования ключа (короткий шестнадцатеричный код) в eth_getProof (#4261);
  • исправление для сетей после слияния fast-sync (#4224, #4276).

Скачать:

Besu 22.7.0

Дополнения и улучшения:

  • предупреждение об устаревании Ropsten, Rinkeby, Kiln. ### Исправления ошибок

  • Исправлена предыдущая известная проблема #3890 из RC3, требующая перезапуска после слияния для продолжения корректной обработки транзакций.

  • Прекращение создания трассировок стека, когда ответ на запрос «получить заголовки» содержит только заголовок начального диапазона (#4189).

  • Обновление Spotless до версии 6.8.0 (#4195).

  • Обновление Gradle до версии 7.5 (#4196).

Ссылки для скачивания

22.7.0-RC3

Известные проблемы и нерешённые вопросы:

  • Besu требует перезапуска после объединения для повторного включения удалённой обработки транзакций (#3890).

Дополнения и улучшения

  • API движка: изменение времени истечения срока действия токенов JWT до 60 секунд (#4168).
  • Слияние Sepolia mergeNetSplit (#4158).
  • Goerli TTD (#4160).
  • Несколько улучшений в логировании.

Исправления ошибок:

  • Разрешить устанавливать любое значение для baseFeePerGas в файле генезиса (#4177).
  • Исправление переполнения стека при поиске блока TTD (#4169).
  • Исправление проблемы с зависанием цепи (#4175).

Ссылки для скачивания:

22.7.0-RC2

Дополнения и улучшения:

  • Добавлять блок в список плохих блоков, если он не является потомком терминального блока (#4080).
  • Улучшения исключений обратной синхронизации (#4092).
  • Удалить проверки заголовков блоков во время обратной синхронизации, поскольку они всегда будут выполняться на этапе импорта блоков (#4098).
  • Оптимизация стратегии повторных попыток обратной синхронизации (#4095).
  • Поддержка библиотеки jemalloc для лучшего управления потреблением памяти rocksdb (#4126).
  • Изменения конфигурации rocksDB для повышения производительности (#4132).

Исправления ошибок:

  • Изменён максимальный размер сообщения в слое p2p с 10 МБ до 16,7 МБ для улучшения производительности пиринга (#4120).
  • Исправлены ошибки несоответствия родительского состояния корня при использовании режима хранения Bonsai (пожалуйста, сообщите, если вы столкнётесь с этой ошибкой в этой версии) (#4094).
  • Вышеупомянутые исправления, связанные с Bonsai, устранили ситуации, когда журнал событий не был проиндексирован должным образом (#3921).
  • Исправления, связанные с обратной синхронизацией и реорганизациями (#4097).
  • Синхронизация контрольных точек с более дружественными к объединению блоками контрольных точек (#4085).
  • Проверки, связанные с производительностью RocksDB и использованием памяти (#4128).
  • Исправлено параллельное выполнение RPC для повышения производительности RPC при большой нагрузке (#3959).
  • Исправлено поведение пиринга после удаления PoW в нашей логике взвешивания пиров (#4116).
  • Различные изменения в логировании для улучшения UX — возврат правильного последнего действительного хэша в случае плохого блока при Вызов методов движка.
  • Добавить правило заголовка блока PoS, чтобы проверить, что текущий блок более поздний, чем его родительский.
  • Исправлена проблема слоя журнала trie на bonsai во время реорганизации.
  • Исправить протокол перехода, чтобы он возвращал расписание до слияния при реорганизации до TTD.
  • Удалять хеш для синхронизации из очереди только в случае успешного выполнения шага синхронизации.
  • Процесс сборки успешно выполняется, даже если системный язык не английский.
  • Избегать запуска или остановки BlockPropagationManager более одного раза.

Ссылки для скачивания:

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.0-RC2/besu-22.7.0-RC2.tar.gz / sha256: befe15b893820c9c6451a74fd87b41f555ff28561494b3bebadd5da5c7ce25d3

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.0-RC2/besu-22.7.0-RC2.zip / sha256: d56c340f5982b882fbecca2697ca72a5bbefe0e978d2d4504211f012e2242a81

22.7.0-RC1

Дополнения и улучшения

  • Не требовать минимальной высоты блока при загрузке заголовков или блоков.
  • При PoS голова может быть обновлена только с помощью ForkchoiceUpdate.
  • Информация о версии доступна в метриках.
  • Добавить TTD и DNS в конфигурацию Sepolia.
  • Возвращать тип со значением 0x0 при сериализации устаревших транзакций.
  • Игнорировать ForkchoiceUpdate, если newHead является предком головы цепи.

Исправления ошибок

  • Устранена проблема с синхронизацией snapsync, которая иногда может блокировать шаг восстановления.
  • Поддержка бесплатных газовых сетей на лондонском рынке сборов.
  • Ограничить размер исходящих сообщений протокола eth subprotocol.
  • Устранена проблема несоответствия корневого состояния на bonsai, которая может иногда возникать.

Ссылки для скачивания:

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.0-RC1/besu-22.7.0-RC1.tar.gz / sha256: 60ad8b53402beb62c24ad791799d9cfe444623a58f6f6cf1d0728459cb641e63

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.7.0-RC1/besu-22.7.0-RC1.zip / sha256: 7acfb3a73382bf70f6337e83cb7e9e472b4e5a9da88c5ed2fbd9e82fcf2046dc

22.4.3

Дополнения и улучшения

  • [ЭКСПЕРИМЕНТАЛЬНО] Добавить синхронизацию контрольной точки --sync-mode="X_CHECKPOINT".
  • Поддерживать finalized и safe в качестве тегов для параметра блока в RPC API.
  • Добавлена проверка атрибутов полезной нагрузки в ForkchoiceUpdated.
  • Добавить поддержку хардфорка Gray Glacier.

Исправления ошибок

  • Псевдоним engine-rpc-port с прежним именем параметра rpc.

22.4.2

Дополнения и улучшения

  • Обновление API движка: заменить устаревший INVALID_TERMINAL_BLOCK на INVALID последний действительный хэш 0x0.
  • Объявить экспериментальный флаг слияния и флаг engine-rpc-enabled устаревшими.
  • Обновить зависимости besu-native до 0.5.0 для поддержки arm64 в Linux.
  • Обновите ropsten TTD до 100000000000000000000000.

Исправление ошибок

  • Остановить обратную синхронизацию, если достигнут генезисный блок.
  • Разрешить обратную синхронизацию для запроса заголовков обратно до последнего финализированного блока. Улучшения
  • Модульные тесты теперь выполняются с JUnit5.
  • Удалён объект Gas, заменён примитивом long.

Исправления ошибок

  • Flexible Privacy Precompile обрабатывает нулевой идентификатор полезной нагрузки.
  • Подкоманда blocks import генерирует исключение.

Ссылки для скачивания

22.1.3

Изменения, нарушающие работу

  • Удалён экспериментальный флаг для опций CLI bonsai tries —data-storage-format и —bonsai-maximum-back-layers-to-load.
  • Добавлена колонка семейства для обратной синхронизации. Обратите внимание, что это добавленное семейство колонок делает обновление односторонним. То есть после обновления базы данных до этой версии вы не сможете вернуться к предыдущей версии Besu.

Устаревшие функции

  • —tx-pool-hashes-max-size теперь устарела и больше не действует, будет удалена в будущем выпуске.

Дополнения и улучшения

  • Настройка параметра синхронизации транзакций для адаптации к трафику основной сети.
  • Улучшена поддержка eth/66.
  • Избегание повторной обработки удалённых транзакций, которые уже были замечены.
  • Обновлена зависимость jackson-databind.

Ссылки для скачивания

22.1.2

Дополнения и улучшения

  • Уровень исполнения (The Merge):
    • Специфические для выполнения RPC конечные точки.
    • Добавление аутентификации JWT к API Engine.
    • Поддержка спецификации kiln V2.1.
  • API отслеживания:
    • Новые методы API: trace_rawTransaction, trace_get, trace_callMany.
    • Добавлен revertReason в API отслеживания, включая: trace_transaction, trace_get, trace_call, trace_callMany и trace_rawTransaction.
  • Разрешение бенефициару майнинга переходить на определённые блоки для механизмов консенсуса ibft2 и qbft.
  • Возврат более подробной информации из интерфейса PrecompiledContract.

Исправление ошибок

  • Отклонение транзакций локального источника ниже минимальной цены на газ при отсутствии майнинга.
  • Исправлена ошибка с адресом контракта, предоставленным debug_accountAt.

Ссылки для скачивания

22.1.1

Дополнения и улучшения

  • Разрешить необязательные методы RPC, которые обходят аутентификацию.
  • Уровень выполнения (The Merge):
    • Расширение создания блоков и майнинга для поддержки The Merge.
    • Обратная синхронизация.
    • Расширить validateAndProcessBlock, чтобы возвращать сообщение об ошибке в случае сбоя, чтобы его можно было вернуть вызывающей стороне ExecutePayload API.
    • Сохранять данные. Текст запроса:

latest finalized block #2913

  • Add PostMergeContext, and stop syncing after the switch to PoS #3453
  • Add header validation rules needed to validate The Merge blocks #3454
  • Add core components: controller builder, protocol scheduler, coordinator, block creator and processor. #3461
  • Execution specific RPC endpoint #2914, #3350
  • QBFT consensus algorithm is production ready

Download Links

22.1.0

Breaking Changes

  • Plugin API: BlockHeader.getBaseFee() method now returns an optional Wei instead of an optional Long #3065
  • Removed deprecated hash variable protected volatile Hash hash; which was used for private transactions #3110

Перевод текста на русский язык:

Последний завершённый блок — #2913. — Добавить PostMergeContext и прекратить синхронизацию после перехода на PoS — #3453. — Добавить правила валидации заголовков для блоков The Merge — #3454. — Добавить основные компоненты: конструктор контроллеров, планировщик протоколов, координатор, создатель и обработчик блоков — #3461. — Конкретный RPC-интерфейс для выполнения — #2914, #3350. QBFT-алгоритм консенсуса готов к работе.

Ссылки для скачивания: — https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.1.1/besu-22.1.1.zip / SHA256 cfff79e19e5f9a184d0b62886990698b77d019a0745ea63b5f9373870518173e; — https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/22.1.1/besu-22.1.1.tar.gz / SHA256 51cc9d35215f977ac7338e5c611c60f225fd6a8c1c26f188e661624a039e83f3.

Версия 22.1.0:

Критические изменения

— Плагин API: метод BlockHeader.getBaseFee теперь возвращает необязательный Wei вместо необязательного Long — #3065. — Удалена устаревшая переменная hash protected volatile Hash hash;, которая использовалась для приватных транзакций — #3110. Перевод текста на русский язык:

Переменные, как описано в стандарте NO_COLOR (https://no-color.org/) #3085

  • Добавить RPC метод privx_findFlexiblePrivacyGroup, privx_findOnchainPrivacyGroup будет удалён в будущем релизе #3075.

  • Теперь отображается недопустимое значение, когда --bootnodes не может проанализировать элемент, чтобы было легче определить, какой параметр недопустим.

  • Добавление двух новых опций для возможности указать желаемую версию протокола TLS и наборы шифров Java #3105.

  • Реализует EIP-4399, чтобы перепрофилировать код операции DIFFICULTY после слияния в качестве источника энтропии из цепочки маяков #3081.

Исправления ошибок

  • Изменить базовый образ Docker с Debian Buster на Ubuntu 20.04 #3171, исправляет #3045.

Ссылка для скачивания

Этот релиз не рекомендуется для использования в производстве.

21.10.2

Дополнения и улучшения

  • Добавьте параметры обнаружения в файл генезиса #2944.

  • Добавьте подкоманду validate-config для выполнения базовой проверки синтаксиса конфигурации TOML #2994.

  • Обновлённые узлы Sepolia #3034, #3035.

Исправлены ошибки

  • Уменьшите вычисления сдвига до сдвигов, которые могут иметь фактический результат #3039.

  • Демон DNS Discovery не был запущен #3033.

Скачать ссылку

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

21.10.1

Добавления и улучшения

  • Добавьте сценарии автозаполнения CLI. #2854.

  • Поддержка PKCS11 хранилища ключей при создании блока PKI. #2865.

  • Оптимизация памяти EVM для операций MLOAD. #2917.

  • Обновите CircleCI OpenJDK docker image до версии 11.0.12. #2928.

  • Обновление JDK 11 до последней версии в образах Besu Docker. #2925.

  • Добавьте конфигурации тестовой сети Sepolia proof-of-work. #2920.

  • Разрешить настройку периода блока для IBFT2 и QBFT с использованием переходов. #2902.

  • Поддерживать двоичные сообщения (0x02) для веб-сокета. #2980.

Исправленные ошибки

  • Не изменяйте баланс отправителя, а установите плату за газ равной нулю при моделировании транзакции без принудительного применения проверок баланса. #2454.

  • Убедитесь, что блок генезиса имеет базовую плату по умолчанию, если лондон находится в блоке 0. #2920.

  • Исправляет условие выхода для загрузки BonsaiPersistedWorldState для родственного блока последнего сохранённого. #2967.

Ранний доступ к функциям

  • Включите плагины для предоставления пользовательских методов JSON-RPC / WebSocket. #1317.

Скачать ссылку

Этот релиз не рекомендуется для производства.

21.10.0

Дополнения и улучшения

  • EVM была выделена в отдельный модуль, подходящий для включения в качестве библиотеки. #2790.

  • Низкоуровневые улучшения производительности меняют наихудшую производительность EVM вдвое. #2796.

  • Перенос ExceptionalHaltReason из перечисления в интерфейс, позволяющий нижестоящим пользователям EVM добавлять новые исключительные причины остановки. #2810.

  • уменьшает потребность в анализе JUMPDEST через кэширование. #2607, #2821.

  • Добавляет поддержку пользовательского файла закрытого ключа для... Публичный экспорт ключей и команды публичного адреса экспорта ключей

Добавить сценарии автозаполнения в CLI.

Поддерживать PKCS11 keystore при создании PKI блока.

Поддержка ArrowGlacier hardfork.

Исправления ошибок

Разрешить указывать файл TOML с помощью переменной среды BESU_CONFIG_FILE.

Исправить ошибку, из-за которой частные контракты не могли вызывать публичные контракты, которые вызывали публичные контракты.

Улучшить условие выхода для загрузки BonsaiPersistedWorldState для родственного блока последнего сохранённого.

Устранить регрессию в bonsai getMutable, влияющую на быструю синхронизацию.

Регрессия в RC1, связанная с LogOperation и перезаписью памяти фрейма.

Позволить eth_call и eth_estimateGas принимать адрес контракта в качестве отправителя.

Ранний доступ к функциям

Включить плагины для предоставления пользовательских методов JSON-RPC / WebSocket.

Ссылка для скачивания Этот релиз не рекомендуется для использования в производстве. SHA256: 71374454753c2ee595f4f34dc6913f731818d50150accbc98088aace313c6935.

21.10.0-RC4

Дополнения и улучшения

Исправление ошибок Улучшение условия выхода для загрузки BonsaiPersistedWorldState для родственного блока последнего сохранённого. Устранение регрессии в bonsai getMutable, влияющей на быструю синхронизацию.

Ранний доступ к функциям

Ссылка для скачивания Этот релиз не рекомендуется для использования в производстве. SHA256: b16e15764b8bc06c5c3f9f19bc8b99fa48e7894aa5a6ccdad65da49bbf564793.

21.10.0-RC3

Исправление ошибок Регрессия в RC1, связанная с LogOperation и перезаписью памяти фрейма. Позволять eth_call и eth_estimateGas принимать адрес контракта в качестве отправителя. Исправлять проблемы параллелизма в Ethpeers.

Скачать Этот релиз не рекомендуется для использования в производстве. SHA256: 3d4857589336717bf5e4e5ef711b9a7f3bc46b49e1cf5b3b6574a00ccc6eda94.

21.10.0-RC1/RC2

Дополнения и улучшения Факторизовать EVM в отдельный модуль, подходящий для включения в виде библиотеки. Низкоуровневые улучшения производительности, изменения, чтобы сократить наихудшую производительность EVM вдвое. Мигрировать ExceptionalHaltReason из перечисления в интерфейс, чтобы позволить нижестоящим пользователям EVM добавлять новые исключительные причины остановки. Уменьшает потребность в анализе JUMPDEST через кэширование. Поддерживает пользовательский файл закрытого ключа для команд публичного экспорта ключей и публичного адреса экспорта ключей.

Исправление ошибок Разрешать указывать файл TOML с помощью переменной среды BESU_CONFIG_FILE. Исправить ошибку, из-за которой частные контракты не могли вызывать публичные контракты, вызывающие публичные контракты.

Ранний доступ к функциям

Скачать Этот релиз не рекомендуется для использования в производстве. SHA256: 536612e5e4d7a5e7a582f729f01ba591ba68cc389e8379fea3571ed85322ff51.

21.7.4

Дополнения и улучшения Обновить Gradle до версии 7.2, которая поддерживает сборку с Java 17.

Исправление ошибок Установить тайм-аут простоя для соединений метрик, чтобы очищать порты, когда они больше не используются. ### Ранний доступ

  • Группы конфиденциальности в сети можно разблокировать после блокировки без необходимости добавления участника.

  • Обновлён график газа для Ethereum Classic.

Функции раннего доступа

  • [ЭКСПЕРИМЕНТАЛЬНО] Добавлена поддержка QBFT с созданием блоков на основе PKI.

  • [ЭКСПЕРИМЕНТАЛЬНО] Поддержка QBFT для использования валидаторов из смарт-контракта.

Ссылка для скачивания

https://hyperledger.jfrog.io/native/besu-binaries/besu/21.7.4/besu-21.7.4.zip SHA256: 778d3c42851db11fec9171f77b22662f2baeb9b2ce913d7cfaaf1042ec19b7f9

Версия 21.7.3

Дополнения и улучшения

  • Миграция на Apache Tuweni 2.0.

  • [ЭКСПЕРИМЕНТАЛЬНО] Поддержка DevP2P-over-TLS.

  • Поддержка eth_getWork, eth_submitWork через порт Stratum.

  • Метрики Stratum.

  • Поддержка майнинга ommers.

  • Обновлённое разрешение в цепочке для проверки разрешений при отправке транзакций.

  • Удалён устаревший параметр CLI --privacy-precompiled-address.

  • Удалён код, поддерживающий EIP-1702.

  • Добавлена собственная библиотека для альтернативного алгоритма подписи secp256r1, который будет использоваться по умолчанию.

  • Добавлен параметр командной строки --Xsecp-native-enabled как псевдоним для --Xsecp256k1-native-enabled.

  • Добавлены помеченные датчики для метрик.

  • Поддержка протокола eth/66.

  • Обновление методов RPC для транзакции после лондонской версии 1559.

  • [ЭКСПЕРИМЕНТАЛЬНО] Поддержка использования имени хоста DNS вместо IP-адреса в правилах разрешения узлов в цепочке.

  • Реализация EIP-3607 — отклонение транзакций от отправителей с развёрнутым кодом.

  • Игнорирование всех неизвестных полей при передаче в eth_estimateGas или eth_call.

Исправления ошибок

  • Рассмотрение эффективной цены и эффективного приоритетного сбора в правилах замены транзакций.

  • GetTransactionCount должен возвращать последний счётчик транзакций, если он больше, чем пул транзакций.

Ранний доступ

Версия 21.7.2

Дополнения и улучшения

Этот выпуск содержит улучшения и исправления ошибок для оптимальной совместимости с другими версиями клиентов London.

Исправленные ошибки

  • Горячее исправление для идентификации частных транзакций для транзакций основной сети.

Скачать ссылку

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/21.7.2/besu-21.7.2.zip db47fd9ba33b36436ed6798d2474f7621c733353fd04f49d6defffd12e3b6e14

Версия 21.7.1

Дополнения и улучшения

  • priv_call теперь использует реализацию OperationTracer NO_TRACING, что улучшает использование памяти.

  • Сообщения Ping и Pong теперь поддерживают кодирование ENR в виде скаляров или байтов.

Скачать ссылку

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/21.7.1/besu-21.7.1.zip sha256sum 83fc44e39a710a95d8b6cbbbf04010dea76122bafcc633a993cd15304905a402

Версия 21.7.0

Дополнения и улучшения

В этом выпуске активированы блоки для... Besu 21.7.0

Изменения и улучшения

  • Изменения EIP-1559: приём транзакций, у которых значение maxFeePerGas ниже текущего значения baseFee #2374.
  • Представлены переходы для вознаграждений за блоки IBFT2 #1977.
  • Статус Ethstats изменён с экспериментальной функции на стабильную #2405.
  • Исправлена ошибка отключения собственных библиотек для secp256k1 и altBn128 #2163.

Исправления ошибок

  • В некоторых обстоятельствах Ibft2 мог создавать недопустимые сообщения RoundChange, содержащие повторяющиеся подготовительные операции #2449.
  • Обновлён метод eth_sendRawTransaction, чтобы он возвращал ошибку, когда значение maxPriorityFeePerGas превышает значение maxFeePerGas #2424.
  • Устранено исключение NoSuchElementException с квитанциями транзакций EIP1559 при использовании метода eth_getTransactionReceipt #2477.

Ранний доступ к функциям

  • QBFT — это алгоритм консенсуса Byzantine Fault Tolerant, основанный на возможностях IBFT и IBFT 2.0. Он направлен на повышение производительности в случаях избыточного изменения раунда и обеспечивает совместимость с другими клиентами, совместимыми с EEA, такими как GoQuorum.
    • Примечание: в настоящее время QBFT поддерживает только новые сети. Существующие сети, использующие IBFT2.0, не могут перейти на QBFT. Эта возможность появится в будущем выпуске.
    • Примечание: QBFT — функция раннего доступа, ожидающая отзывов сообщества. Пожалуйста, используйте QBFT в новых разрабатываемых сетях и обращайтесь в случае возникновения проблем или опасений.
  • Совместимость с GoQuorum по конфиденциальности. Этот режим использует Tessera и совместим с GoQuorum.
    • Примечание: совместимость с GoQuorum — функция раннего доступа, ожидающая отзывов сообщества.

Скачать

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/21.7.0/besu-21.7.0.zip sha256sum 389465fdcc2cc5e5007a02dc2b8a2c43d577198867316bc5cc4392803ed71034

Besu 21.7.0-RC2

Дополнения и улучшения

  • Метод eth_feeHistory для провайдеров кошельков #2466.

Исправление ошибок

  • Ibft2 может создавать недопустимые сообщения RoundChange в некоторых обстоятельствах, содержащих повторяющиеся подготовительные операции #2449.

Скачать

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/21.7.0-RC2/besu-21.7.0-RC2.zip sha256sum 7bc97c359386cad84d449f786dc0a8ed8728616b6704ce473c63f1d94af3a9ef

Besu 21.7.0-RC1

Дополнения и улучшения

  • Изменения EIP-1559: приём транзакций, у которых значение maxFeePerGas ниже текущего значения baseFee #2374.
  • Представлены переходы для вознаграждений за блоки IBFT2 #1977.
  • Статус Ethstats изменён с экспериментальной функции на стабильный #2405.
  • Исправлена ошибка отключения собственных библиотек для secp256k1 и altBn128 #2163.

Исправление ошибок

  • Обновлено eth_sendRawTransaction для возврата ошибки, когда значение maxPriorityFeePerGas превышает значение maxFeePerGas #2424.

Функции раннего доступа

Этот выпуск содержит блоки активации для Лондона во всех поддерживаемых тестовых сетях:

  • Ropsten 10_499_401 (24 июня 2021 г.).
  • Goerli 5_062_605 (30 июня 2021 г.).
  • Rinkeby 8_897_988 (7 июля 2021 г.)

Скачать

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/21.7.0-RC1/besu-21.7.0-RC1.zip sha256sum fc959646af65a0e267fc4d695e0af7e87331d774e6e8e890f5cc391549ed175a

Besu 21.1.7

Для пользователей, предпочитающих приватность — устаревание проекта Orion

В качестве рекомендуемого менеджера частных транзакций для Hyperledger Besu теперь используется Tessera. Теперь, когда вся основная функциональность Orion была объединена с Tessera, Orion находится в процессе устаревания. Deprecated.

Мы рекомендуем всем пользователям с активными проектами использовать предоставленные инструкции по миграции, которые задокументированы здесь.

Мы продолжим поддерживать пользователей Orion до 30 ноября 2021 года. Если у вас есть какие-либо вопросы или проблемы, пожалуйста, обратитесь к команде инженеров протокола ConsenSys в канале #orion на Discord или по электронной почте quorum@consensys.net.

Дополнения и улучшения

  • Обновление OpenTelemetry до версии 1.2.0. #2313
  • Хардфорк Ethereum Classic Magneto #2315
  • Поддержка предстоящей эфемерной тестовой сети CALAVERAS и удаление конфигурации для устаревшей эфемерной сети BAIKAL. #2343

Исправления ошибок

  • Исправление недопустимых значений передачи с помощью API трассировки специально для операции CALL. #2319

Ранний доступ к функциям

Ранее выявленные известные проблемы

  • Исправлена проблема в discv5, где nonce использовался неправильно. #2075
  • Исправлены проблемы в debug_standardTraceBadBlockToFile и debug_standardTraceBlockToFile. #2120
  • Исправлен неверный код ошибки в нескольких методах JSON RPC, когда запрошенный блок не находится в диапазоне. #2138

Скачать ссылку

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/21.1.7/besu-21.1.7.zip

sha256: f415c9b67d26819caeb9940324b2b1b9ce6e872c9181052739438545e84e2531

21.1.6

Дополнения и улучшения

  • Поддержка будущей эфемерной тестовой сети BAIKAL и удаление конфигурации для устаревшей сети YOLOv3. #2237
  • Реализация EIP-3541: отклонение новых контрактов, начинающихся с байта 0xEF. #2243
  • Реализация EIP-3529: сокращение возмещений. #2238
  • Реализация EIP-3554: задержка бомбы сложности. #2289
  • [ЭКСПЕРИМЕНТАЛЬНО] Поддержка ключей secp256r1. #2008

Исправления ошибок

  • Добавлены транзакции ACCESS_LIST в список транзакций, использующих устаревшее ценообразование газа для 1559. #2239
  • Уменьшен уровень ведения журнала при неудачном декодировании открытого ключа искажённых пакетов. #2143
  • Добавление параметров 1559 в ответы json-rpc. #2222

Ранний доступ к функциям

Ранее выявленные известные проблемы

  • Исправлена проблема в discv5, где nonce использовался неправильно. #2075
  • Исправлены проблемы в debug_standardTraceBadBlockToFile и debug_standardTraceBlockToFile. #2120
  • Исправлен неверный код ошибки в нескольких методах JSON RPC, когда запрошенный блок не находится в диапазоне. #2138

Скачать ссылку

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/21.1.6/besu-21.1.6.zip

sha256: 3952c69a32bb390ec84ccf4c2c3eb600ea3696af9a05914985d10e1632ef8488

21.1.5

Дополнения и улучшения

  • Игнорировать nonce при отправке eth_estimateGas или eth_call. #2133
  • Игнорировать privateFor для оценки tx. #2160

Исправления ошибок

  • Устранено исключение NullPointerException при пересечении блоков обновления сети, когда обнаружение одноранговых узлов отключено. #2140

Ранний доступ к функциям

Ранее выявленные известные проблемы

  • Исправлена проблема в discv5 Текст на русском языке:

где одноразовый номер был неправильно использован повторно. #2075

  • Исправлены проблемы в debug_standardTraceBadBlockToFile и debug_standardTraceBlockToFile. #2120

Ссылка для скачивания

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/21.1.5/besu-21.1.5.zip

sha256: edd78fcc772cfa97d11d8ee7b5766e6fac4b31b582f940838a292f2aeb204777

21.1.4

Дополнения и улучшения

  • Добавлена команда CLI --discovery-dns-url #2088

Исправления ошибок

  • Исправлена проблема в discv5, где одноразовый номер использовался неправильно. #2075
  • Исправлены проблемы в debug_standardTraceBadBlockToFile и debug_standardTraceBlockToFile. #2120

Ранний доступ к функциям

Ранее выявленные известные проблемы

Ссылка для скачивания

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/21.1.4/besu-21.1.4.zip 58ae55b492680d92aeccfbed477e8b9c25ccc1a97cca71895e27448d754a7d8b

21.1.3

Дополнения и улучшения

  • Увеличение разнообразия узлов при загрузке блоков #2033

Исправление ошибок

  • Записи узлов Ethereum теперь динамически пересчитываются при передаче блоков обновления сети. Это позволяет лучше взаимодействовать через переходы без необходимости перезапуска узла. #1998

Ранний доступ к функциям

Ранее выявленные известные проблемы

Ссылка для скачивания

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/21.1.3/besu-21.1.3.zip 38893cae225e5c53036d06adbeccc30aeb86ef08c543fb742941a8c618485c8a

21.1.2

Обновление сети Берлин

Важное замечание: выпуск 21.1.1 содержит устаревшую версию обновления сети Берлин. Если вы используете Besu в общедоступных сетях Ethereum, вам необходимо перейти на версию 21.1.2.

Этот выпуск содержит блоки активации для Берлина во всех поддерживаемых тестовых сетях и основной сети Ethereum. Они следующие:

  • Ropsten 9_812_189 (10 марта 2021 г.)
  • Goerli 4_460_644 (17 марта 2021 г.)
  • Rinkeby 8_290_928 (24 марта 2021 г.)
  • Ethereum 12_244_000 (14 апреля 2021 г.)

Дополнения и улучшения

  • Добавлена возможность установить лимит для соединений JSON-RPC
    • HTTP соединения --rpc-http-max-active-connections #1996
    • WS соединения --rpc-ws-max-active-connections #2006
  • Добавлена поддержка тестовой сети ASTOR ETC #2017

Исправление ошибок

  • Не регистрировать прекомпиляции BLS12 для Берлина #2015

Ранее выявленные известные проблемы

Ссылка для скачивания

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/21.1.2/besu-21.1.2.zip 02f4b6622756b77fed814d8c1bbf986c6178d8f5adb9d61076e061124c3d12aa

21.1.1

Обновление сети Берлин

Важное примечание: этот выпуск содержит устаревшую версию обновления сети Берлин. Если вы используете Besu в общедоступных сетях Ethereum, вам необходимо обновить его до версии 21.1.2.

В этом выпуске содержатся блоки активации для Берлина во всех поддерживаемых тестовых сетях и в основной сети Ethereum. Они следующие:

  • Ropsten 21.1.0

Важное замечание: этот релиз содержит устаревшую версию обновления сети Berlin, которая была изменена 5 марта 2021 года (ссылка). Если вы используете Besu в публичных сетях Ethereum, вы должны обновиться до версии 21.1.2.

Особенности версии 21.1.0

Особенности, добавленные между версиями 20.10.0 и 21.1.0, включают:

  • Обновление сети Berlin: этот выпуск содержит блоки активации для сети Berlin во всех поддерживаемых тестовых сетях и основной сети Ethereum. Они следующие:
    • Ropsten 9_812_189 (10 Mar 2021)
    • Goerli 4_460_644 (17 Mar 2021)
    • Rinkeby 8_290_928 (24 Mar 2021)
    • Ethereum 12_244_000 (14 Apr 2021)
  • Besu Launcher: теперь Besu поддерживает Quorum Mainnet Launcher, что упрощает пользователям настройку и запуск Besu в основной сети Ethereum.
  • Bonsai Tries: новый формат базы данных, который снижает требования к хранилищу и улучшает производительность доступа к недавнему состоянию. Примечание: в настоящее время поддерживается только полная синхронизация.
  • Miner Data JSON-RPC: конечные точки eth_getMinerDataByBlockHash и eth_getMinerDataByBlockNumber возвращают вознаграждения майнера и адрес coinbase для данного блока.
  • Поддержка EIP-1898: EIP добавляет blockHash к методам JSON-RPC, которые принимают параметр блока по умолчанию.

Ранний доступ к функциям

  • Bonsai Tries: новый формат базы данных, который снижает требования к хранилищу и улучшает производительность доступа к недавнему состоянию. Примечание: в настоящее время поддерживается только полная синхронизация.
  • QBFT: новый алгоритм консенсуса для поддержки взаимодействия с другими клиентами, совместимыми с Enterprise Ethereum Alliance.

Критические изменения в версии 21.1.0

  • --skip-pow-validation-enabled теперь является ошибкой при использовании формата JSON для импорта блоков. Это связано с тем, что формат JSON не включает nonce, поэтому необходимо рассчитать доказательство работы.
  • eth_call не будет возвращать результат JSON-RPC в случае сбоя вызова, а вместо этого вернёт ошибку. Если это произошло из-за возврата, будет включена причина возврата.
  • По умолчанию eth_call не завершится ошибкой из-за проблем с балансом аккаунта. Параметр «strict»: true можно добавить к параметрам вызова (с to и from), чтобы принудительно проверять баланс.

Дополнения и улучшения

  • Добавлены activation blocks для Berlin Network Upgrade.
  • Добавлено besu_transaction_pool_transactions в отчёты о метриках, подсчитывая размер мемпула.

Исправления ошибок

  • Исправлено представление списка доступа для транзакций со списком доступа в результатах JSON-RPC.

Ранее выявленные известные проблемы

  • Быстрая синхронизация при запуске Besu на облачных провайдерах.
  • Пользователи конфиденциальности с частными транзакциями, созданными с использованием v1.3.4 или более ранней версии. ### 21.1.0-RC2

Дополнения и улучшения

  • Поддержка обновления Берлинской сети, хотя номер блока должен быть установлен вручную с помощью --override-genesis-config=berlinBlock=<номер блока>. Это связано с тем, что номера блоков ещё не определены. В следующем выпуске номер будет включён в файл генезиса, поэтому поддержка Берлина будет осуществляться без вмешательства. #1898

21.1.0-RC1

21.1.0 Критические изменения

  • --skip-pow-validation-enabled теперь является ошибкой при block import --format JSON. Это связано с тем, что формат JSON не включает одноразовый номер, поэтому необходимо рассчитать доказательство выполнения работы.
  • eth_call не вернёт результат JSON-RPC, если вызов завершится неудачно, вместо этого будет возвращена ошибка. Если это было из-за возврата, будет включена причина возврата.
  • По умолчанию eth_call не завершится неудачей из-за проблем с балансом счёта. Можно добавить параметр "strict": true к параметрам вызова (с to и from), чтобы принудительно проверять баланс.

Дополнения и улучшения

  • Удалены неиспользуемые флаги в конфигурациях по умолчанию #1812
  • --skip-pow-validation-enabled теперь является ошибкой при block import --format JSON. Это связано с тем, что формат JSON не включает одноразовый номер, поэтому необходимо рассчитать доказательство выполнения работы. #1815
  • Добавлена новая опция CLI --Xlauncher для запуска лаунчера основной сети. Он поможет легко настроить Besu.
  • Возвращается причина возврата из вызовов API eth_call, когда контракт вызывает возврат. #1829
  • Добавлено chainId, publicKey и raw в вызовы API JSON-RPC, возвращающие подробные результаты транзакций. #1835

Исправления ошибок

  • Больше не будут сообщаться высоты Ethereum classic в показателях основной сети. Проблема #1751 Исправление #1820
  • Не применяйте проверки баланса в eth_call, если явно не запрошено. Проблема #502 Исправление #1834

Ранний доступ к функциям

Ранее выявленные известные проблемы

  • Быстрая синхронизация при работе Besu на облачных провайдерах
  • Пользователи конфиденциальности с частными транзакциями, созданными с использованием версии 1.3.4 или более ранней

Ссылка для скачивания

Ссылка удалена, поскольку этот выпуск содержит устаревшую версию обновления Берлинской сети, которая была изменена 5 марта 2021 года (ссылка). Если вы используете Besu в общедоступных сетях Ethereum, вам необходимо обновиться до версии 21.1.1. Хэш sha256 оставлен для справки.

sha256: b0fe3942052b8fd43fc3025a298a6c701f9edae2e100f0c563a1c5a4ceef71f1

20.10.4

Дополнения и улучшения

  • Реализован EIP-778: Ethereum Node Records (ENR) #1680
  • Реализован EIP-868: Node Discovery v4 ENR Extension #1721
  • Добавлен возврат причины в вызове RPC eth_estimateGas. #1730
  • Добавлена опция командной строки --static-nodes-file. #1644
  • Реализован EIP-1898: Добавить blockHash в методы JSON-RPC, которые принимают параметр блока по умолчанию. #1757

Исправлены ошибки

  • Принимаются транзакции из локальных источников. Ниже минимальной цены на газ.

1480, 1743.

Ранее выявленные известные проблемы:

  • Быстрая синхронизация при работе с Besu на облачных провайдерах (KNOWN_ISSUES.md#fast-sync-when-running-besu-on-cloud-providers);
  • Пользователи с приватными транзакциями, созданными с использованием v1.3.4 или более ранней версии (KNOWN_ISSUES.md#privacy-users-with-private-transactions-created-using-v134-or-earlier).

Ссылка для скачивания:

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/20.10.4/besu-20.10.4.zip sha256: f15cd5243b809659bba1706c1745aecafc012d3fc44a91419522da925493537c

20.10.3

Дополнения и улучшения:

  • Добавлена опция «memory» в качестве опции для «—key-value-storage». Это временное хранилище предназначено для тестирования синхронизации и отладки. #1617;
  • Исправлена ошибка, когда параметр gasPrice не всегда соблюдался при передаче в конечную точку eth_estimateGas #1636;
  • Включено eth65 по умолчанию #1682;
  • Предупреждение о том, что загрузочные узлы будут игнорироваться, если они указаны с отключённым обнаружением #1717.

Исправления ошибок:

  • Принятие использования значений портов по умолчанию, если они не используются. #1673;
  • Ошибки проверки блоков должны быть как минимум на уровне INFO, а не DEBUG или TRACE. Ошибка #1568, PR #1706;
  • Устранены неверные и неправильные данные трассировки, особенно при вызове предварительно скомпилированного контракта #1710.

Ранее выявленные известные проблемы:

  • Быстрая синхронизация при работе с Besu на облачных провайдерах (KNOWN_ISSUES.md#fast-sync-when-running-besu-on-cloud-провайдерах);
  • Пользователи с приватными транзакциями, созданными с использованием v1.3.4 или более ранней версии (KNOWN_ISSUES.md#privacy-users-with-private-transactions-created-using-v134-или-ранее).

Ссылка для скачивания:

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/20.10.3/besu-20.10.3.zip sha256: b5f46d945754dedcbbb1e5dd96bf2bfd13272ff09c6a66c0150b979a578f4389

20.10.2

Дополнения и улучшения:

  • Поддержка пакетных запросов в WebSockets. #1583;
  • Раздел протоколов добавлен в admin_peers для предоставления информации о состоянии здоровья одноранговых узлов. #1582;
  • Добавлен параметр CLI —goquorum-compatibility-enabled для включения режима совместимости GoQuorum. #1598. Обратите внимание, что этот режим несовместим с Mainnet.

Исправление ошибок:

  • Ibft2 будет отбрасывать любые полученные сообщения, предназначенные для цепочки высот <= текущая голова — это устраняет некоторые угловые случаи в правильности системы непосредственно после импорта блока. #1575;
  • EvmTool теперь выдаёт UnsupportedForkException, когда есть неизвестный форк и совместим с YOLOv2 #1584;
  • eth_newFilter теперь поддерживает параметр blockHash в соответствии со спецификацией #1548. (blockhash также всё ещё поддерживается);
  • Исправлена проблема, которая вызывала потерю пиров и рассинхронизацию при включении eth65 #1601.

Ранее выявленные известные проблемы:

  • Быстрая синхронизация при работе с Besu на облачных провайдерах (KNOWN_ISSUES.md#fast-sync-when-running-besu-на-облачных-провайдерах);
  • Пользователи с приватными транзакциями, созданными с использованием v1.3.4 или более ранней версии (KNOWN_ISSUES.md#privacy-users-с-приватными-транзакциями-созданными-с-использованием-v134-или-более-ранней-версии).

Ссылка для скачивания:

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/20.10.2/besu-20.10.2.zip sha256: 710aed228dcbe9b8103aef39e4431b0c63e73c3a708ce88bcd1ecfa1722ad307

20.10.1

Дополнения и улучшения:

  • Флаг —random-peer-priority-enabled добавлен. Позволяет отдавать приоритет входящим соединениям случайным образом. Это предотвратит формирование (обычно небольших, стабильных) сетей. Непроницаемые одноранговые клики.

  • Добавлен RPC miner_changeTargetGasLimit. Если установлен целевой лимит газа, позволяет оператору узла изменять его во время выполнения.

  • Скрыть устаревший параметр --host-whitelist.

  • Приоритизировать высокие цены на газ во время майнинга. Ранее мы упорядочивали только по порядку получения транзакций. Это увеличит ожидаемую прибыль при майнинге.

  • Поддержка обновлённого интерфейса разрешения узлов EEA на основе смарт-контрактов.

  • Добавлена утилита EvmTool в дистрибутив. EvmTool — это интерфейс командной строки, который может выполнять байт-код EVM и тесты состояния Ethereum.

  • Обновлены библиотеки для secp256k1 и AltBN серии прекомпилейшены. Эти обновления обеспечивают значительное улучшение производительности в этих областях.

  • Предоставлять измерения MegaGas/second в журнале при полном импорте блока, например, на этапе быстрой синхронизации.

  • Добавлены новые конечные точки для получения данных о майнере: eth_getMinerDataByBlockHash и eth_getMinerDataByBlockNumber.

  • Непосредственная поддержка метрик OpenTelemetry.

  • Поддержка параметра конфигурации qip714block в файле генезиса, что открывает путь к совместимости разрешений между Besu и GoQuorum.

  • Новая опция CLI --compatibility-eth64-forkid-enabled.

Исправления ошибок:

  • Исправлена ошибка в eth_estimateGas, которая возвращала «Внутренняя ошибка» вместо «Выполнение отменено» в случае отменённой транзакции.
  • Исправлено некорректное применение локального разрешения учётных записей при импорте/проверке блоков.
  • Исправлен неверный URL enode при отключении обнаружения.
  • Удалены повторяющиеся файлы из zip-архивов и tar.gz дистрибутивов.
  • Добавлено более рациональное значение в eth_gasPrice на основе настраиваемого процентиля транзакций предыдущего блока (по умолчанию: медиана последних 100 блоков).

Устарело

--privacy-precompiled-address (будет удалено в следующем выпуске)

Устарело в версии 1.5.1 — Удалена опция CLI --privacy-precompiled-address. Этот адрес теперь определяется на основе --privacy-onchain-groups-enabled.

Репозиторий образцов сетей Besu

Репозиторий Besu Sample Networks был заменён на Quorum Developer Quickstart.

Ранее выявленные известные проблемы:

Eth/65 теряет пиров. — Быстрая синхронизация при работе с Besu на облачных провайдерах. — Пользователи конфиденциальности с частными транзакциями, созданными с использованием v1.3.4 или ранее.

Ссылка для скачивания

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/20.10.1/besu-20.10.1.zip sha256: ac4fae310957c176564396f73c0f03c60c41129d43d078560d0dab533a69fd2a

20.10.0

Формат выпуска

Hyperledger Besu переходит на схему нумерации версий CalVer начиная с версии 20.10.0 (ранее 1.6.0). Более подробную информацию о конкретной версии можно найти на сайте проекта. CalVer Besu

Информацию о CalVer Besu можно найти на вики.

20.10 Breaking Changes

При обновлении до версии 20.10 убедитесь, что вы учли следующие критические изменения.

Коды ошибок HTTP-запросов JSON-RPC для действительных вызовов (#1426)

Предыдущие версии Besu устанавливали статус HTTP 400 Bad Request для запросов JSON-RPC, которые завершались ошибкой, независимо от типа ошибки. Эти ответы могли включать полный ответ JSON-RPC с полем ошибки.

В версии Besu 20.10 правильно сформированные запросы с действительными параметрами (количество и содержимое) будут возвращать статус HTTP 200 OK с полем ошибки, если произошла ошибка. Например, запрос на счёт, который не существует в цепочке, или блок по хешу, которого нет у Besu, теперь будет возвращать ответы HTTP 200 OK. Неразборчивые запросы, неправильно сформированные запросы или запросы с недопустимыми параметрами по-прежнему будут возвращать HTTP 400 Bad Request.

Пользователи Web3J должны отметить, что многие вызовы теперь возвращают результат с полем ошибки, содержащим сообщение, тогда как раньше вызов приводил к исключению с сообщением об ошибке в качестве сообщения исключения.

20.10.0 Дополнения и улучшения

  • Добавлена поддержка ECIP-1099 / Classic Thanos Fork: Калибровка длительности эпохи. #1421 #1441 #1462
  • Добавлен агент Open Telemetry Java для отправки трассировок на удалённый сервер. Добавлен пример для демонстрации возможностей отслеживания.
  • В дистрибутив добавлен бинарный файл EvmTool. EvmTool — это интерфейс командной строки, который может выполнять байт-код EVM и тесты состояния Ethereum. Документация доступна здесь. #1465
  • Поддержка предстоящего эфемерного тестового сетевого YOLOv2 и удаление флага устаревшего эфемерного тестового сетевого YOLOv1. #1386
  • Добавлен API JSON-RPC debug_standardTraceBlockToFile. Этот API принимает хэш блока и воспроизводит блок. Возвращает список файлов, содержащих результат трассировки (по одному файлу на транзакцию). #1392
  • Добавлен API JSON-RPC debug_standardTraceBadBlockToFile, аналогичный debug_standardTraceBlockToFile, но может использоваться для получения информации о блоке, который был отклонён как недействительный. #1403
  • Поддержка EIP-2929 для YOLOv2. #1387
  • --start-block и --end-block добавлены в подкоманду blocks import. #1399
  • Поддержка мультиарендности при использовании функции раннего доступа к управлению группами конфиденциальности в сети.
  • [Отменено] Исправлена утечка памяти в поведении подпротокола eth/65. Теперь он включён по умолчанию. #1420, #1348, #1321

Исправления ошибок

  • Регистрировать причины отклонения импорта блоков на уровне «INFO». Ошибка #1412
  • Исправлена NPE при выполнении eth_estimateGas с включенной конфиденциальностью. Ошибка #1404

Ранее выявленные известные проблемы

Устарело и запланировано к удалению в следующем выпуске

--privacy-precompiled-address

Устаревший в 1.5.1 — CLI Опция --privacy-precompiled-address удалена. Этот адрес теперь определяется на основе --privacy-onchain-groups-enabled.

Ссылка для скачивания: https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/20.10.0/besu-20.10.0.zip

sha256sum: 2b50a375aae64b838a2cd9d43747006492cae573f1be11745b7f643646fd5a01

1.5.5

Дополнения и улучшения

  • Новая версия библиотеки web3js-eea (v0.10) поддерживает изменения в управлении группами конфиденциальности в сети Besu v1.5.3.

Исправления ошибок

  • Добавлен API JSON-RPC debug_getBadBlocks для анализа и обнаружения недостатков консенсуса. Даже если блок отклонён, он будет возвращён этим методом.
  • Исправлены запросы журналов, которые не давали результатов против головы цепи.

Ранее выявленные известные проблемы

Ссылка для скачивания: https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/1.5.5/besu-1.5.5.zip

sha256sum: e67b0a899dc4421054eaa9a8112cb89e1e5f6a56f0d8aa1b0c5111c53dfad2ad

1.5.4

Дополнения и улучшения

  • Добавлен API priv_debugGetStateRoot JSON-RPC для получения корня состояния указанной группы конфиденциальности.
  • Добавлено ведение журнала реорганизации и --reorg-logging-threshold для настройки того же. Теперь Besu регистрирует любые реорганизации, где старый или новый заголовок цепочки находится более чем на расстоянии от их общих предков. По умолчанию это 6.
  • Добавлен API JSON-RPC debug_batchSendRawTransaction для отправки нескольких подписанных транзакций одним вызовом.

Исправление ошибок

  • Сервер метрик HTTP больше не отклоняет запросы, содержащие заголовок Accept, который не точно соответствует текстовому формату prometheus.
  • Метод JSON-RPC net_version должен возвращать сетевой идентификатор вместо идентификатора цепочки.

Ранее выявленные известные проблемы

  • Запросы журналов не дают результатов против головы цепочки.
  • Eth/65 теряет пиров.
  • Быстрая синхронизация при работе Besu на облачных провайдерах.
  • Пользователи с конфиденциальными транзакциями, созданными с использованием v1.3.4 или ранее.
  • Изменения не сохраняются в базе данных правильно, вызывая несогласованные частные состояния.

Ссылка для скачивания: https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/1.5.4/besu-1.5.4.zip

sha256sum: 1f4df8e1c5e3b5b3abf6289ccfe70f302aa7c29a652b2eb713ffbdc507670420

1.5.3

Дополнения и улучшения

  • Инструмент EvmTool теперь обрабатывает тесты состояний из эталонных тестов Ethereum.
  • Ранний доступ к поддержке DNS через параметры CLI --Xdns-enabled и --Xdns-update-enabled.
  • Добавить параметр конфигурации генезиса ecip1017EraRounds для цепочек Ethereum Classic.

Исправление ошибок

  • Разрешение K8S для использования IP-адресов служб, а не IP-адресов модулей, что может привести к сбою. Ранее выявленные известные проблемы:

Изменение, нарушающее работу функции управления группами конфиденциальности в сети

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

Чтобы усилить контроль над разрешениями в контракте управления группой конфиденциальности:

  • Ключ анклава был удалён как первый параметр для addParticipant и removeParticipant.
  • Владельцем контракта управления группой конфиденциальности является подписывающая сторона частной транзакции, создающей группу конфиденциальности. В реализации контракта управления группой конфиденциальности по умолчанию только владелец может добавлять и удалять участников, а также обновлять контракт управления.

Поддержка конфиденциальности в текущей версии библиотеки web3js-eea (v0.9) не будет совместима с Besu v1.5.3. Мы активно работаем над обновлением webj3-eea, которое будет поддерживать эти изменения.

Ссылка для скачивания: https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/1.5.3/besu-1.5.3.zip

sha256sum: 735cd511e1dae1590f2829d9535cb383aa8c526f059b3451859e5fcfccc48985

Версия 1.5.2

Дополнения и улучшения:

  • Добавлена экспериментальная автономная резервная копия и восстановление с помощью команд CLI operator x-backup-state и operator x-restore-state. Форматы данных будут меняться до тех пор, пока в команде CLI присутствует префикс x-, поэтому не рекомендуется полагаться на эти резервные копии для аварийного восстановления. #1235.
  • Добавлена поддержка ethstats с помощью команд CLI Xethstats и Xethstats-contact. #1239.
  • Пиры, добавленные через JSON-RPC admin_addPeer и admin_removePeer, будут общими или больше не будут передаваться через обнаружение соответственно. Раньше они не передавались. #1177, внесено br0tchain.
  • Новые образы Docker (см. ниже). #1277.
  • Переработана обработка статического обнаружения пиров. #1292.

Новые виртуальные машины Java в образе Docker:

  • Создаются новые образы Docker для использования последней версии OpenJDK (в настоящее время 14.0.1) с суффиксом тега -openjdk-latest, например 1.5.2-openjdk-latest.
  • Создаются новые образы Docker для использования GraalVM с суффиксом тега -graalvm, например 1.5.2-graalvm.
  • Существующие образы на основе Java 11 также помечаются суффиксом -openjdk-11, например 1.5.2-openjdk-11 и просто 1.5.2.

Предполагается, что основная версия виртуальной машины Java или тип виртуальной машины, поставляемые со стандартными образами Docker (latest, 1.5.x и т. д.), могут быть изменены во время будущих ежеквартальных выпусков, но останутся неизменными в пределах ежеквартального выпуска.

Исправления ошибок:

— Разрешение вне сети — исправлена ошибка, из-за которой проверка статуса синхронизации препятствовала установлению пиринга, если были настроены статические узлы. #1252.

— GraphQL-запросы miner в сетях IBFT больше не вернут ошибку. PR #1282, проблема #1272. Изменения, нарушающие работу

При обновлении до версии 1.5 убедитесь, что вы учли следующие изменения, нарушающие работу.

Пользователи Docker с монтированием томов

Чтобы обеспечить наилучшую безопасность, мы меняем user:group в контейнере Docker на besu.

Что это значит для вас:

  • Если вы запускаете Besu как двоичный файл, изменений не будет.
  • Если вы используете Besu в качестве контейнера Docker и у вас есть монтирование тома для данных, убедитесь, что разрешения в каталоге позволяют другим пользователям и группам читать и записывать данные. В идеале это должно быть установлено на besu:besu в качестве владельца.

Обратите внимание, что пользователь besu существует только внутри контейнера, а не за его пределами. Один и тот же идентификатор пользователя может соответствовать другому пользователю вне образа.

Если вы монтируете локальные папки, лучше всего установить пользователя с помощью аргумента Docker --user. Используйте UID, поскольку имя пользователя может не существовать внутри контейнера Docker. Убедитесь, что каталог, который монтируется, принадлежит этому пользователю.

Удаление ручного метода NAT

Метод NAT MANUAL был удалён. Если вы использовали метод MANUAL, используйте вместо него метод NONE. Поведение метода NONE такое же, как и у ранее поддерживаемых методов MANUAL.

Пользователи Privacy

Для обновления минорной версии Besu требуется обновить Orion до последней минорной версии. То есть для пар узлов Besu <> Orion при обновлении Besu до v1.5 необходимо, чтобы Orion был обновлён до v1.6. Старые версии Orion больше не будут работать с Besu v1.5.

Особенности версии 1.5

Особенности, добавленные между версиями 1.4 и 1.5, включают:

  • Поддержка майнинга. Besu поддерживает eth_hashrate и eth_submitHashrate, чтобы получить хешрейт при майнинге с помощью GPU-майнера.
  • Трассировка. API трассировки больше не является функцией раннего доступа и теперь полностью поддерживает trace_replayBlockTransactions, trace_Block и trace_transaction.
  • События блока Plugin API. BlockAdded и BlockReorg теперь доступны через Plugin API.
  • Фильтры и подписки для частных контрактов.
  • API плагина SecurityModule. Это позволяет использовать другой модуль безопасности в качестве плагина для предоставления криптографических функций, которые могут использоваться NodeKey (например, sign, ECDHKeyAgreement и т. д.).
  • Группы конфиденциальности в сети с добавлением и удалением участников. Это функция раннего доступа. Функции раннего доступа не рекомендуются для производственных сетей и могут иметь нестабильные интерфейсы.

Дополнения и улучшения версии 1.5

  • Публичные сети по умолчанию используют быструю синхронизацию. Режим синхронизации по умолчанию для именованных сетей без разрешений, таких как основная сеть Ethereum и тестовые сети, теперь FAST.

    • Для частных сетей значение по умолчанию не изменилось. То есть режим синхронизации по умолчанию для частных сетей — FULL.
    • Используйте параметр командной строки --sync-mode, чтобы изменить режим синхронизации.
  • Полная поддержка майнинга. Добавлена полная поддержка eth_hashrate и eth_submitHashrate. Теперь можно получить хешрейт, когда мы майним с помощью графического процессора.

  • Улучшения производительности. Добавление собственных библиотек и изменения в структурах данных в EVM улучшили время синхронизации Besu и выполнения EVM.

  • Усовершенствования API трассировки. API больше не является функцией раннего доступа и теперь полностью поддерживает trace_replayBlockTransactions, trace_Block и trace_transaction.

  • Новые события плагина API блока: BlockAdded и BlockReorg теперь доступны через API плагина #637.

  • Добавлена экспериментальная опция CLI --Xnat-kube-pod-name, чтобы указать имя балансировщика нагрузки, используемого диспетчером nat Kubernetes #1078.

  • Локальное разрешение TOML-конфигурации теперь поддерживает дополнительные ключи (nodes-allowlist и accounts-allowlist). Поддержка nodes-whitelist и accounts-whitelist будет удалена в будущем выпуске.

  • Добавьте отсутствующее поле mixHash для конечных точек JSON RPC eth_getBlockBy* #1098.

Besu теперь имеет строгую проверку частных транзакций, чтобы убедиться, что privateFrom в транзакции совпадает с ключом отправителя Orion, который распространил полезную нагрузку. Для работы Besu 1.5+ требуется Orion 1.6+.

Исправления ошибок

В этом выпуске нет исправлений ошибок, влияющих на пользователя (https://wiki.hyperledger.org/display/BESU/Changelog).

Известные проблемы

Известные проблемы — это открытые проблемы, классифицированные как проблемы с очень высоким или высоким уровнем воздействия (https://wiki.hyperledger.org/display/BESU/Defect+Prioritisation+Policy).

Новые известные проблемы

  • Использование K8S для разрешения IP-адресов служб вместо IP-адресов модулей может привести к сбою #1190. Обходной путь — не использовать разрешение в K8S.

  • Перезапуск из-за нехватки памяти может вызвать несогласованное состояние частной сети #1110. Обходной путь — убедитесь, что вы выделили достаточно памяти для среды выполнения Java, чтобы узел не исчерпал память.

Ранее выявленные известные проблемы

  • Область запроса журналов, вызывающая зависание Besu (KNOWN_ISSUES.md#scope-of-logs-query-causing-besu-to-hang).
  • Eth/65 теряет пиров (KNOWN_ISSUES.md#eth65-loses-peers).
  • Быстрая синхронизация при работе Besu на облачных провайдерах (KNOWN_ISSUES.md#fast-sync-when-running-besu-on-cloud-providers).
  • Пользователи конфиденциальности с частными транзакциями, созданными с использованием v1.3.4 или более ранней версии (KNOWN_ISSUES.md#privacy-users-with-private-transactions-created-using-v134-or-earlier).

Ссылка для скачивания

https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/1.5.0/besu-1.5.0.zip

sha256sum: 56929d6a71cc681688351041c919e9630ab6df7de37dd0c4ae9e19a4f44460b2

Для ссылок для скачивания выпусков до 1.5.0 посетите https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/

1.4.6

Дополнения и улучшения

  • Выводить адрес узла при запуске #938.
  • Пул транзакций: механизм замены цены bump настраивается через CLI #928 #930.

Исправлены ошибки

  • Добавлен тайм-аут для запросов #986.
  • Исправлена проблема, из-за которой сети, использующие разрешение по цепочке, могли останавливаться, когда загрузочные узлы не были валидаторами #969.
  • Обновите метод getForks, чтобы игнорировать параметр цепочки ClassicForkBlock, чтобы исправить проблему с синхронизацией ETC #1014.

Известные проблемы

Известные проблемы — это открытые проблемы, классифицированные как проблемы с очень высоким или высоким уровнем воздействия (https://wiki.hyperledger.org/display/BESU/Defect+Prioritisation+Policy).

Ранее идентифицированные известные проблемы

  • Область запроса журналов, вызывающая зависание Besu (KNOWN_ISSUES.md#scope-of-logs-query-causing-besu-to-hang).
  • Eth/65 теряет пиров (KNOWN_ISSUES.md#eth65-loses-peers).
  • Быстрая синхронизация при работе Besu на облачных провайдерах (KNOWN_ISSUES.md#fast-sync-when-running-besu-on-cloud-providers).
  • Пользователи конфиденциальности с частными транзакциями, созданными с использованием v1.3.4 или более ранней версии (KNOWN_ISSUES.md#privacy-users-with-private-transactions-created-using-v134-or-earlier).

1.4.5

Дополнения и улучшения Readme

Обновлено с учётом изменений.

  • Решены проблемы с быстрым запуском службы #714 и устранены ошибки #662.

Известные проблемы

Известные проблемы — это открытые вопросы, классифицированные как «Очень высокое» или «Высокое воздействие» (https://wiki.hyperledger.org/display/BESU/Defect+Prioritisation+Policy).

Новые известные проблемы

— При вызове delete mapping[addr] или mapping[addr] = 0 возвращается Intrinsic gas exceeds gas limit #696.

Сбой вызова delete и установка в 0 Solidity mapping в Solidity.

Ранее выявленные известные проблемы

  • Eth/65 не обратно совместим (KNOWN_ISSUES.md#eth65-not-backwards-compatible).
  • Ошибка полной синхронизации с обрезкой (KNOWN_ISSUES.md#error-full-syncing-with-pruning).
  • Быстрая синхронизация при запуске Besu на облачных провайдерах (KNOWN_ISSUES.md#fast-sync-when-running-besu-on-cloud-providers).
  • Узлы начальной загрузки должны быть валидаторами при использовании разрешения onchain (KNOWN_ISSUES.md#bootnodes-must-be-validators-when-using-onchain-permissioning).
  • Пользователи конфиденциальности с частными транзакциями, созданными с использованием v1.3.4 или ранее (KNOWN_ISSUES.md#privacy-users-with-private-transactions-created-using-v134-or-earlier).

1.4.3

Проблемы, выявленные с выпуском 1.4.3

Изменение eth/65 не обратно совместимо. Это имеет следующие последствия:

  • В частной сети узлы, использующие клиент версии 1.4.3, не могут взаимодействовать с узлами, использующими клиенты версии 1.4.2 или более ранней.
  • Синхронизация в основной сети в конечном итоге останавливается.

Обходной путь -> вернуться к версии 1.4.2.

В настоящее время тестируется исправление.

Критическая проблема для пользователей конфиденциальности

Выявлена критическая проблема для пользователей, работающих с конфиденциальностью и использующих частные транзакции, созданные с помощью Hyperledger Besu версии 1.3.4 или более ранней. Если у вас есть сеть с частной транзакцией, созданной с использованием версии 1.3.4 или более ранней, пожалуйста, прочитайте следующее и примите соответствующие меры: https://wiki.hyperledger.org/display/BESU/Critical+Issue+for+Privacy+Users.

Дополнения и улучшения

  • Добавлена поддержка eth/65. #608.
  • Добавлены события добавления блока и реорганизации блоков. Добавлено обоснование возврата к транзакциям добавленного блока. #637.

Устарело

  • Закрытое поле транзакции hash и метод getHash() устарели. Они будут удалены в выпуске 1.5.0. #639.

Известные проблемы

Быстрая синхронизация при работе Besu на облачных провайдерах

Известная проблема RocksDB приводит к сбою быстрой синхронизации при работе Besu на некоторых облачных провайдерах. Отображается следующая ошибка:

...
EthScheduler-Services-1 (importBlock) | ERROR | PipelineChainDownloader | Chain download failed. Restarting after short delay.
java.util.concurrent.CompletionException: org.hyperledger.besu.plugin.services.exception.StorageException: org.rocksdb.RocksDBException: block checksum mismatch:
....

Такое поведение наблюдалось на AWS и Digital Ocean.

Обходное решение -> На AWS требуется полный перезапуск виртуальной машины AWS для перезапуска быстрой синхронизации.

Быстрая синхронизация в настоящее время не поддерживается на Digital Ocean. Мы изучаем варианты добавления поддержки быстрой синхронизации на Digital Ocean.

Ошибка полной синхронизации с обрезкой

Ошибка синхронизации с основной сетью на узле Besu 1.3.7 — MerkleTrieException #580. Связанная ошибка — Невозможно загрузить значение узла дерева по хешу, и она вызвана сочетанием полной синхронизации и обрезки.

Временные решения:

  1. Явно отключите обрезку с помощью --pruning-enabled=false при быстрой синхронизации.
  2. Если возникает MerkleTrieException, удалите базу данных и повторно синхронизируйте.

Активно ведётся работа над исправлением этой проблемы. ### Спецификация файла учётных данных RPC не должна включать принудительную аутентификацию RPC #454

Улучшенные сообщения estimateGas #436. Когда запрос estimateGas не проходит проверку, в ответе возвращается улучшенное сообщение об ошибке.

Ранний доступ

Функции раннего доступа — это доступные функции, которые не рекомендуются для производственных сетей и могут иметь нестабильные интерфейсы.

  • Группы конфиденциальности в сети с возможностью добавления и удаления участников. Невозможность повторно добавить участника в группу конфиденциальности в сети является известной проблемой [https://github.com/hyperledger/besu/issues/455] с функциональностью добавления и удаления.

Известные проблемы

Быстрая синхронизация по умолчанию использует полную синхронизацию

— Когда быстрая синхронизация не может найти достаточно действительных пиров достаточно быстро, Besu по умолчанию выполняет полную синхронизацию.

Обходные пути:

  1. Чтобы повторить попытку быстрой синхронизации вместо продолжения полной синхронизации, остановите Besu, удалите базу данных и запустите снова.
  2. При быстрой синхронизации явно отключите обрезку с помощью --pruning-enabled=false, чтобы уменьшить вероятность возникновения ошибки обрезки.

Исправление для устранения перехода по умолчанию к полной синхронизации находится в разработке [https://github.com/hyperledger/besu/pull/427] и планируется включить в версию 1.4.1.

Ошибка при полной синхронизации с обрезкой

— Ошибка синхронизации с основной сетью на узле Besu 1.3.7 — MerkleTrieException #BESU-160. Связанная ошибка: «Невозможно загрузить значение узла дерева Меркла для хэша». Она вызвана сочетанием полной синхронизации и обрезки.

Обходные пути:

  1. Явно отключите обрезку, используя --pruning-enabled=false при быстрой синхронизации.
  2. Если возникает исключение MerkleTrie, удалите базу данных и выполните повторную синхронизацию.

Расследование этой проблемы продолжается, и исправление запланировано для версии 1.4.1.

Узлы начальной загрузки должны быть валидаторами при использовании разрешения в цепочке

— Разрешение в цепочке не позволяет узлам устанавливать одноранговые соединения при использовании узла начальной загрузки, который не является валидатором #BESU-181.

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

Версия 1.4.0

Миграция частного состояния

Hyperledger Besu версии 1.4 реализует новую структуру данных для хранения частного состояния, которая не совместима с предыдущими версиями. Миграция будет выполнена при первом запуске версии 1.4 для повторной обработки существующих частных транзакций и повторного создания данных частного состояния в формате версии 1.4.

Если у вас есть существующие частные транзакции, см. подробности миграции [docs/Private-Txns-Migration.md].

Дополнения и улучшения

  • Поддержка TLS [https://besu.hyperledger.org/en/latest/Concepts/TLS/] для защиты клиентского и серверного взаимодействия.

  • Мультиарендность [https://besu.hyperledger.org/en/latest/Concepts/Privacy/Multi-Tenancy/] для одновременного использования одного и того же узла Besu и Orion несколькими участниками.

  • Плагин API [https://besu.hyperledger.org/en/latest/Concepts/Plugins/] для создания Java-плагинов для расширения Hyperledger Besu.

  • Поддержка дополнительных методов NAT [https://besu.hyperledger.org/en/latest/HowTo/Find-and-Connect/Specifying-NAT/].

  • Добавлен метод priv_call [https://besu.hyperledger.org/en/latest/Reference/API-Methods/#priv_call], который вызывает локально частную функцию контракта и не изменяет частное состояние.

  • Besu перешёл от внутренней библиотеки Bytes к библиотеке Apache Tuweni Bytes [https://tuweni.apache.org/] #295 и #215. Это включает использование библиотеки в интерфейсах API плагинов.

Ранний доступ

Ранний доступ — это функции, доступные для тестирования, но не рекомендованные для производственных сетей. Они могут иметь нестабильный интерфейс.

  • Конфиденциальность, совместимая с реорганизацией [https://besu.hyperledger.org/en/latest/Concepts/Privacy/Privacy-Overview/#reorg-compatible-privacy], для включения частных транзакций в сетях, использующих механизмы консенсуса, которые разветвляются.

  • Трассировка. Оба параметра подписанных клиентов CA отключены, а файл известных клиентов не указан.

Stable Plugins APIs #346

Сервис BesuEvents и связанный с ним пакет данных были отмечены как стабильный API плагина.

Исправления ошибок

  • Возврат отсутствующих подписантов из getSignerMetrics #343.

Экспериментальные функции

  • Экспериментальная поддержка trace_replayBlockTransactions — несколько PR.

Добавлена поддержка вызова JSON-RPC trace_replayBlockTransactions. Чтобы включить этот API, добавьте TRACE в параметры rpc-http-api (например, --rpc-http-api TRACE в командной строке).

Этот API не готов к работе в производственной среде. Существуют известные ошибки, связанные с отслеживаемой памятью вызовов и возвратов, и расчёт газа, сообщаемый в плоских трассах, не всегда совпадает с правильным расчётом газа для консенсуса.

1.4 Beta 2

Дополнения и улучшения

  • Включение TLS для JSON-RPC HTTP Service #253.

Представлены новые параметры командной строки для включения TLS на интерфейсе Ethereum JSON-RPC HTTP, чтобы клиенты вроде EthSigner могли подключаться через TLS: --rpc-http-tls-enabled=true (Необязательно — требуется только если --rpc-http-enabled установлен в true) Устанавливается в true для включения TLS. По умолчанию — false. --rpc-http-tls-keystore-file="/path/to/cert.pfx" (Обязательно, если включён TLS) Путь к хранилищу ключей формата PKCS12, которое содержит сертификат сервера и его закрытый ключ. --rpc-http-tls-keystore-password-file="/path/to/cert.passwd" (Обязательно, если включён TLS) Путь к текстовому файлу, содержащему пароль для разблокировки хранилища ключей. --rpc-http-tls-known-clients-file="/path/to/rpc_tls_clients.txt" (Необязательно) Путь к файлу в формате простого текста, содержащего разделённые пробелами общее имя сертификата клиента и отпечатки пальцев sha-256, когда они не подписаны известным CA. Наличие этого файла (даже пустого) включает аутентификацию клиента TLS. То есть клиент представляет сертификат серверу при установлении связи TLS, и сервер устанавливает, что сертификат клиента либо подписан надлежащим/известным CA, либо доверяет сертификату клиента, читая отпечаток пальца sha-256 из указанного выше файла известных клиентов.

Формат файла следующий (в качестве примера): localhost DF:65:B8:02:08:5E:91:82:0F:91:F5:1C:96:56:92:C4:1A:F6:C6:27:FD:6C:FC:31:F2:BB:90:17:22:59:5B:50

Исправлены ошибки

  • TotalDifficulty — это BigInteger #253. Не пытайтесь привести общую сложность к long, так как она переполнит long в разумные сроки.

1.4 Beta 1

Добавления и улучшения

  • Besu перешёл от внутренней библиотеки Bytes к библиотеке Bytes от Apache Tuweni https://tuweni.apache.org/, включая использование библиотеки в интерфейсах API плагинов. #295 и #215.
  • Besu прекращает обработку блоков, если Orion недоступен #253.
  • Добавлен priv_call #250. Вызывает локальную функцию частного контракта и не изменяет частное состояние.
  • Поддержка EIP-2124 https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2124.md, что приводит к более быстрому обнаружению пиров #156.

1.3.8

Добавки и улучшения

  • admin_generateLogBloomCache JSON-RPC API для генерации кэша битовых блоков журнала, который улучшает производительность запросов журнала #262.

Критическое исправление в 1.3.7

Версия 1.3.7 включает критическое исправление для пользователей Ethereum MainNet и обновление Muir Glacier. Мы рекомендуем пользователям общедоступных сетей Ethereum (MainNet, Ropsten, Rinkeby и Goerli) немедленно выполнить обновление. Это обновление также настоятельно рекомендуется для пользователей частных сетей.

Для получения дополнительной информации см. Hyperledger Besu Wiki https://wiki.hyperledger.org/display/BESU/Mainnet+Consensus+Bug+Identified+and+Resolved+in+Hyperledger+Besu.

Muir Glacier Совместимость

Для совместимости с обновлением Ethereum Muir Glacier используйте версию 1.3.7 или более позднюю.

Совместимость с ETC Agharta

Для обеспечения совместимости с обновлением ETC Agharta используйте версию 1.3.7 или более позднюю.

Версия 1.3.7

Дополнения и улучшения

  • Поддержка хардфорка: настройка блока активации Agharta для конфигурации ETC MainNet #251 (спасибо soc1c).
  • Опция командной строки operator generate-log-bloom-cache для генерации кэша битов блочных блоков, что улучшает производительность запросов к журналу #245.

Исправления ошибок

  • Решает проблему консенсуса в основной сети #254.

Новый сопровождающий

Эдвард Мак добавлен в качестве нового сопровождающего.

Версия 1.3.6

Дополнения и улучшения

  • Улучшения производительности:
    • Многопоточные веб-сокеты для увеличения пропускной способности #231.
    • Улучшение производительности NewBlockHeaders #230.
  • EIP2384 — регулировка «Ледникового периода» вокруг Стамбула #211.
  • Поддержка хардфорков:
    • MuirGlacier для Ethereum Mainnet и тестовой сети Ropsten.
    • Agharta для тестовых сетей Kotti и Mordor.

Исправления ошибок

  • #210 исправляет обработку кадров WebSocket. Влияние на пользователя: обработка кадров PING/PONG в сервисах Websocket не была реализована.

Версия 1.3.5

Дополнения и улучшения

  • Потоковая передача событий журнала для API плагина #186.
  • Разрешить использование внешнего открытого ключа JWT в аутентифицированных API #183.
  • Конфигурация ETC, классический форк-валидатор одноранговых узлов #176 (спасибо edwardmack).
  • Позволить валидаторам IBFT изменяться в заданном блоке #173.
  • Поддерживать внешнее майнинг с использованием Stratum #140 (спасибо atoulme).
  • Добавить дополнительные поля в частный отчёт о транзакции #85 (спасибо josh-richardson).
  • Документация по обрезке https://besu.hyperledger.org/en/latest/Concepts/Pruning/.

Технические улучшения

  • ETC — очистка #201 (спасибо GregTheGreek).
  • Пользовательская конфигурация открытого ключа анклава в файле авторизации #196.
  • Изменить CustomForks —> Переходы #193.
  • Передача идентификационной информации в RpcMethod из Http Service #189.
  • Удалить использование JsonRpcParameters из RpcMethods #188.
  • Устранено столкновение имён метрик между Privacy и RocksDB #187.
  • Мультиарендность: больше не указывайте открытый ключ при запросе… #185.
  • Обновления для тестов сборки круга #184.
  • Перенести зависимость Apache Tuweni в официальный выпуск #181 (спасибо atoulme).
  • Обновить Gradle до версии 6.0, поддержка Java 13 #180.
  • Поддержка форка ETC Atlantis #179 (спасибо edwardmack).
  • Поддержка форка ETC Gotham #178 (спасибо edwardmack).
  • Поддержка форка DieHard ETC #177 (спасибо edwardmack). ### 1.3

Изменение, вносящее ошибку

  • Запретить комментарии в файле Genesis JSON. #49

Дополнения и улучшения

  • Добавить параметр командной строки --required-block для работы с разделением цепочки блоков #79.
  • Хранить файл метаданных БД в корневом каталоге данных #46.
  • Добавить параметр командной строки --target-gas-limit #24 (благодаря новому участнику cfelde).
  • Разрешить частным контрактам доступ к публичному состоянию #9.

Технические улучшения

  • Менее подробные подписки на синхронизацию #59.
  • Возвращать ключ анклава вместо хэша частной транзакции #53.
  • Исправить ошибки сборщика мусора, когда узлы, которые должны были быть сохранены, удалялись #50.
  • Очистить конструкцию BesuConfiguration #51.
  • Частные ошибки tx nonce возвращают то же сообщение, что и любые tx #48.
  • Исправление стандартного ведения журнала #47.
  • Ввести виртуальную операцию #45.
  • Понизить уровень логирования RocksDBPlugin #44.
  • Инфраструктура для предоставления метрик PoA для плагинов #37.
  • Рефакторинг хранилища конфиденциальности #7.

1.2.4

Дополнения и улучшения

Технические улучшения

  • Рефакторит закрытый ключ пантеона в закрытый ключ подписи #34 (спасибо josh-richardson).
  • Поддержка префиксов BESU_ и PANTHEON_ для env var #32.
  • Использовать только полностью проверенные пиры для быстрого выбора точки поворота синхронизации #21.
  • Поддерживать откат версий для RocksDB #19.
  • Обновить библиотеку Cava до библиотеки Tuweni #18.
  • StateTrieAccountValue:Version должен быть записан как int, а не long #17.
  • Обрабатывать пиров обнаружения с обновлёнными конечными точками #12.
  • Изменить порт повторного тестирования. Перевод текста на русский язык:

#11

  • Переименовывает eea_getTransactionReceipt в priv_getTransactionReceipt #10 (благодаря josh-richardson).
  • Поддержка откатов версий для RocksDB #6.
  • Перенос AT DSL в отдельный модуль #3.

1.2.3

Дополнения и улучшения

  • Добавлена возможность переопределения конфигураций генезиса #1915.
  • Более детальная конфигурация логирования #1895 (благодаря matkt).

Технические улучшения

  • Архивация отчётов о тестах Docker #1921.
  • API событий: отброшенные транзакции, статус синхронизации и переименования #1919.
  • Удаление метрик из регистрации плагинов #1918.
  • Замена использования Instant.now в модуле IBFT #1911.
  • Обновление скрипта сборки plugins-api #1908.
  • Игнорирование ненадёжных тестов трассировки #1907.
  • Обеспечение публикации модуля plugin-api по правильному пути Maven #1905.
  • Возврат плагинов-API в этот репозиторий #1900.
  • Прекращение автоматического создания BesuInfo.java #1899.
  • Извлечение интерфейсов метрик в plugins-api #1898.
  • Исправление хранилища значений ключей, чтобы оно удаляло все значения #1894.
  • Тест Ethsigner #1892 (благодаря iikirilov).
  • Возвращать null вместо ошибки при получении приватной транзакции #1872 (благодаря iikirilov).
  • Реализация опции воспроизведения блока транзакций в режиме трассировки #1886.
  • Использовать объектный параметр вместо списка параметров для priv_createPrivacyGroup #1868 (благодаря iikirilov).
  • Рефакторинг тестов на принятие приватности #1864 (благодаря iikirilov).

1.2.2

Дополнения и улучшения

  • Поддержка больших чисел для опции --network-id #1891.
  • Добавлено eea_getTransactionCount Json Rpc #1861.
  • PrivacyMarkerTransaction должен быть подписан случайно сгенерированным ключом #1844.
  • Реализовать eth_getproof JSON RPC API #1824 (благодаря matkt).

Технические улучшения

  • Обновить использование команды pantheon blocks export #1887 (благодаря matkt).
  • Прекратить возвращать null для «ожидающих» вызовов RPC [#1883].
  • Ошибки проверки Blake являются серьёзными ошибками [#1882].
  • Добавить тестовые случаи для trace_replayBlockTransactions [#1881].
  • Упростить настройку тестового стенда JSON rpc spec [#1880].
  • Изменить формат импорта JSON [#1878].
  • Слушатели транзакций должны использовать шаблон подписчика [#1877].
  • Maven spotless [#1876].
  • Не кэшировать для localbalance. 1.2.1

Дополнения и улучшения

  • Удалён плагин release в пользу нового процесса с ветками (#1841, #1843, #1848, #1855).

  • Обновлены узлы Görli (#1842).

  • Удалена ненужная тестовая зависимость (#1839).

  • Добавлено предупреждение при использовании комментариев в файле genesis (#1838).

  • Добавлен экспериментальный флаг для отключения таймеров (#1837).

  • Исправлены тесты FlatFileTaskCollection (#1833).

  • Добавлена утилита импорта цепочки json (#1832).

  • Добавлены тесты для обхода дерева AllNodesVisitor (#1831).

  • Обновлено требование к privateFrom (#1829).

  • Сделан явным тот факт, что транслируемые аккаунты могут не иметь адреса (#1828).

  • Рефакторинг метода normalizeKeys (#1826).

  • Удаление мёртвых параметров (#1825).

  • Более приятное название для Corretto (#1819).

  • Изменение основного метода JSON-RPC для поддержки ReTestEth (#1815, #1818).

  • Добавление функции перемотки к блоку (#1814).

  • Поддержка механизмов уплотнения NoReward и NoProof (#1813).

  • Строгий короткий шестнадцатеричный код. - Ревизия строк для повторного тестирования #1812.

  • Генезис-парсинг приведён в порядок #1809.

  • Обновление Orion до версии 1.3.2 #1805.

  • Подписка на новые заголовки теперь выдаёт события только для канонических блоков #1798.

  • Переоценка опкодов в зависимости от размера дерева Меркла #1795.

  • Ревизия назначений версий по стандарту Istanbul #1794.

  • Обновлён RevertReason для возврата BytesValue #1793.

  • Изменён источник priv_getPrivacyPrecompileAddress #1786 (спасибо iikirilov).

  • Цепной идентификатор в опкоде по умолчанию возвращает 0 #1785.

  • Разрешено fixedDifficulty=1 #1784.

  • В образе Docker обновлены значения по умолчанию для интерфейсов хоста #1782.

  • Отслеживание преизображений ключей состояния счёта в мире #1780.

  • Модифицирован PrivGetPrivateTransaction для принятия публичного хэша транзакции #1778 (спасибо josh-richardson).

  • Удалён открытый ключ анклава из параметров #1789, #1777 (спасибо iikirilov).

  • Добавлено отслеживание преизображения ключа хранения #1772.

  • Обновлено возвращение метода priv_getPrivacyPrecompileAddress #1766 (спасибо iikirilov).

  • Тесты разрешений с поведением статических узлов #1764.

  • Интеграционный тест для создания контракта с privacyGroupId #1762 (спасибо josh-richardson).

  • Адрес локального узла в Clique и IBFT указан как адрес coinbase #1758, #1760.

  • Исправлена проверка подписи приватной транзакции #1753.

  • Конфигурация CI обновлена #1751, #1835.

  • Флаг CLI для установки размера кэша задачи WorldStateDownloader #1749 (спасибо matkt).

  • Vertx обновлён до версии 2.8.0 #1748.

  • RevertReason изменён на BytesValue #1746.

  • Статические узлы: приёмный тест #1745.

  • Указывается хешрейт 0, когда координатор майнинга не поддерживает майнинг #1744, #1757.

  • Реализован EIP-2200 — Net Gas Metering Revised #1743.

  • Проверка chainId в PrivateTransactionValidator #1741.

  • Снижена стоимость газа по умолчанию #1739.

  • Дублирование данных тестовых блоков удалено #1737.

  • Методы EEA переименованы в priv методы #1736 (спасибо josh-richardson).

  • Приёмный тест разрешения #1735, #1759.

  • Обработка nonce в GenesisState. ### Дополнения и улучшения

  • Добавлена поддержка протокола UPnP. #1334 (спасибо...)

К сожалению, без контекста невозможно перевести этот текст полностью. В запросе не хватает информации.

В ответе переведён только указанный фрагмент. Лимит доли исходящих соединений от пиров #1665.

EIP-1706 — отключить SSTORE с gasleft lt call stipend #1706.

EIP-1108 — изменить цену alt_bn128 #1704.

EIP-1344 — ChainID Opcode #1690.

Новый релиз образа Docker #1664.

Поддержка изменения уровня журнала во время выполнения #1656 (спасибо matkt).

Реализовать команду dump для выгрузки определённого блока из хранилища #1641 (спасибо matkt).

Добавить eea_findPrivacyGroup в Besu #1635 (спасибо Puneetha17).

Обновлённый eea send raw transaction с идентификатором группы конфиденциальности #1611 (спасибо iikirilov).

Добавлен Revert Reason #1603.

Технические улучшения

Удалить открытый ключ анклава из параметра #1789.

Обновить значения по умолчанию для интерфейсов хоста #1782.

Изменить PrivGetPrivateTransaction, чтобы он принимал хэш открытого tx #1778.

Удалить открытый ключ анклава из параметра #1777.

Возвращать адрес Ethereum адреса приватного прекомпила из priv_getPrivacyPrecompileAddress #1766.

Сообщать локальный адрес узла как coinbase в Clique и IBFT #1760.

Дополнительный интеграционный тест для создания контракта с privacyGroupId #1762.

Показывать 0 хешрейт, когда координатор майнинга не поддерживает майнинг #1757.

Исправить проверку подписи приватной транзакции #1753.

RevertReason изменён на BytesValue #1746.

Переименовать различные методы eea в приватные методы #1736.

Обновите версию Orion #1716.

Переименуйте флаг CLI для лучшего упорядочивания опций #1715.

Регулярные обновления зависимостей #1712.

Исправьте орфографическую ошибку в имени метода getApplicationPrefix #1711.

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

Исправление ошибки в eea get private transaction #1707 (спасибо iikirilov).

Переработать значения по умолчанию флага удалённого подключения #1705.

Сообщить о недопустимых параметрах из файла конфигурации #1703.

Добавьте ERROR в список параметров уровня журнала CLI #1699.

Включите опцию CLI разрешения учётных записей в сети #1686.

Освободить статические узлы от всех ограничений соединения #1685.

Рефакторинг анклава #1684.

Добавление поддержки опкодов и предкомпилированных версий #1683.

Используйте процент вместо дроби для опции процента удалённых подключений #1682.

Добавлено сообщение об ошибке. for calling eth_sendTransaction

  • Удалить инструкции по установке с помощью Chocolatey
  • удалить zulu-jdk8 из дымовых тестов
  • Добавить новые узлы MainNet
  • обновить дымовые тесты, чтобы использовать >= jdk11
  • Исправить обработку ограничения на удалённое подключение
  • Добавить accountVersion в MessageFrame
  • Изменить тип возвращаемого значения getChildren
  • Использовать шаблон сообщения Log4J вместо String.format
  • Возвращать хешрейт 0, когда не ведётся майнинг
  • Добавить хуки для валидации
  • Обновить до pantheon-build:0.0.6-jdk11, который действительно включает jdk11
  • Проверка запуска разрешения onchain
  • Обновите BesuCommand, чтобы он принимал minTransactionGasPriceWei как целое число (спасибо matkt)
  • Идентификатор группы конфиденциальности согласован (спасибо iikirilov)
  • Измените eea_getPrivateTransaction endpoint, чтобы принимать шестнадцатеричный код (спасибо Puneetha17)
  • Факторизовать код метрик для базы данных KeyValueStorage
  • Создать отслеживание размера БД
  • AT — Удаление неиспользуемых методов в KeyValueStorage
  • Добавьте предварительные требования и краткое руководство (спасибо lazaridiscom)
  • Обновления Java 11
  • Сделать тестовые сгенерированные ключи детерминированными в генераторе блоков
  • Переименовать privacyGroupId в createPrivacyGroupId (спасибо Puneetha17)
  • Периодические сбои теста в TransactionsMessageSenderTest
  • Проверьте здравомыслие сгенерированных файлов дистрибутива перед загрузкой
  • Используйте JDK 11 для сборок выпуска
  • Поддержка нескольких частных маркерных транзакций в блоке
  • Отображение прогресса синхронизации состояния мира в журналах
  • Удалите плагин gradle docker, теперь управляйте сборкой docker с помощью оболочки
  • Перейдите на использование имён метрик из EIP-2159
  • Версионирование учётной записи

1.1.4

Дополнения и улучшения

  • [PAN-2832] Поддержка настройки параметров конфигурации через переменные среды
  • Выводить версию Besu при запуске
  • [PAN-2746] Добавить конечные точки eea_createPrivacyGroup и eea_deletePrivacyGroup (спасибо Puneetha17)

Технические улучшения

  • Считывать конфигурацию из переменных среды, если файл конфигурации не указан to iikirilov)

  • Add placeholders system to have global variables in markdown #1425

1.1.1

Additions and Improvements

  • Поддержка GraphQL #1311 (спасибо zyfrank).
  • Добавлен параметр --tx-pool-retention-hours #1333.
  • Поддерживается файл Genesis для указания максимального размера стека. #1431.
  • Включены детали транзакций при подписке на ожидающие транзакции #1410.

Технические улучшения

  • Создан класс MaintainedPeers #1484.
  • Исправлена ошибка в разрешённой сети с одним узлом загрузки #1479.
  • Поддержка тестов плагинов ThreadBesuNodeRunner #1477.
  • Меньше бессмысленных ошибок плагинов #1473.
  • Переименован GraphQLRPC в просто GraphQL #1472.
  • eth_protocolVersion — это Quantity, а не Integer #1470.
  • Не требуется «to» в запросах блоков #1464.
  • Плагин событий — добавлено начальное сообщение о событии «NewBlock» #1463.
  • Поле ограничения в частной транзакции — перечисление #1462 (спасибо iikirilov).
  • Полезная ошибка graphql, когда учётная запись не существует #1460.
  • Очистка приёмочного теста #1458.
  • Большая поддержка идентификатора цепочки для частных транзакций #1452.
  • Оптимизация TransactionPool.addRemoteTransaction #1448.
  • Уменьшение синхронизации в PendingTransactions #1447.
  • Добавление простого интерфейса PeerPermissions #1446.
  • Обеспечение выполнения ThreadBesuNodeRunner автоматизацией #1442.
  • Декодирование пакетов devp2p вне потока событий #1439.
  • Разрешить файлам конфигурации указывать отсутствие узлов загрузки #1438.
  • Сбор всех журналов и ошибок в выводе журнала Besu #1437.
  • Гарантированное удаление неудачных транзакций при обнаружении во время майнинга #1436.
  • Платформа плагинов #1435.
  • Упрощение Equals #1434.
  • Контроллер разрешений смарт-контрактов транзакций #1433.
  • Переназван AccountPermissioningProver в TransactionPermissio… #1432.
  • Рефакторинг и дополнения для добавления разрешения смарт-контракта на основе аккаунта #1430.
  • Исправление обработки PeerInfo p2p #1428.
  • IbftProcessor регистрирует завершение майнинга из-за исключения #1427.
  • Переназванный AccountWhitelistController #1424.
  • Разворачивание DelegatingBytes32 и предотвращение обёртывания Hash другими экземплярами Hash #1423.
  • Если nonce недействителен, не удалять во время майнинга. - Удаление неиспользуемого файла Jenkinsfile для Windows #1422.
  • Сбор всех дымовых тестов для всех платформ в одном задании Jenkins #1421.
  • Добавление ожидающего объекта в запросы GraphQL #1419.
  • Запуск прослушивания p2p-соединений после вызова start() #1418.
  • Улучшение ответов JSON-RPC при наличии недопустимого идентификатора EnodeId в параметре EnodeURI #1417.
  • Использование порта 0 при запуске сервера websocket в тестах #1416.
  • Дымовые тесты jdk для Windows #1413.
  • Изменение тестов AT discard RPC для повышения надёжности путём проверки с использованием предложений #1411.
  • Простое управление разрешениями учётных записей #1409.
  • Исправление кликового майнера для учёта изменений данных vanity, сделанных через JSON-RPC #1408.
  • Избегание пересчёта фильтра логов bloom при чтении квитанций #1407.

И так далее.

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

В запросе упоминаются:

  • проблемы, которые необходимо решить;
  • улучшения, которые нужно внести в код;
  • ссылки на конкретные запросы на вытягивание (pull request) на GitHub.

Основной язык текста — английский.

Для определения основного языка текста запроса использовался метод частотного анализа. В запросе преобладают слова английского происхождения, а также используются английские аббревиатуры и термины. Когда запрашивается в реальном времени #1338:

  • исправление: статистика транзакций доступна #1337;
  • нормализация адресов разрешений учётных записей в белом списке #1321;
  • обновление метода executePost в анклаве #1319;
  • исправление проверки соответствия разрешений учётной записи #1315;
  • удаление «all» из текста справки для хост-белого списка #1304.

1.1 RC

Технические улучшения

  • улучшенные сообщения об ошибках при неправильной настройке разрешения контракта #1296;
  • объединение методов информации о p2p узле #1288;
  • обновление интерфейса смарт-контракта разрешения в соответствии с обновлённым предложением EEA #1287;
  • переключение на новый целевой объект синхронизации, если он превышает порог td #1286;
  • устранение проблем с выполнением AT с помощью встроенного средства запуска узлов #1285;
  • упрощение конструкции enode #1283;
  • очистка интерфейса PeerConnection #1282;
  • отмена изменений видимости метода PendingTransactions #1281;
  • использование стандартного открытого ключа анклава для генерации eea_getTransactionReceipt #1280 (благодаря Puneetha17);
  • откат к rocksdb 5.15.10 #1279;
  • регистрация ошибки при возникновении проблемы с декодированием JSON #1278;
  • создание построителя EnodeURL #1275;
  • сохранение идентификатора узла enode как BytesValue #1274;
  • перемещение подкласса в команде pantheon #1272;
  • предоставление опции режима синхронизации #1270;
  • рефакторинг RocksDBStats #1266;
  • нормализация EnodeURLs #1264;
  • сборка не работает в Java 12 #1263;
  • уменьшение нестабильности теста PeerDiscovertAgentTest #1262;
  • игнорирование дополнительных параметров json rpc #1261;
  • получение локальных транзакций изолированно #1259;
  • обновление для отслеживания транзакций #1258;
  • использование помеченного таймера для различения показателей rocks db #1254 (благодаря Puneetha17);
  • перенос TransactionPool (& связанного теста) из 'core' в 'eth' #1251;
  • использование одного экземпляра Rocksdb для обеспечения конфиденциальности #1247 (благодаря Puneetha17);
  • подписка на события синхронизации должна возвращать false, когда синхронизация завершена #1240;
  • игнорирование транзакций из сети, пока отстаёт от головы цепи #1228;
  • статистика RocksDB в метриках #1169;
  • добавление методов трассировки блоков RPC #1088 (спасибо kziemianek).

1.0.3

Дополнения и улучшения

  • уведомление об отброшенных сообщениях #1156.

Технические улучшения

  • выбор целевого объекта синхронизации на основе td, а не высоты. - CLI ewp options
  • Обновление BesuCommand.java
  • Уменьшение использования памяти при импорте
  • Улучшение сообщений об ошибках eea_sendRawTransaction (благодаря Puneetha17)
  • Фильтр одной темы
  • Включение загрузчика цепочки пайплайна для быстрой синхронизации
  • Сделать размер контракта настраиваемым
  • Рефакторинг конфигурации PrivacyParameters с использованием паттерна Builder (благодаря antonydenyer)
  • Различные лимиты запросов для разных типов запросов
  • Завершение быстрой синхронизации пайплайн-загрузки
  • Включить опции быстрой синхронизации в командной строке
  • Заменить фильтрацию заголовков после факта расчётом числа для запроса заранее
  • Поддержка асинхронной обработки при сохранении порядка вывода
  • Добавить нестабильные опции в CLI
  • Добавить частные кластерные приемочные тесты (благодаря Puneetha17)
  • Перестроить интерфейс смарт-контракта в соответствии со спецификацией клиента EEA 477
  • Подсчитать количество отброшенных элементов при прерывании пайплайна
  • Цепочка загрузки пайплайна — получение и импорт данных
  • Поставщик разрешений, который позволяет bootnodes, если у вас нет других подключений
  • Отменять незавершённые асинхронные операции при прерывании пайплайна
  • Проверка контрольных точек в цепочке загрузки пайплайна
  • Отправить образы разработки на публичный dockerhub
  • Отправлять сборки мастера как образы разработки docker
  • CI-конвейер документации для сборки и тестов
  • Заменить использование слушателя разъединения на EthPeer.isDisconnected
  • Подготовка загрузчика цепочек к абстракции ветвления
  • Поддерживать состояние MessageFrame в приватной транзакции Tx (благодаря Puneetha17)
  • Сохранять состояние приватного мира только в случае майнинга (благодаря Puneetha17)
  • Удалить SyncState из SyncTargetManager
  • Приёмочные тесты для разрешения узла смарт-контрактов
  • Исправить поломки метрик
  • Типо (благодаря araskachoi)
  • StaticNodesParserTest должен проходить на Windows
  • Не отмечать состояние мира как приостановленное до достижения минимального времени без прогресса 1.0.2

Additions and Improvements

  • Удалён DB init при использовании подкоманды public-key #1049.
  • Вывод URL enode при запуске #1137.
  • Добавлен Remove Peer JSON-RPC #1129.
  • Добавлен net_enode JSON-RPC #1119 (спасибо mbergstrand).
  • Поддержка staticnodes.json #1106.
  • Добавлена командная строка параметра tx-pool-max-size #1078.
  • Добавлены PendingTransactions JSON-RPC #1043 (спасибо EdwinLeeGreene).
  • Добавлен admin_nodeInfo JSON-RPC #1012.
  • Добавлен CLI --metrics-category, чтобы включать только выбранные метрики #969.

Технические улучшения

  • Исправлено сохранение self в белый список #1176.
  • Исправлено добавление self в разрешение белого списка #1175.
  • Исправлены проблемы с разрешением #1174.
  • AdminAddPeer возвращает пользовательский код ошибки Json RPC #1171.
  • Периодическое подключение к узлам из таблицы #1170.
  • Улучшено сообщение об ошибке опции bootnodes #1092.
  • Автоматическое ограничение конечных узлов во время синхронизации #1167.
  • Избегание привязки к себе #1166.
  • Fix Push Metrics #1164.
  • Synchroniser ждёт нового узла, если лучший узел актуален #1161.
  • Не пытаться загрузить заголовки контрольных точек, если количество заголовков отрицательное #1158.
  • Сбор метрик на очередях Vertx event loop и рабочих потоков #1155.
  • Упрощение разрешений узлов ATs #1153.
  • Добавление метрик вокруг процесса обнаружения #1152.
  • Предотвращение подключения к себе #1150.
  • Рефакторинг разрешений ATs #1148.
  • Добавлено два дополнительных узла Ropsten #1147.
  • Исправлена обработка TCP порта #1144.
  • Лучшая ошибка при плохом заголовке #1143.
  • Обновление таблицы узлов, пока у нас подключено меньше максимального количества узлов #1142.
  • Реорганизация потребления jsonrpc локальным контроллером разрешения узлов #1140.
  • Отключение узлов перед поворотным блоком при быстрой синхронизации #1139.
  • Уменьшение размера пула транзакций по умолчанию с 30 000 до 4096 #1136.
  • Сбой при загрузке, если статические узлы не включены в белый список #1135.
  • Исправление теста на принятие частной транзакции #1134 (спасибо Puneetha17).
  • Более тихие исключения, когда сеть недоступна #1133.

Примечание: данный текст является переводом исходного текста, предоставленного в запросе. В нём могут быть неточности или ошибки. Удалить дубликаты из API, указанных через интерфейс командной строки.

Синхронизатор возвращает false, если он синхронизирован.

Добавлен fromHexStringStrict для проверки ровно 20-байтных адресов.

Исправлен сценарий взаимоблокировки в AsyncOperationProcessor и повторно включён WorldStateDownloaderTest.

Игнорируется WorldStateDownloaderTest.

Обновлены флаги разрешений локального конфига.

Улучшения пайплайна.

Разрешение на использование смарт-контракта.

Добавление значения ожидающих транзакций по умолчанию в BesuControllerBuilder.

Исправление периодичности в WorldStateDownloaderTest.

Уменьшено количество отслеживаемых блоков и транзакций Besu.

Тайм-аут длинного теста.

Обновление Errorprone до версии 2.3.3.

Добавить метрику для отслеживания памяти, используемой считывателями таблиц RocksDB.

Не разрешать создание нескольких датчиков с одинаковым именем.

Обновить Peer Discovery для использования NodePermissioningController.

Процесс загрузки начального состояния мира перемещён внутрь WorldDownloadState.

Включить возможность приватных транзакций для Clique (спасибо Puneetha17).

Включить приватные транзакции для IBFT (спасибо Puneetha17).

Усовершенствования версии.

Не удалять завершённые задачи из RocksDbTaskQueue.

Поддержка плоского отображения с несколькими потоками.

Добавлять название этапа пайплайна в поток при выполнении.

Использовать пайплайн для загрузки состояния мира.

Изменения JSON RPC для TXPool.

Создать кэш в памяти поверх очереди загрузки состояния мира.

Оптимизировать стандартные метрики.

Улучшить строку журнала импортированных блоков.

Контроллер разрешений смарт-контрактов.

Установить тайм-аут при ожидании остановки служб JSON-RPC, WebSocket RPC и Metrics.

Внедрить фреймворк пайплайнов для упрощения параллельной обработки.

Контроллер разрешения узлов.

Заглушка контроллера разрешений смарт-контрактов.

Предоставить синхронный метод запуска в Runner.

Изменение заголовка цепи должно инициировать новую проверку разрешений для активных пиров.

Исправить исключения при получении метрик после завершения загрузки состояния мира. Отправитель одноразового номера #1065.

Исправить Istanbul, чтобы обрабатывать Eth/62 и Eth/63 #1063.

Закрыть частный поставщик хранилища #1059 (спасибо Puneetha17).

Добавить метки к задачам конвейера метрик #1057.

Повторно включить синхронизацию кворума #1056.

Не регистрировать ожидаемые сбои как ошибки #1054.

Сделать findSuitablePeer абстрактным #1053.

Отслеживать добавленное в txpool #1048.

Исправить ImportBlocksTask, чтобы запрашивать только у пиров, которые заявляют о наличии блоков #1047.

Не запускать валидатор блока DAO, если блок DAO равен 0 #1044.

Избежать ненужных копий данных в RocksDbKeyValueStorage #1040.

Обновить логику обнаружения, чтобы доверять начальным узлам только при рассинхронизации #1039.

Исправить IndexOutOfBoundsException в DetermineCommonAncestorTask #1038.

Добавить rpc_modules JSON-RPC #1036.

Простой смарт-контракт разрешений #1035.

Рефакторинг enodeurl для использования inetaddr #1032.

Обновить параметры CLI в сообщении о несоответствии файла генезиса #1031.

Убрать зависимость eth.core от eth.permissioning #1030.

Сделать alloc необязательным и предоставить более приятные сообщения об ошибках при неверном конфиге генезиса #1029.

Обрабатывать закрытие запроса метрики до того, как будет сгенерирован ответ #1028.

Изменить EthNetworkConfig начальные узлы всегда быть URI #1027.

Избегать конфликтов портов в приёмочных тестах #1025.

Включить контрольные тесты в jacoco #1024.

Приёмочный тест — настраиваемая цена газа #1023.

Получить внутренние логи и вывод #1022 (спасибо Puneetha17).

Исправить состояние гонки в WebSocketService #1021.

Убедиться, что порты devp2p правильно записаны в файл портов #1020.

Сообщать правильный TCP-порт в пакетах PING, когда он отличается от UDP-порта #1019.

Реорганизовать временный обработчик транзакций #1017.

Возобновить загрузку состояния мира из существующей очереди #1016.

Обновлены приёмочные тесты IBFT с более длительным таймаутом на первом блоке #1015.

Обновите приёмочные тесты IBFT, чтобы дождаться первого блока #1013.

Удалить полную реализацию Хасимото, поскольку она никогда не используется #1011.

Созданы уведомления SyncStatus #1010.

Устранить прерывистость приёмочного теста #1008.

Рассмотреть возможность остановки загрузки состояния мира после 100 запросов без прогресса #1007.

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

В версии 1.0 отсутствовала подкоманда экспорта адреса открытого ключа.

Добавления и улучшения: — добавлена подкоманда «public-key export-address» #888.

1.0

[Здесь должен быть перевод текста, но он не может быть выполнен из-за отсутствия контекста.]

Примечание: в ответе сохранены форматирование и гиперссылки из исходного запроса. Дополнения и улучшения

  • IBFT 2.0.
  • Permissioning.
  • JSON-RPC Authentication.

Добавлена команда rlp encode [#965]. Метод перезагрузки файла разрешений [#834]. Добавлено повторное связывание для Websockets [#905]. Поддержка кода контракта генезиса [#749] (спасибо kziemianek).

Технические улучшения

  • RoundChangeCertificateValidator требует уникальных авторов [#997].
  • Тесты RPC могут использовать петлевой адрес 127.0.0.1 вместо localhost [#979].
  • Реализация интеграционного теста для IDE, отличных от IntelliJ [#978].
  • Импортировать блок только в том случае, если его ещё нет в цепочке блоков [#977].
  • Отключить ansi при тестировании [#975].
  • Создавать пакеты обнаружения пиров в рабочем потоке [#961].
  • Убрана зависимость от моментального снимка Orion [#933].
  • Использовать сетевой идентификатор вместо идентификатора цепочки в MainnetBesuController [#929].
  • Распространять новые сообщения о блоках на другие клиенты в рабочем потоке [#928].
  • Параллельный загрузчик должен останавливаться при запросе [#927].
  • Расположение конфигурационного файла разрешений и опция в Docker [#925].
  • Исправлен потенциальный сбой при загрузке состояния мира [#922].
  • Рефакторинг для введения deleteOnExit() для временных файлов [#920].
  • Уменьшить уровень журнала «Получено сообщение о транзакциях» с отладки до трассировки [#919].
  • Обрабатывать исключения PeerNotConnected при отправке keep alives по сети [#918].
  • admin_addpeers: ошибка, если узел не внесён в белый список [#917].
  • Сделать Ibft MiningCoordinator доступным [#916].
  • Проверять perm api на соответствие perm cli [#915].
  • Обновлять метрики при завершении запроса состояния мира с существующими данными [#914].
  • Улучшить производительность dequeue очереди RocksDBQueue [#913].
  • Ошибка при удалении bootnodes из белого списка узлов [#912].
  • Инкрементная оптимизация BlockBroadcaster [#911].
  • Проверить зависимости CLI разрешений [#909].
  • Ограничить количество повторных попыток взаимодействия с обнаружением пиров [#908].
  • В IBFT использовать VoteTallyCache [#907].
  • Добавить метрику для отображения количества запросов состояния мира в процессе выполнения [#906].
  • Bootnodes не внесены в белый список — улучшить ошибки [#904].
  • Сделать загрузку цепочки отменяемой [#901].
  • Заставить аккаунты начинаться с 0x [#900].
  • При выборе блока быстрой синхронизации использовать пиры с наилучшей общей сложностью [#899]. Скачать данные о состоянии мира в рабочем потоке #898.

— Справка по миксину CLI #895 (macfarla).

— Использовать абсолютный путь к данным вместо относительного. #894.

— Исправить очередь задач так, чтобы сохранялось обновлённое количество отказов для запросов #893.

— Исправить заголовок аутентификации #891.

— Реорганизовать задачи Eth #890.

— Модульные тесты BlockBroadcaster #887.

— Исправление ошибок проверки подлинности файла #886.

— Устранение проблем с расположением файлов в Docker #885.

— Правильно обрабатывать исключения в EthScheduler #884.

— Больше узлов загрузки для Goerli #880.

— Переименовать команду хеширования пароля #879.

— Добавить метрики для исполнителей EthScheduler #878.

— Отключать одноранговые узлы, удалённые из белого списка узлов #877.

— Уменьшить количество сообщений журнала от пакетов обнаружения и установления связи с недействительными узлами #876.

— Обнаруживать остановленные загрузки состояния мира #875.

— Ограничить размер буфера будущих сообщений Ibft #873.

— Ibft2: заменить NewRound расширенным предложением #872.

— Исправлена периодическая проверка поддерживаемых соединений admin_addPeer #871.

— Разрешения метода WebSocket #870.

— Выбирать новый опорный блок, когда состояние мира становится недоступным #869.

— Ввести FutureUtils для уменьшения дублирования кода вокруг CompletableFuture #868.

— Реализовать отмену состояния мира #867.

— Переименование команды CLI для переименования файла конфигурации аутентификации #865.

— Разбить проверку RoundChangeCertificate #864.

— Отключаться от узлов, общий предок которых находится до нашей быстрой синхронизации #862.

— Начальная разработка для распространения блоков #860.

— Исправлено исключение NullPointerException при определении быстрой синхронизации #859.

— Проверка недопустимого токена #856.

— Перенос NodeWhitelistController в пакет разрешений #855.

— Исправление состояния гонки при загрузке данных путём создания API TaskQueue #853.

— Изменён разделитель в разрешениях JSON RPC #852.

— Приёмочные испытания WebSocket теперь могут использовать WebSockets #851.

— IBFT уведомляет EthPeer, когда удалённый узел имеет лучший блок #849.

— Поддержка возобновления быстрой синхронизации загрузок #848.

— Настройка Tweak Fast Sync #847.

— Валидация конфигурации аутентификации RPC + тесты. #846.

— Очистка сохранения FastSyncState #845.

— Параллельно извлекать подписи в параллельном импортере блоков. #844. «Input is too long» error на Windows.

  • Убрать ненужный sleep.
  • Улучшения при завершении работы.
  • Ускорить время завершения работы.
  • Добавить метрики в загрузчик состояния мира.
  • Хранить заголовок блока pivot.
  • Clique должен использовать бенефициара с нулевым значением в блоках эпохи.
  • Clique должен игнорировать предложения для адреса 0.
  • Исправить непостоянство в FullSyncDownloaderTest.
  • Добавлена служба аутентификации к службе WebSocket.
  • Извлечь создание и инициализацию ProtocolContext в повторно используемый класс.
  • Предотвратить дублирование печатей фиксации в заголовке ibft.
  • Проверить длину данных тщеславия Ibft.
  • Рефакторинг аутентификации json rpc, чтобы она предоставлялась как услуга.
  • Обрабатывать недоступные состояния мира.
  • Пароль в полезной нагрузке JWT.
  • Сделать сообщения об ошибках однородными, когда требуются установленные параметры.
  • Установить удалённый одноранговый заголовок цепочки на родительский блок, полученный в NEW_BLOCK_MESSAGE.
  • Отключение однорангового узла не должно приводить к трассировкам стека.
  • Прервать предыдущие сборки.
  • Параллельные этапы сборки.
  • Аутентификация JWT для JSON-RPC.
  • Записывать ошибки, возникающие при поиске общего предка.
  • Перетасованные уровни журнала.
  • Предотвращать обработку дублирующихся сообщений IBFT машиной состояний.
  • Исправлены порты запуска Orion.
  • Непрерывно фиксировать состояние мира.
  • Улучшить время распространения блоков.
  • Опции и приёмочные испытания аутентификации cli JSON-RPC.
  • Удалить предупреждение о том, что конфиденциальность не поддерживается.
  • Подключить частный обработчик транзакций.
  • Применить ограничение к количеству ответов в RespondingEthPeer.respondWhile.
  • Избегать запроса пустых тел блоков из сети.
  • Обработка частичных ответов на запросы квитанций.
  • Переименовать функции в Ibft MessageValidator.
  • Обновить GoogleJavaFormat до версии 1.7.
  • Незначительные перестройки инфраструктуры IntegrationTest.
  • Изменить Ibft MessageValidatorFactory. — Изменить IbftRoundFactory. Ренумеровать артефакты в айтемфакты в IBFT.

Ренумеровать TerminatedRoundArtefacts в PreparedRoundArtefacts.

Ренумеровать методы MessageFactory в Ibft.

Обновить WorldStateDownloader, чтобы он фильтровал только известные запросы кода.

В нескольких вариантах имён искать только самый длинный вариант.

Переместить ethTaskTimer в абстрактный корень.

Реализовать параллельный импорт блоков.

Перед выбором опорного блока ждать появления узла с предполагаемой высотой цепи.

При быстрой синхронизации блоков случайным образом выполнять полную проверку.

Доработать сообщения IBFT, объединив блоки с сообщениями.

Добавить в EthScheduler.

Исправить проверку node whitelist isPermitted.

Этикетки Eth/63.

Сохранить разрешения в белый список.

Создать валидаторы сообщений для NewRound и RoundChange.

Провести тесты для FastSyncChainDownloader в целом.

Уплощить API сообщений IBFT.

Добавлены TerminatedRoundArtefacts.

Исправить названия потоков в EthScheduler, добавив номер потока.

Отделить приём изменения раунда от RoundChangeCertificate.

Аутентификация JSON-RPC при входе.

Разделить Ibft MessageValidator на компоненты.

Обеспечить, чтобы первый заголовок контрольной точки всегда был в локальной цепочке блоков для FastSyncCheckpointHeaderManager.

Реорганизовать компоненты разрешений, сделав их опциональными.

Интегрировать очередь на основе rocksdb в WorldStateDownloader.

Сделать orion общим для enclave.

Использовать типы сообщений в фабрике сообщений IBFT.

Правильно обрабатывать тайм-ауты при запросе заголовков контрольных точек.

Обновите RoundChangeManager, чтобы использовать уплощённое сообщение.

Обрабатывать сбои проверки при быстром импорте блоков.

Обновлённые API IbftRound и RoundState используют сообщения в обёртке.

Обработка исключений.

Обновление версий зависимостей и очистка сборки.

IbftBlockHeightManager принимает новые типы сообщений.

Обработка ответов об ошибках для API разрешений.

IPV6 bootnodes не работают.

Использование тегов сборки pantheon вместо другого репозитория.

Регистрация основных этапов при запуске и дополнительная регистрация. Улучшения

  • Создание типов-обёрток для подписанных сообщений Ibft #733.
  • Ibft для однозначной идентификации сообщений по их хешу #730.
  • Переименование ibftrevised в ibft2 #722.
  • Ограничение очередей сообщений ibft #704.
  • Реализация предкомпилированного контракта конфиденциальности #696 (благодаря Puneetha17).
  • Интеграция RecursivePeerRefreshState и PeerDiscoveryController #420.

Версия 0.9.1

Создана и совместима с JDK8.

Версия 0.9

Изменения, нарушающие работу программы, в командной строке

В версии 0.9 были внесены изменения в параметры командной строки для улучшения удобства использования. Многие параметры командной строки версии 0.8 больше не работают.

Документация была обновлена, чтобы использовать изменённые параметры командной строки, а справочник командной строки документирует изменённые параметры.

Предыдущий параметр Новый параметр Изменение
--config --config-file Переименован
--datadir --data-path Переименован
--dev-mode --network=dev Заменён на --network
--genesis --genesis-file Переименован
--goerli --network=goerli Заменён на --network
--metrics-listen=<HOST:PORT> --metrics-host=<HOST> и --metrics-port=<PORT> Разделены на хост и порт
--miner-extraData --miner-extra-data Переименован
--miner-minTransactionGasPriceWei --min-gas-price
------------------------------------------ --------------------------------------------------------------------------------------------------------- ---------------------------------------
Renamed
--no-discovery --discovery-enabled Заменено
--node-private-key --node-private-key-file Переименовано
--ottoman N/A Удалено
--p2p-listen=<HOST:PORT> --p2p-host=<HOST> и --p2p-port=<PORT> Разделено на опции хоста и порта
--rinkeby --network=rinkeby Заменено на опцию --network
--ropsten --network=ropsten Заменено на опцию --network
--rpc-enabled --rpc-http-enabled Переименовано
--rpc-listen=<HOST:PORT> --rpc-http-host=<HOST> и --rpc-http-port=<PORT> Разделено на опции хоста и порта
--rpc-api --rpc-http-api Переименовано
--rpc-cors-origins --rpc-http-cors-origins Переименовано
--ws-enabled --rpc-ws-enabled Переименовано
--ws-api --rpc-ws-api Переименовано
--ws-listen=<HOST:PORT> --rpc-ws-host=<HOST> и --rpc-ws-port=<PORT> Разделено на опции хоста и порта
--ws-refresh-delay --rpc-ws-refresh-delay Переименовано

Private Network Quickstart был перемещён из репозитория pantheon в репозиторий pantheon-quickstart. Учебное пособие по быстрому запуску частной сети было обновлено с учётом перемещения.

Дополнения и улучшения

  • Поддержка перезапуска тестовой сети Görli #717.
  • Поставщик аутентификации TOML #689.
  • Параметры шлюза метрик Push Gateway #678.
  • Дополнительные сведения о ведении журнала для IBFT 2.0 #650.
  • Файл конфигурации разрешений TOML #643.
  • Добавлена поддержка Prometheus Push Gateway для метрик #638.
  • Clique и IBFT по умолчанию не включены в API RPC #635.
  • Добавлен метод JSON-RPC API admin_addPeer #622.
  • Реализован элемент конфигурации --p2p-enabled #619.
  • Переименование параметров команд и команд #618.
  • Добавлены отложенные голоса IBFT #603.
  • Реализация петербургского хардфорка #601.
  • Добавлена абстракция частных транзакций #592 (спасибо iikirilov).
  • Добавлены команды конфиденциальности командной строки #584 (спасибо Puneetha17).

Технические улучшения

  • Загрузка квитанций во время быстрой синхронизации и импорт без обработки транзакций #701.
  • Удалены параметры CLI для --nodes-whitelist и --accounts-whitelist #694.
  • Делегировать getRootCause через реализацию Guava #692.
  • Обновление бенчмарка #691.
  • Внедрить загрузку цепочки для быстрой синхронизации #690.
  • Разрешить отсутствующим учётным записям создавать транзакции с нулевой стоимостью #685.
  • Расположение закрытого ключа узла должно быть исправлено под Docker #684.
  • Параллельная обработка импорта файлов #683.
  • Интегрировать фактический WorldStateDownloader с рабочим процессом быстрой синхронизации #682.
  • Удалён параметр --max-trailing-peers #680.
  • Включение предупреждения о параметрах, зависящих от CLI #679.
  • Обновить интерфейс запуска WorldStateDownloader, чтобы он принимал заголовок #677.
  • Исправлен калькулятор сложности #663.
  • Рефакторинг опции discovery-enabled #661.
  • Подход к изменению порта по умолчанию для Orion #660.
  • Извлечь общие части загрузчика. - Запуск загрузчика миров #659.
  • Создание простого WorldStateDownloader #658.
  • Добавлена обработка отключения p2p #657.
  • Включение настройки командной строки для конфиденциального предкомпилированного адреса контракта #653 (спасибо Puneetha17).
  • Пакеты, переданные IBFT, регистрируются сплетником #652.
  • Приёмочный тест admin_addPeer #651.
  • Добавление конфигурации p2pEnabled в ProcessBesuNodeRunner #649.
  • Добавлено описание к автоматическим бенчмаркам #646.
  • Добавлен параметр network #645.
  • Удаление OrionConfiguration #644 (спасибо Puneetha17).

И так далее.

К сожалению, без контекста невозможно понять, о чём идёт речь в запросе, и перевести его полностью. Технические улучшения:

  • Добавлен гайдлайн по стилю командной строки.
  • Обновлено значение параметра --bootnodes команды, чтобы он принимал нулевые аргументы.
  • Тестирование интеграции IBFT — локальный узел является инициатором.
  • Удалено Vertx из тестов обнаружения.
  • Тестирование интеграции IBFT — изменение раунда.
  • Создан валидатор изменения раунда с правильным значением.
  • Устранена зависимость времени от тестов BlockTimer.
  • Gradle 5.1.
  • Настройка измерения метрик.
  • Экспорт метрик для команды импорта.
  • Фреймворк тестирования интеграции IBFT.
  • Распространение сообщений IBFT методом сплетен.
  • Удаление не транзакционной мутации из KeyValueStore.
  • Обеспечено лучшее управление опциональными параметрами в классе запросов блокчейна.
  • Приёмочный тест майнинга IBFT.
  • Установлено имя базового каталога строчными буквами в building.md.
  • Перемещение admin_peers в группу Admin API.
  • Приёмный тест белого списка узлов.
  • Реорганизация RoundChangeManagerTest для предотвращения повторного использования валидаторов.
  • Игнорирование файлов узлов для поддержки Truffle.
  • Контроллер IBFT Pantheon.
  • Обновление состояния раунда IBFT при получении сообщения NewRound.
  • Правильное создание валидатора сообщений RoundChangeManager.
  • Использование секунд в качестве единицы времени для таймера блока.
  • Обработка контроллера и будущих сообщений IBFT.
  • Создание раунда IBFT с использованием PreparedCert.
  • Добавление фабрики MessageValidatorFactory.
  • Обновлена полезная нагрузка Inround.
  • Обновили поля IbftConfig.
  • Исправление IbftBlockCreator и добавление тестов.
  • Поведение Besu как подмодуля.
  • Менеджер высоты Ibft.
  • Обеспечение того, что bootnodes являются подмножеством белого списка узлов.
  • Классы консенсуса раунда IBFT.
  • Тесты полезной нагрузки сообщений IBFT.
  • Проверка синтаксиса enodeurl из командной строки.
  • Обновление errorprone.
  • Управление изменениями раунда IBFT.
  • Состояние раунда IBFT.
  • Перенос помощника генератора тестовых данных блока в пакет поддержки тестов. ### 0.8.3

Изменение, приводящее к нарушению работы JSON RPC-API

Начиная с версии v0.8.3, входящие HTTP-запросы принимаются только от хостов, указанных с помощью параметра командной строки --host-whitelist. Если этот параметр не указан, то по умолчанию используется значение localhost.

Если вы используете URL http://127.0.0.1 для выполнения вызовов JSON-RPC, используйте --host-whitelist, чтобы указать имя хоста 127.0.0.1, или обновите имя хоста до localhost.

Если ваше приложение публикует порты RPC, укажите имена хостов при запуске Besu. Например:

pantheon --host-whitelist=example.com

Укажите * или all для --host-whitelist, чтобы эффективно отключить защиту хоста и воспроизвести поведение до версии v0.8.3. Это не рекомендуется для производственного кода.

Исправления ошибок

  • Ремонт выбора пропозиционера клики #339.
  • Высокий объём TX переполняет обработку блоков #337.
  • Проверка успешного завершения connectFuture #293.
  • Возврат к библиотеке Xerial Snappy #284.
  • ShortHex 0 должен быть '0x0', а не '0x' #272.
  • Исправление бесконечного цикла значений по умолчанию в CLI pantheon #266.

Дополнения и улучшения

  • Добавлен параметр --nodes-whitelist в CLI и NodeWhitelistController #346.
  • Подключение к обнаружению для --node-whitelist #365.
  • Включение ещё трёх метрик #344.
  • Поддержка нескольких реализаций IBFT в ProposerSelection #307.
  • Конфигурация для поддержки оригинальной и пересмотренной версий IBFT #306.
  • Добавление белого списка хостов для JSON-RPC. Изменение, приводящее к нарушению работы #295.
  • Уменьшение количества сообщений журнала «Обработка создания блока отменена» до уровня отладки #294.
  • Реализация итеративного поиска пиров #268.
  • Добавлено RLP enc/dec для PrePrepare, Commit и NewRound сообщений #200.
  • Майнинг блоков IBFT #169.
  • Добавлена опция CLI --goerli #370 (спасибо @Nashatyrev).
  • Начало сбора метрик для лучшего понимания поведения Besu #326.

Технические улучшения

  • Извлечение параметров CLI, не связанных с Docker, в picoCLI mixin. #323.

  • Предварительная подготовка IBFT для проверки соответствия раунда блоку #329.

  • Исправлен приёмный тест #324.

  • Добавлен IbftFinalState #385.

  • Блок форка Константинополя #382.

  • Исправлена ошибка в pantheon.cli.BesuCommandTest на Windows #380.

  • Теперь по-другому настраивается тестирование дыма JDK #374.

  • Повторное включение clique AT #373.

  • Игнорирование приёмного теста #372.

  • Изменения для поддержки Gradle 5.0 #371.

  • Клик: предотвращение прерывания добычи блоков вне очереди во время добычи блоков по очереди #364.

  • Время всех задач #361.

  • Переработка VoteTallyCache для более точного представления цели #360.

  • Добавьте... UNKNOWN DisconnectReason

  • #359

Новый раунд валидации

  • #353

Обновление валидаторов для теста хеш-блока, чтобы начать с блока 1

  • #352

Идиоматический паттерн Builder

  • #345

Вернуть Repair Clique Proposer Selection #339 — нарушает работу тестовой сети Görli

  • #343

Фиксированные порты в тестах

  • #340

Обновить файл генезиса теста клики, чтобы использовать правильные имена свойств клики

  • #338

Поддержка списка адресов в подписке на логи

  • #336

Обрабатывать исключения обработчика в System.err вместо .out

  • #334

Переименовать классы сообщений IBFT

  • #333

Добавить дополнительные тесты RLP

  • #332

Понизить рейтинг spotless до 3.13.0, чтобы исправить проблемы с потоками

  • #325

Принятие теста eth_getTransactionReceipt

  • #322

Обновите vertx до 3.5.4

  • #316

Валидация изменения раунда

  • #315

Основные валидаторы сообщений IBFT

  • #314

Небольшие исправления в планировании блоков кликой

  • #308

Обновление версии зависимостей

  • #303

Сборка нескольких JVM

  • #301

Тест принятия смарт-контракта

  • #296

Исправление ошибки ответа WebSocket

  • #292

Изменение формулировки сообщений об ошибках во время майнинга

  • #291

Тесты принятия клики

  • #290

Делегировать создание дополнительных методов JSON-RPC контроллеру Besu

  • #289

Удалить ненужные классы RlpInput и RlpOutput

  • #287

Удаление RlpUtils

  • #285

Включение ранее игнорируемых приёмочных тестов

  • #282

Пиры IPv6

  • #281

Загрузочный узел IPv6

  • #280

Приёмный тест для метода JSON-RPC getTransactionReceipt

  • #278

Внедрение StorageProvider в экземпляры BesuController

  • #259

0.8.2

Удалено

  • Удалена команда import-blockchain, потому что пока ничего не экспортируется в требуемый формат (PR #223)

Исправления ошибок

  • Ошибки io.netty.util.internal.OutOfDirectMemoryError путём удаления подсчёта ссылок из сетевых сообщений.

  • Спам в журнале: бесконечный цикл в nioEventLoopGroup (спасибо @5chdn за сообщение) (PR #261).

  • Импорт Rinkeby может зависнуть при слишком большом количестве фрагментов (спасибо @steffenkux и @5chdn за сообщения) (PR #255).

  • Клик неправильно использовал идентификатор цепочки вместо идентификатора сети в сообщениях о состоянии ETH (PR #209).

  • Предупреждения об устаревании Gradle (PR #246 с благодарностью @jvirtanen).

  • Проблема консенсуса на Ropsten:

    • Обрабатывать длину вывода. В запросе представлен текст технической направленности из области разработки и тестирования программного обеспечения. Основной язык текста запроса — английский.

В качестве максимального размера для операций CALL (PR #236):

  • ECRec precompile должен возвращать пустой результат вместо 32 нулевых байтов при некорректном вводе (PR #227);
  • ошибка «Имя файла слишком длинное» при сборке из исходного кода, спасибо @5chdn за сообщение об ошибке) (PR #221);
  • синтаксис цикла в runBesuPrivateNetwork.sh (PR #237, спасибо @matt9ucci);
  • исправление ошибок CompressionException: Snappy decompression failed, спасибо @5chdn за сообщение) (PR #274).

Дополнения и улучшения:

  • добавлен аргумент командной строки --ropsten для упрощения синхронизации с Ropsten (PR #197, благодаря @jvirtanen);
  • включён константинополь в режиме --dev-mode (PR #256);
  • поддержка константинополя с Clique, спасибо @5chdn за сообщение (PR #250, PR #247);
  • реализован метод JSON-RPC eth_chainId (PR #219);
  • обновлена версия клиента для удобства работы с ethstats (PR #258);
  • добавлена опция --node-private-key, позволяющая указать файл nodekey отдельно от каталога данных, спасибо @peterbroadhurst за запрос) (PR #234);
  • добавлена опция --banned-nodeids, предотвращающая подключение к определённым узлам (PR #254);
  • отправка сообщения о завершении работы клиенту при отключении (PR #253);
  • улучшено сообщение об ошибке при конфликте портов (PR #232).

Технические улучшения:

  • обновлены эталонные тесты Ethereum до версии 6.0 beta 2 (благодаря @jvirtanen за первоначальное обновление до beta 1);
  • установлен кодировщик Java по умолчанию на UTF-8 (PR #238, спасибо @matt9ucci);
  • удалён дублирующий код, определяющий стандартные API JSON-RPC (PR #218, спасибо @matt9ucci);
  • улучшен код для анализа конфигурации (PRs #208, #209);
  • использование java.time.Clock вместо пользовательского интерфейса Clock (PR #220);
  • улучшение модульности систем хранения (PR #211, #207);
  • обработка предупреждений JavaDoc как ошибок (PR #171);
  • добавление бенчмарка для BlockHashOperation в качестве шаблона для других операций EVM (PR #203);
  • добавлены юнит-тесты для EthBlockNumber (PR #195, спасибо @jvirtanen);
  • улучшения стиля кода (PR #196, спасибо @jvirtanen);
  • добавлены юнит-тесты для Web3ClientVersion (PR #194, с благодарностью @jvirtanen);
  • удаление RLPUtils из RawBlockIterator (PR #179);
  • замена библиотеки snappy на основе JNI на версию на чистом Java (PR #257).

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/hyperledger-besu.git
git@api.gitlife.ru:oschina-mirror/hyperledger-besu.git
oschina-mirror
hyperledger-besu
hyperledger-besu
main