Maswali na majibu

InstructionFallbackNotFound. Namba ya Hitilafu: 101. Ujumbe wa Hitilafu: Vitendaji vya Fallback havitumiki

Ukubwa wa maandishi

Lazima utoe instruction discriminator kwenye data ya transaction yako kama Ademola alivyotaja. Unachoweza kufanya ni kuchukua instruction discriminator kisha kuiambatanisha na data yako katika bytes 8 za kwanza. Chukua Instruction Discriminator katika 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"));

Chukua Discriminator Instruction Katika 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 inapaswa kuwa global Hapa kuna mfano katika Typescript // Tengeneza InstructionBuffer const ixBuffer = sighash('global','initialize');

const instructionBuffer = Buffer.concat([ ixBuffer, // namespace+method_name OtherBuffer, // Data Nyingine unayotaka kuipeleka kwenye instruction. ])

// Tengeneza Instruction const transactionInstruction = new TransactionInstruction({ programId: programAddress, data: instructionBuffer, keys : [ ... ] })

Endelea kuchunguzaKatalogi ya dataTafuta