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

ИнструкцияFallbackNotFound. Номер ошибки: 101. Сообщение об ошибке: Резервные функции не поддерживаются.

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

Вы должны предоставить дискриминатор инструкций для данных вашей транзакции, как упоминал Адемола. Что вы можете сделать, так это получить дискриминатор инструкций, а затем добавить его к своим данным в первых 8 байтах. Дискриминатор инструкций выборки в Rust паб fn Sighash (пространство имен: &str, имя: &str) -> [u8; 8] { let preimage = format!("{}:{}", namespace, name);

пусть mut sighash = [0u8; 8]; вздох.copy_from_slice( &anchor_client::anchor_lang::solana_program::hash::hash(preimage.as_bytes()).to_bytes() [..8], ); сигаш }

println!("{:?}", Sighash("глобальный", "инициализировать");

Инструкция получения дискриминатора в машинописном тексте функция sighash(nameSpace: string, ixName: string): Buffer { пусть имя = SnakeCase (ixName); let preimage = `${nameSpace}:${name}`; return Buffer.from(sha256.digest(предварительное изображение)).slice(0, 8); }

пространство имен должно быть глобальным Вот пример в Typescript // Создание буфера инструкций const ixBuffer = Sighash('глобальный','инициализация');

const инструкцияBuffer = Buffer.concat([ ixBuffer, // пространство имен+имя_метода OtherBuffer, // Другие данные, которые вы хотите передать инструкции. ])

// Создаем инструкцию const transactionInstruction = новая TransactionInstruction({ идентификатор программы: адрес программы, данные: инструкцияБуфер, ключи: [ ... ] })

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