НОВОЕ: Helius приобретает Light Protocol
Переход на Agave 2.0: руководство для разработчиков
Блог/Обновления

Переход на Agave 2.0: руководство для разработчиков

ИсследовательLostin в X
Чтение: 3 мин

Введение

Выход Agave v2.0 в Solana Mainnet-Beta запланирован на первые недели после Solana Breakpoint 2024 Singapore. Это крупное обновление содержит несколько несовместимых изменений, удаляет некоторые конечные точки API и переименовывает крейты. Обо всех этих изменениях должны знать разработчики Solana. Помимо этой статьи, мы рекомендуем разработчикам ознакомиться с недавно опубликованным руководством по переходу от Anza на GitHub.

Agave v2.0 уже работает в кластерах Solana Testnet и Devnet. Этот выпуск знаменует важный этап в развитии экосистемы Solana и переходе к сети с несколькими клиентами. Ожидается, что перед запуском команда Anza опубликует подробный разбор Agave 2.0. Эта статья посвящена только практическим аспектам подготовки к переходу.

Удаленные конечные точки RPC и вызовы SDK

Несколько устаревших конечных точек RPC из Agave v1 будут удалены.

А именно: 

  • getRecentBlockhash
  • getConfirmedSignatureForAddresses2
  • getConfirmedTransaction
  • getConfirmedBlock
  • getStakeActivation
  • getFees
  • confirmTransaction
  • getSignatureStatus
  • getSignatureConfirmation
  • getTotalSupply
  • getConfirmedSignaturesForAddress
  • getConfirmedBlocks
  • getConfirmedBlocksWithLimit
  • getFeeCalculatorForBlockhash
  • getFeeRateGovernor
  • getSnapshotSlot

Согласно внутреннему анализу Helius, большинство наших клиентов не столкнутся с последствиями этих изменений. Однако небольшая группа клиентов по-прежнему активно использует следующие конечные точки:

  • getRecentBlockhash
  • getConfirmedSignatureForAddresses2
  • getConfirmedTransaction
  • getConfirmedBlock
  • getStakeActivation
  • getFees

Альтернативный подход для getAccountInfo, показанный на изображении, описан здесь.

К несовместимым изменениям SDK относятся:

Полный список несовместимых изменений приведен в журнале изменений Agave.

Переименованные крейты

Несколько крейтов переименуют в рамках подготовки к появлению нескольких клиентов валидатора Solana, таких как Firedancer, которыми будут управлять разные команды. Добавление «Agave» к названиям этих крейтов указывает, что их как зависимости для клиента валидатора Agave поддерживает именно Anza. Это изменение позволяет четче отличать зависимости Agave от зависимостей, которыми управляют другие команды.

Изменение затронет следующие крейты: 

  • solana-validator
  • solana-ledger-tool
  • solana-watchtower
  • solana-install
  • solana-geyser-plugin-interface
  • solana-cargo-registry

Разработчикам следует проверить автоматизации и скрипты на наличие ссылок на эти крейты и соответствующим образом обновить их.

Удаленные аргументы валидатора

После выпуска Agave v2.0 для операторов валидаторов будут удалены следующие устаревшие аргументы валидатора:

  • --enable-rpc-obsolete_v1_7 (#1886)
  • --accounts-db-caching-enabled (#2063)
  • --accounts-db-index-hashing (#2063)
  • --no-accounts-db-index-hashing (#2063)
  • --incremental-snapshots (#2148)
  • --halt-on-known-validators-accounts-hash-mismatch (#2157)

Еще раз рекомендуем операторам валидаторов тщательно проверить, что эти аргументы больше не используются.

И наконец, исходный репозиторий Solana Labs на GitHub будет архивирован после выпуска Agave v2.0. Разработчикам следует перенести всю работу в репозиторий Anza Agave на GitHub.

В заключение приведем слова участника команды Solana DevRel Nick Frostbutter из недавнего видео о журнале изменений: «Если у чего-либо из того, что вы используете, есть предупреждение об устаревании, обязательно обновите свой код».

На этом наше короткое общественно полезное объявление завершено. Надеемся увидеть многих из вас на Breakpoint!

Подпишитесь на Helius

Следите за новостями разработки на Solana и получайте уведомления о наших публикациях

Увеличенное изображение