Быстрый доступ
Ознакомьтесь с основным примером счетчика:GitHub
Реализация Anchor
GitHub
Реализация React
Пошаговое руководство
Создайте вашу программу и обновите её, добавив хуки делегирования с помощью Программы Делегирования MagicBlock.DELeGGvXpWV2fqJUhqcF5ZSYMS4JTLjteaAMARRSaeSh:
Добавьте CPI-хуки для делегирования, фиксации и анделегирования аккаунтов состояния через сессии Эфемерного Роллапа.
Эти общедоступные средства проверки поддерживаются для разработки. Не забудьте добавить конкретный ER валидатор в свою инструкцию при делегировании:
- Азия (devnet-as.magicblock.app):
MAS1Dt9qreoRMQ14YQuhg8UTZMMzDdKhmkZMECCzk57 - Европа (devnet-eu.magicblock.app):
MEUGGrYPxKk17hCr7wpT6s8dtNokZj5U2L57vjYMS8e - США (devnet-us.magicblock.app):
MUS3hc9TCw4cGC12vHNoYcCGzJG1txjgQLZWVoeNHNd - TEE (tee.magicblock.app):
FnE6VJT5QNZdedZPnCoLsARgBwoE6DeJNjBs2H1gySXA - Локальная служба поддержки (localhost):
mAGicPQYBMvcYveUZA5F5UNNwyHvfYh5xkLS2Fr1mev
Пример счетчика

| Программное обеспечение | Версия | Руководство по установке |
|---|---|---|
| Solana | 2.3.13 | Установить Solana |
| Rust | 1.85.0 | Установить Rust |
| Anchor | 0.32.1 | Установить Anchor |
| **Node ** | 24.10.0 | Установить Node |
Фрагменты кода
- 1. Напиши программу
- 2. Делегировать
- 3. Развернуть
- 4. Протестировать
Программа реализует две основные инструкции:Ничего особенного — это просто простой Anchor-программный контракт, который увеличивает счётчик. Единственное отличие в том, что мы добавляем макрос
initialize: Устоновите счетчик на 0increment: Увеличивает счётчик на 1
Delegate: Делегирует счётчик с базового слоя (Base Layer) в ЭР (вызывается на базовом слое)CommitAndUndelegate: Планирует синхронизацию счётчика из ЭР в базовый слой (Base Layer) и отменяет делегирование счётчика в ЭР (вызывается в ЭР)Commit: Планирует синхронизацию счётчика из ER в базовый слой (Base Layer) (вызывается в ЭР)Undelegate:- Планирует синхронизацию и отмену делегирования счётчика (вызывается в ER)
- Отмена делегирования, инициируемая через callback-инструкцию, внедрённую с помощью
#[ephemeral](вызывается на базовом слое (Base Layer) через CPI валидатора)
ephemeral для отмены делегирования и макрос delegate, чтобы внедрить полезную логику для взаимодействия с программой делегирования.⬆️ Вернуться к началуРасширенные Фрагменты Кода
- Изменить размер PDA
При изменении размера делегированного PDA:⬆️ Вернутся к началу
- У PDA должно быть достаточно лампортов, чтобы оставаться освобождённым от аренды для нового размера аккаунта.
- Если требуется добавить дополнительные лампорты, счётчик-плательщик должен быть делегирован для предоставления недостающей суммы.
- PDA должен принадлежать программе, а транзакция должна включать всех необходимых подписантов для перевода лампортов.
- Используй
system_instruction::allocate
Быстрый доступ
Узнайте больше о приватных ER, нативной реализации на Rust и локальной разработке:Приватные эфемерные роллапы (PER)
Быстрый старт
Нативная версия на Rust
Быстрый старт
Руководство
Локальная разработка
Solana Explorer
Получайте информацию о ваших транзакциях и аккаунтах в сети Solana:Solana Explorer
Официальный обозреватель Solana
Solscan
Обозреватель блокчейна Solana
Провайдеры Solana RPC
Отправляйте транзакции и запросы через существующих RPC-провайдеров:Solana
Бесплатные публичные ноды
Helius
Бесплатные общие ноды
Triton
Выделенные высокопроизводительные ноды
Панель валидаторов Solana
Следите за обновлениями инфраструктуры валидаторов Solana в реальном времени:Solana Beach
Аналитика по валидаторам
Validators App
Метрики валидаторов
Статус серверов
Подпишитесь на обновления статуса серверов Solana и MagicBlock:Solana Status
Подписка на обновления статуса серверов Solana
MagicBlock Status
Подписка на статус серверов MagicBlock
Продукты MagicBlock
Эфемерный роллап (ER)
Выполнение транзакций в реальном времени без комиссий и с высокой безопасностью в сети Solana.
Приватный эфемерный роллап (PER)
Защита конфиденциальных данных с помощью приватных вычислений.
Проверяемая функция случайности (VRF)
Генерация доказуемо честной случайности напрямую в блокчейне.

