Солана: Превышен вычислительный бюджет
Я использую инструкцию по депозиту Sabre на devnet. Вчера мой код работал отлично.
Сегодня перепрошил некоторые инструкции и получаю ошибку
Computational budget exceeded
вдруг. Что-то изменилось в devnet? Я буквально ничего не менял, но получаю эту ошибку. Любые идеи и указатели будут с благодарностью!
2 ответа
Это зависит от того, на каком кластере вы работаете. Это зависит от того, получает ли каждая инструкция бюджет в 200 тыс. CU или вся транзакция получает бюджет в 200 тыс.
Например, если вы работаете
solana-test-validator
все функции включены по умолчанию. Однако; Бюджет вычислений Tx еще не включен в бета-версии основной сети, поэтому, если вы протестируете локально, а затем запустите бета-версию основной сети, вы увидите эту разницу в поведении.
Чтобы определить, какие функции включены или нет в данном кластере (на данный момент игнорируя локальные):
solana feature status -ud
(для девнета)
solana feature status -ut
(для тестовой сети)
solana feature status -um
(для основной сети-бета)
Функция, которую вы ищете, это:
5ekBxc8itEnPv4NzGJtr8BVVQLNMQuLMNQQj7pHoLNZ9
Хорошая статья о тестировании четности кластера Feature Parity Testing
Как указано здесь https://forums.solana.com/t/transaction-failed-when-biding-for-a-sol-domain-on-bonfida/4279#:~:text=%E2%80%9CComputational%20budget%20exceeded%E2%80%9D%20означает%20что обработка%20power%20before%20it%20completed . Вам нужно уменьшить вычислительные потребности инструкций. Или уменьшить общее количество инструкций. Вы также можете использовать вычислительные бюджеты для всей транзакции https://docs.solana.com/developing/programming-model/runtime.