# Проверка контрактов предварительного развертывания Ethereum **Published by:** [MaxVell337](https://paragraph.com/@mvellcrypto/) **Published on:** 2025-08-16 **URL:** https://paragraph.com/@mvellcrypto/ethereum ## Content Верификация контрактов — важнейшая услуга, предоставляемая обозревателями блоков блокчейнам. Благодаря процессу верификации базовый код становится доступным для чтения человеком, что позволяет любому пользователю проверять код контракта и взаимодействовать с методами чтения и записи внутри контракта. Обычно смарт-контракты развёртываются в блокчейне внешним пользователем в любое время и во время развёртывания им присваивается адрес 0x. Часто инструменты разработчика, такие как Hardhat или Remix, позволяют мгновенно верифицировать контракт через API обозревателя, или же адрес, с которого был развёрнут контракт, может выполнить все этапы верификации через пользовательский интерфейс обозревателя. Однако контракты прекрасно работают в блокчейне без верификации, и многие развёртыватели никогда не верифицируют свои контракты или верифицируют их только в одних обозревателях. Это приводит к отсутствию прозрачности, потенциальным проблемам безопасности (если пользователи не могут легко прочитать код, они не смогут выявить проблемы безопасности) и недоступности. В то время как внешние смарт-контракты развёртываются по адресам в любое время для создания новой функциональности в блокчейне, часть контрактов развёртывается с заданными адресами во время самих обновлений Ethereum. Контракты предварительного развертывания (или системные контракты) добавляются во время хардфорков для включения различных предложений по улучшению Ethereum (EIP) и реализации основных функций в виртуальной машине Ethereum.Предварительные развертывания PectraВ ходе недавнего этапа Pectra HF было добавлено несколько важных предварительных развертываний. Хотя разработчики обычно могли проверять контракты в обозревателе, эти системные контракты были написаны на языке GEAS, который в настоящее время не поддерживается для целей верификации. GEAS (Good Ethereum Assembler) — это язык ассемблера, поддерживающий все инструкции EVM и разработанный и оптимизированный для низкоуровневого взаимодействия с EVM. Blockscout поддерживает верификацию для языков разработки контрактов Solidity, Vyper и Yul, но GEAS не является общепринятым языком для разработчиков вечных контрактов. Поскольку контракты было сложно проверить, они были нечитаемыми для человека, и пользователи не могли проверять функции чтения и записи. Среди рассматриваемых контрактов один был развернут во время модернизации Dencun (BeaconRoots), а три — в рамках Pectra.Назначение контрактаBeaconRoots: Предоставляет уровню исполнения доступ к состоянию и данным уровня консенсуса (Beacon Chain).HistoryStorage: Хранит исторические хэши блоков (8192 блока) для быстрого запроса последних блоков без сохранения состояния.WithdrawalRequest: Валидаторы Beacon Chain могут инициировать вывод средств и выходы через уровень исполнения.ConsolidationRequest: Валидаторы, работающие с большим количеством узлов, могут консолидироваться в меньшее количество узлов с большим балансом (до 2048 ETH на валидатор).Верификация BlockscoutМы посчитали важным показать код для этих предварительных развертываний и раскрыть базовые методы, но поддержка GEAS в пользовательском интерфейсе Blockscout или верификаторе не является обязательной, учитывая его ограниченное использование. Чтобы обеспечить прозрачность контрактов и выполнить верификацию, мы использовали нашу базу данных байт-кодов Ethereum. Эта база данных компилирует и хранит развёрнутый байт-код из различных контекстов и цепочек, а затем использует сохранённый байт-код для проверки вновь развёрнутых контрактов в цепочках (контракты можно проверить, если байт-код уже существует в базе данных). В данном случае мы жёстко запрограммировали соответствующие байт-коды для контрактов, подготовленных до развёртывания, включая их источники и соответствующие метаданные, непосредственно в базу данных. Мы также обновили пользовательский интерфейс Blockscout, чтобы показать, что эти контракты написаны в GEAS, и обеспечить фильтрацию по конкретным контрактам GEAS. После развёртывания достаточно было один раз открыть страницу контракта через пользовательский интерфейс Blockscout для завершения проверки. При первом посещении пользовательский интерфейс отправляет в базу данных запрос на наличие байт-кода, и если он существует, заполняет соответствующую информацию о контракте и подтверждает его проверку. После проверки информация о контракте и методы становятся прозрачными и доступными. Теперь можно считывать данные контракта и даже инициировать запрос на вывод или консолидацию непосредственно из Blockscout при желании.ЗаключениеPectra HF представил множество новых функций и расширенный функционал для Ethereum. Blockscout помогает расширить контекст и сделать эти функции более удобными в использовании, предоставляя верификацию контрактов GEAS перед развертыванием. Blockscout стремится предоставлять открытый доступ к контрактам в Ethereum и связанной с ним экосистеме L2 и L3. Благодаря нашей базе данных байт-кодов Ethereum и участию в Verifier Alliance, который теперь включает более 8 миллионов контрактов, мы продолжим обеспечивать доступность и прозрачность контрактов для всех пользователей блокчейна. Связанные запросы на выдачу контрактов ## Publication Information - [MaxVell337](https://paragraph.com/@mvellcrypto/): Publication homepage - [All Posts](https://paragraph.com/@mvellcrypto/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@mvellcrypto): Subscribe to updates