Comment on page
Instruction
Instruction PDAs reference an on-chain account that stores information about instructions that are attached to a Transaction.
As with transaction PDAs, instruction PDAs also expect a numeric index relating to the number of instructions attached to a transaction. Every time an instruction is attached to a transaction, the
instructionIndex
will be bumped up by one. This provides a simple way to collect all instructions associated with a specific transaction. Deriving an instruction PDA requires a transaction PDA and the transactionIndex
. await anchor.web3.PublicKey.findProgramAddress([
anchor.utils.bytes.utf8.encode("squad"),
transaction.toBuffer(),
instructionIndex.toBuffer("le", 1), // note instruction index is an u8 (1 byte)
anchor.utils.bytes.utf8.encode("instruction")
], programId);
Be sure to provide the
instructionIndex
as a single byte little-endian buffer. The instruction PDA derivation format is as follows:
["squad", transaction, instructionIndex, "instruction"]
Last modified 1yr ago