Domande e risposte

InstructionFallbackNotFound. Numero di errore: 101. Messaggio di errore: Le funzioni di fallback non sono supportate

Dimensione testo

Devi fornire l'instruction discriminator ai dati della tua transazione come ha menzionato Ademola. Quello che puoi fare è recuperare l'instruction discriminator e poi aggiungerlo ai tuoi dati nei primi 8 byte. Recupera l'Instruction Discriminator in Rust pub fn sighash(namespace: &str, name: &str) -> [u8; 8] { let preimage = format!("{}:{}", namespace, name);

let mut sighash = [0u8; 8]; sighash.copy_from_slice( &anchor_client::anchor_lang::solana_program::hash::hash(preimage.as_bytes()).to_bytes() [..8], ); sighash }

println!("{:?}", sighash("global", "initialize"));

Recupera l'Instruction Discriminator in typescript function sighash(nameSpace: string, ixName: string): Buffer { let name = snakeCase(ixName); let preimage = `${nameSpace}:${name}`; return Buffer.from(sha256.digest(preimage)).slice(0, 8); }

namespace dovrebbe essere global Ecco un esempio in Typescript // Crea l'InstructionBuffer const ixBuffer = sighash('global','initialize');

const instructionBuffer = Buffer.concat([ ixBuffer, // namespace+nome_metodo OtherBuffer, // Altri dati che vuoi passare all'istruzione. ])

// Crea l'Istruzione const transactionInstruction = new TransactionInstruction({ programId: programAddress, data: instructionBuffer, keys : [ ... ] })

Continua a esplorareCatalogo datiCerca