Uma transação inclui uma ou mais instruções, as assinaturas das contas que autorizam as alterações e um blockhash recente. A rede processa todas as instruções numa transação em conjunto. Se alguma instrução falhar, toda a transação falha e todas as alterações de estado são revertidas.
Estrutura de transação
Assinaturas, formato de mensagem (cabeçalho, endereços de conta, blockhash, instruções compiladas), codificação binária, limite de tamanho e um exemplo de transferência SOL.
Transações versionadas
Formato legacy vs V0, tabelas de pesquisa de endereços, resolução ALT e comparação de versões.
Pipeline de transação
Pipeline completo de processamento em 8 fases (receção até confirmação), leitura de detalhes de transação da rede e referência de erros de validação.
Nonces duráveis
Assinatura offline com nonces duráveis, ciclo de vida do nonce, deteção, fluxo de validação e comportamento em caso de falha.
Factos principais
- Execução atómica: todas as instruções têm sucesso ou todas são revertidas. As taxas continuam a ser cobradas em caso de falha.
- Limite de tamanho: máximo de 1.232 bytes, derivado do MTU mínimo do IPv6 (1.280 bytes) menos 48 bytes para cabeçalhos de rede. O próximo formato v1 aumenta esse limite para 4.096 bytes.
- Assinaturas: cada signatário fornece uma assinatura Ed25519 de 64 bytes.
- Expiração de blockhash: o blockhash recente de uma transação é válido por 150 slots.
Limites
| Limite | Valor | Fonte |
|---|---|---|
| Tamanho máximo de transação | 1.232 bytes | PACKET_DATA_SIZE |
| Máximo de contas por transação | 64 | Limite imposto (128 quando increase_tx_account_lock_limit estiver ativado, atualmente inativo) |
| Expiração de blockhash | 150 slots | MAX_PROCESSING_AGE |
| Tamanho de assinatura | 64 bytes (Ed25519) | -- |
| Taxa base por assinatura | 5.000 lamports | Taxas |
| Máximo de instruções executadas | 64 (nível superior + CPIs) | MAX_INSTRUCTION_TRACE_LENGTH |
| Máximo de assinaturas por pacote | 12 | MAX_SIGNATURES_PER_PACKET |
Is this page helpful?