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. Это конкретные опубликованные версии лаборатории; обновление зависимостей рассматривается отдельно.
Оглавление
- Сертификат, хеш и граница доверия — HTML расчёта SHA-256 локального файла; модель записи без персональных данных.
- Первый контракт и постоянное хранилище — Solidity struct, mapping, owner и явный getter.
- Выдача записи и события контракта — Выдача владельцем, ошибки повторения и событие Issued.
- Отзыв сертификата и модель полномочий — Отзыв, отдельные издатели, сохранение истории и границы администрирования.
- Локальная EVM и адрес развёрнутого контракта — Конфигурация Foundry/Anvil, loopback RPC, ручная привязка deployment.json.
- Чтение реестра из браузера — viem Public Client, ABI, проверки chainId/code и BigInt в HTML.
- Кошелёк и выбранная сеть — EIP-1193, действие подключения, события смены аккаунта/сети.
- Симуляция, подпись и подтверждение выдачи — simulateContract, writeContract, receipt и разделённые состояния UI.
- События, диапазоны блоков и актуальный статус — Ограниченные getLogs, Issued/Revoked и сверка со storage.
- Проверка файла и границы доказательства — SHA-256 локального файла, доверенный издатель, актуальный отзыв, экспорт результата.
Исходники
Архив проекта «Реестр» содержит десять полных состояний, README и собственные исходные данные. Зависимости и секреты не включены. Подготовка и команды предназначены для самостоятельной работы читателя. Примеры, установка, тесты и деплой при написании не выполнялись. Серия доступна только локально.
Реестр работает в локальной EVM с chainId 31337. Персональные документы не отправляются в цепочку. Нулевой адрес в deployment.json заменяется читателем после собственного развёртывания. Этот исходник не проходил компиляцию или аудит, а совпадение хеша само по себе не подтверждает личность, знания и юридический статус сертификата.
Все новые направления собраны в подборке из 100 уроков.