交易和指令 (Transactions and Instructions)

在 Solana 上,我们发送事务以与网络交互。事务包括一个或多个指令,这些指令指定要处理的操作。指令的执行逻辑存储在部署到 Solana 网络的程序中,每个程序定义了自己的指令集。 以下是关于事务处理的关键细节:

  • 如果一笔交易包含多个指令,则指令将按照它们被添加到交易中的顺序执行
  • 交易是“原子性”的——要么所有指令都成功处理,要么整个交易失败且不进行任何更改 为了简化,可以将交易视为处理一个或多个指令的请求 alt text

将交易想象成一个包含表格的信封。每个表格都是一个指令,告诉网络我们要执行的操作。当你发送交易时,就像邮寄信封以处理表格一样。(如以太坊发起交易:执行一段指定顺序的指令集合,任何一条出错立刻回滚)

关键点

  • Solana 交易包括在网络上调用程序的指令请求。
  • 交易是原子的 - 如果任何指令失败,整个交易将失败且不会发生任何更改。
  • 一笔交易的最大大小为 1232 字节。
  • 每条指令需要 3 个信息:
    • 被调用程序所在的地址
    • 指令将发起读或写操作的目标账户列表
    • 任何被指令所需要的附加数据(如函数参数)

基本示例

以下是一个表示单条指令将 SOL 从发送者转移到接收者的交易的图示。