Вопросы и ответы

Передовой опыт авторизации Solana/Anchor для модульной многопрограммной системы (общие роли в программах, CPI)

Размер текста

Репо кажется частным: У любого из вариантов есть свои плюсы и минусы, поэтому вы можете создать гибридную реализацию для смягчения последствий. Вот некоторые из многопрограммных приложений, которые вы можете использовать:

Marinade Finance: использует единую основную программу + вспомогательные программы для определенных доменов. Вы можете проверить, как они обрабатывают права администратора и операционные полномочия (основная программа имеет мультиподпись совета в качестве администратора, но КПК для операций вывода ставок). Также реферальная программа представляет собой обертку, которая встраивается в основную программу.

Marginfi: использует групповую изоляцию с общей программой.

Ellipsis Labs: использует основную программу + вспомогательные программы, которые CPI вставляются в ядро. Phoenix-v1 — это основная книга заказов, в которую менеджер места и маркет-мейкер программируют CPI.

Распространенные ловушки:

Слепое доверие к идентификатору программы-вызвателя. Тот факт, что CPI получен от программы X, не означает, что программа X проверила пользователя. Всегда перепроверяйте соответствующих подписантов. Забываем, что КПК не сохраняют статус подписывающего лица в инструкциях. КПК, который выполнил вход в инструкцию 1, не является автоматически подписывающим лицом в инструкции 2, если вы снова не используете CPI с помощью ignore_signed. Централизованное право обновления. Если все программы имеют право на обновление, ваша модульностьиллюзорный. Рассмотрим мультиподпись.

Продолжить изучениеКаталог данныхПоиск