我在devnet上使用Saber存款指令。昨天,我的代码运行得很好。
今天,我重新运行了一些指令,我突然得到了错误Computational budget exceeded
。devnet上有什么变化吗?我实际上没有改变任何东西,但得到这个错误。任何想法和指针将非常感激!
这取决于您在哪个集群上运行。是每条指令获得200k的CU预算,还是整个事务获得200k的预算,这是由特征驱动的。
例如,如果您正在运行solana-test-validator
,则默认启用所有功能。然而;Tx宽计算预算尚未在主网beta上启用,所以如果你在本地测试,然后在主网beta上运行,你会看到这种行为差异。
确定在给定集群上启用或不启用哪些特性(暂时忽略local):
solana feature status -ud
(for devnet)
solana feature status -ut
(for testnet)
solana feature status -um
(for mainnet-beta)
您正在寻找的功能是:5ekBxc8itEnPv4NzGJtr8BVVQLNMQuLMNQQj7pHoLNZ9
关于集群奇偶性测试的好文章
如下所述https://forums.solana.com/t/transaction-failed-when-biding-for-a-sol-domain-on-bonfida/4279: ~:文本= % E2 % 80% 9 ccomputational % 20预算% 20超过% E2 % 80% 9 d % 20意味着% 20,处理% 20电力% 20 % 20之前% 20完成。你需要减少指令的计算需求。或者减少总指令数。您还可以使用事务范围的计算预算https://docs.solana.com/developing/programming-model/runtime