1/ SIMD-0186: A Especificação do Tamanho dos Dados de Transação Carregados padroniza como a Solana calcula o total de dados da conta que uma transação carrega. Define um método seguro para consenso, de modo que cada cliente calcule o mesmo tamanho e torne o dimensionamento das transações previsível. Aqui está o que isso corrige e como funciona 🧵
2/ As implementações anteriores para o dimensionamento de dados de transações eram pouco intuitivas e excessivamente complexas. O carregamento de contas de programa, especialmente com o BPF Upgradeable Loader, tinha casos extremos complicados que tornavam as implementações independentes difíceis.
3/ SIMD-0186 torna as regras simples e explícitas: cada conta carregada é contada exatamente uma vez. Programas que utilizam o BPF Upgradeable Loader incluem seus programdata, adicionando 64 bytes por conta para metadados e ALTs adicionam um total fixo de 8.248 bytes cada.
4/ Por que é importante para os desenvolvedores: os dados da conta carregada são limitados por transação e o novo cálculo pode ser significativamente maior ou menor para certas transações. Transações que definem seu limite de tamanho de dados da conta carregada podem precisar ajustar-se de acordo. Transações próximas ao seu limite máximo de 64MB podem agora falhar.
5/ O limite padrão para transações é de 64 MB (16k CUs). Você pode reduzi-lo com a instrução de orçamento de computação SetLoadedAccountsDataSizeLimit. Reduzir esse limite pode melhorar o agendamento devido ao menor custo por taxas pagas.
6/ Por que ter um limite de tamanho de dados carregados? Semelhante ao limite de CU por transação, os validadores obtêm uma contabilidade previsível para os dados da conta carregada de uma transação. SIMD-0186 garante que os clientes validadores alcancem resultados idênticos de tamanho de dados de transação, removendo o risco de consenso e simplificando o desenvolvimento do cliente.
8,15K