Solana - 承诺交易 vs 预先验证交易(preflightCommitment)

11

我想知道preflightCommitmentcommitment之间的区别。

此外,以下列出的承诺类型有哪些不同。

export type Commitment =
    | 'processed'
    | 'confirmed'
    | 'finalized'
    | 'recent'
    | 'single'
    | 'singleGossip'
    | 'root'
    | 'max';
1个回答

17

preflightCommitment 是预检测交易所使用的承诺,也称为交易模拟,而 commitment 则用于实际交易。

至于不同的承诺,它们都列在 https://docs.solana.com/developing/clients/jsonrpc-api#configuring-state-commitment 上。

其中一些术语已经过时,但大致上可以这样翻译:

  • processed = recent(已处理)
  • confirmed = singleGossip = single(已确认)
  • finalized = root = max(已完成)

2
谢谢!为什么模拟需要某种承诺?此外,这是否意味着recent、singleGossip、single、root、max都已被弃用? - yangli-io
2
根据承诺的定义:“对于预检和交易处理,Solana节点选择要查询的银行状态”,因此如果您选择“已完成”,这意味着您正在针对已完成的块运行事务,如果您选择“已处理”,则表示您正在针对最新的块运行事务。是的,它们现在都已过时。 - Jon C

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接