Перейти к содержанию

Solidity и веб: реестр учебных сертификатов

В серии 10 уроков. JavaScript, HTTP, async/await; понятие хеша и публичного адреса. Solidity изучается по ходу.

Профиль версий: solidity 0.8.30, foundry 1.3.1, viem 2.37.9, vite 7.1.7, node 22.14.0, chainId 31337, evm cancun. Это конкретные опубликованные версии лаборатории; обновление зависимостей рассматривается отдельно.

Оглавление

  1. Сертификат, хеш и граница доверия — HTML расчёта SHA-256 локального файла; модель записи без персональных данных.
  2. Первый контракт и постоянное хранилище — Solidity struct, mapping, owner и явный getter.
  3. Выдача записи и события контракта — Выдача владельцем, ошибки повторения и событие Issued.
  4. Отзыв сертификата и модель полномочий — Отзыв, отдельные издатели, сохранение истории и границы администрирования.
  5. Локальная EVM и адрес развёрнутого контракта — Конфигурация Foundry/Anvil, loopback RPC, ручная привязка deployment.json.
  6. Чтение реестра из браузера — viem Public Client, ABI, проверки chainId/code и BigInt в HTML.
  7. Кошелёк и выбранная сеть — EIP-1193, действие подключения, события смены аккаунта/сети.
  8. Симуляция, подпись и подтверждение выдачи — simulateContract, writeContract, receipt и разделённые состояния UI.
  9. События, диапазоны блоков и актуальный статус — Ограниченные getLogs, Issued/Revoked и сверка со storage.
  10. Проверка файла и границы доказательства — SHA-256 локального файла, доверенный издатель, актуальный отзыв, экспорт результата.

Исходники

Архив проекта «Реестр» содержит десять полных состояний, README и собственные исходные данные. Зависимости и секреты не включены. Подготовка и команды предназначены для самостоятельной работы читателя. Примеры, установка, тесты и деплой при написании не выполнялись. Серия доступна только локально.

Реестр работает в локальной EVM с chainId 31337. Персональные документы не отправляются в цепочку. Нулевой адрес в deployment.json заменяется читателем после собственного развёртывания. Этот исходник не проходил компиляцию или аудит, а совпадение хеша само по себе не подтверждает личность, знания и юридический статус сертификата.

Все новые направления собраны в подборке из 100 уроков.