К основному содержанию
скилл CX Codex

upgrade-solidity-contracts — скилл для Claude Code: обзор

Помогает обновлять смарт-контракты на Solidity через прокси-паттерны OpenZeppelin. Защищает раскладку памяти и учит настраивать пространства имён ERC-7201.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add OpenZeppelin/openzeppelin-skills --skill upgrade-solidity-contracts -a claude-code
Открыть на GitHub

Что делает upgrade-solidity-contracts

Скилл учит агента безопасно модифицировать контракты на Solidity через UUPS или Transparent прокси. Он следит за тем, чтобы вместо конструкторов вызывались функции с модификатором initializer. Реализацию блокируют вызовом _disableInitializers(). Это защищает контракт от случайного или намеренного захвата управления.

Инструкции запрещают менять типы переменных, переставлять их местами или удалять старые поля. Для надёжной изоляции состояния скилл рекомендует использовать стандарт ERC-7201. В пятой версии библиотек OpenZeppelin контракты группируют свои переменные внутри детерминированных структур, избавляя проект от ручного расчёта пробелов памяти.

Прямой переход с четвёртой версии OpenZeppelin Contracts на пятую не поддерживается. Разработчикам придётся разворачивать новые прокси. Старая версия использовала последовательные слоты, поэтому код v5 физически не сможет прочитать записанные ранее данные.

Какие задачи решает

  • перевести контракты на архитектуру UUPS или Beacon
  • заменить конструкторы на функции инициализации
  • настроить хранилище по стандарту ERC-7201
  • проверить совместимость раскладки памяти перед обновлением

Примеры запросов агенту

  • Перепиши токен под архитектуру UUPS и добавь функцию initialize
  • Проверь раскладку хранилища в новой версии контракта на совместимость
  • Помоги перенести переменные состояния в структуру ERC-7201

Как установить upgrade-solidity-contracts

1Через Skills CLI (Vercel)

npx skills add OpenZeppelin/openzeppelin-skills --skill upgrade-solidity-contracts -a claude-code

2Вручную: положить файлы

~/.claude/skills/upgrade-solidity-contracts/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/upgrade-solidity-contracts/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора2

Похожие

solidity-hardhat-cursorrules-prompt-file PatrickJS Правило для Cursor, которое настраивает ИИ-ассистента на разработку смарт-контрактов на Solidity с проверками безопасности и работой через Hardhat. ★ 41 011звёзд репо ethereum Mindrally Задаёт агенту правила разработки смарт-контрактов Ethereum: паттерны безопасности, интеграция OpenZeppelin, тесты на Hardhat. CX Codex +1 737установок solidity sanjeed5 Правило задаёт стиль и требования к Solidity-коду: фиксированный pragma, кастомные ошибки, защита от реентрантности. Пригодится, когда пишете контракты в Cursor. ★ 3 579звёзд репо solidity-auditor pashov Прогоняет безопасность Solidity-кода прямо во время разработки: один проход по репозиторию или по конкретному файлу, с отчётом на выходе. CX Codex +1 830установок solidity-gas-optimization pseudoyu Скилл с 80+ приёмами оптимизации газа в Solidity по книге RareSkills. Пригодится при написании, ревью и аудите контрактов. CX Codex +1 547установок solidity-security Seth Hobson Скилл помогает писать и проверять Solidity-контракты с учётом типовых уязвимостей. Пригодится для аудита, DeFi и подготовки к профессиональной проверке. CX Codex 15 382установок

Рядом в теме «Безопасность»

Всё по теме «Безопасность» →

Вопросы о upgrade-solidity-contracts

Как установить upgrade-solidity-contracts в Claude Code?

Выполните команду npx skills add OpenZeppelin/openzeppelin-skills --skill upgrade-solidity-contracts -a claude-code. Инструмент добавит скилл в настройки агента.

Что делает этот скилл?

Он предоставляет модели правила работы с обновляемыми контрактами OpenZeppelin. Скилл помогает писать корректные инициализаторы и исключает наложение слотов памяти.

Можно ли обновить реализацию с OpenZeppelin Contracts v4 на v5?

Нет, такое обновление заблокировано из-за смены модели хранилища. Версия v4 опиралась на последовательные слоты, а v5 использует ERC-7201, поэтому читать старое состояние невозможно.

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой