SIMD 385 - Transaction V1 Format
- 主要語言
- TypeScript
- 星號
- 695
- 分支
- 210
- 平均合併
- 21 小時 33 分鐘
- 30 天內合併 PR
- 90
描述
## Motivation
See SMD: https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0385-transaction-v1.md
This is a new transaction format:
- that encodes/decodes completely differently to the existing formats
- that does not support lookup tables
- enables a new `TransactionConfigMask` for priority fees/other compute budget functionality
## Example use case
Developers need to be able to create/parse/etc v1 transactions!
## Details
- New transaction version, which like legacy does not allow lookup tables
- New codec for this transaction version, described in the SIMD
- Note: v1 transactions have trailing signatures, which is different to current transactions
- Also no signature length encoded in this array, since this is in the message, which now comes before signatures
- We detect v1 transactions by their first byte: 129 (128 | 1)
- legacy and v0 transactions will have the signatures first, which must be <129 (v1 keeps the restriction to max of 12). So we can identify v1 by the first byte, but still need to read first byte of message (after signatures) to distinguish legacy and v0
- Need to allow encoding config mask values
- New way of encoding instruction array
- #1221 will allow 4096 bytes for v1 transactions, but we should add v1 transactions first
貢獻指南
評估
這個 Issue 還沒有評估資料。