Fragen und Antworten

InstructionFallbackNotFound. Fehlernummer: 101. Fehlermeldung: Fallback-Funktionen werden nicht unterstützt

Textgröße

Sie müssen den Anweisungsdiskriminator für die Daten Ihrer Transaktion angeben, wie von Ademola erwähnt. Sie können den Befehlsdiskriminator abrufen und ihn dann in den ersten 8 Bytes an Ihre Daten anhängen. Befehlsdiskriminator in Rust abrufen pub fn sighash(namespace: &str, name: &str) -> [u8; 8] { let preimage = format!("{}:{}", namespace, name);

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

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

Holen Sie sich die Discriminator-Anweisung im Typoskript Funktion sighash(nameSpace: string, ixName: string): Buffer { let name = SnakeCase(ixName); let preimage = `${nameSpace}:${name}`; return Buffer.from(sha256.digest(preimage)).slice(0, 8); }

Namespace sollte global sein Hier ist ein Beispiel in Typescript // Erstelle den InstructionBuffer const ixBuffer = sighash('global','initialize');

const instructionBuffer = Buffer.concat([ ixBuffer, // Namespace+Methodenname OtherBuffer, // Andere Daten, die Sie an die Anweisung übergeben möchten. ])

// Erstellen Sie die Anweisung const transactionInstruction = new TransactionInstruction({ Programm-ID: Programmadresse, Daten: Anweisungspuffer, Schlüssel: [ ... ] })

Weiter erkundenDatenkatalogSuchen