P08-L02 · P08 · P08-M01
Converter saldos brutos usando casas decimais verificadas e reconciliar medidas de oferta
Pré-requisitos: P08-L01
Objetivos de aprendizagem
- Converter saldos inteiros brutos usando casas decimais verificadas.
- Reconciliar totais, exclusões e eventos que alteram a oferta.
- Explicar feeds conflitantes sem inventar alocação.
Fonte mestra EN · P08-L02 · 45 minutos estimados · needs_review
Por que importa
Um erro decimal pode transformar nove mil tokens em nove tokens sem alterar um único saldo subjacente. Uma definição de oferta mal rotulada pode fazer dois cálculos corretos parecerem contraditórios. Antes de valorar um ativo ou descrever distribuição, estabeleça unidades, contexto e exclusões.
Esta lição ensina conversão exata de bruto para exibição e reconciliação de oferta. Parte da identidade verificada em vez de supor que todo token usa dezoito casas decimais.
Explicação
Mantenha inteiros e apresentação separados
Seja R uma quantidade inteira bruta e d o número verificado de casas decimais. Sua quantidade normalmente exibida é R dividido por 10^d. A unidade bruta é a unidade contábil indivisível neste modelo; casas decimais definem precisão de apresentação, não número de proprietários ou preço de mercado. O estado do mint Solana inclui oferta e casas decimais [S08-TOKENS]. O método decimals de ERC-20 é opcional no padrão [S08-ERC20]; metadados indisponíveis não devem ser substituídos por um padrão adivinhado.
Use strings de inteiros ou aritmética decimal exata. Uma planilha ou número de ponto flutuante JavaScript pode arredondar um valor bruto grande antes da divisão. Armazene inteiro original, número de casas decimais, contexto e valor de exibição como campos distintos. Se uma ferramenta relata um valor de exibição arredondado, calcule a partir da entrada bruta em vez de tratar a exibição como exata.
Um zero relatado e um resultado ausente são diferentes. Zero é uma medição válida sob uma fonte/contexto declarado; null ou timeout descreve evidência ausente. Um número de casas decimais ausente impede conversão confiável para unidades comuns, mesmo quando saldos brutos permanecem disponíveis. Registre a quantidade bruta sem alegar uma quantidade de tokens.
Reconcilie medidas antes de compará-las
Oferta total descreve a medida contábil do protocolo em um contexto especificado. Oferta circulante exige uma política definida de inclusão. Estoque de tesouraria, vesting e custódia de ponte podem receber tratamentos diferentes de publicadores diferentes. Um rótulo sem política não resolve uma discrepância.
Solana getTokenSupply retorna quantidade bruta e casas decimais com contexto de resposta [S08-SUPPLY]. Isso não é uma medida circulante definida independentemente. Não subtraia a oferta já ajustada de um publicador dos totais brutos sem inspecionar o que ele excluiu.
Para um conjunto fechado de contabilidade padrão, saldos devem reconciliar com o total fornecido. Investigações reais precisam inspecionar se a exportação é exaustiva, usa contextos correspondentes e decodifica extensões corretamente. Alguns mecanismos de token complicam a soma simples de saldos; declare essa limitação em vez de forçar todo ativo a caber neste modelo.
Exclusões não destroem tokens. Remover unidades de tesouraria de um denominador analítico produz uma estatística ajustada, não um evento de registro que altera a oferta. Da mesma forma, uma transferência para um endereço descrito como endereço de queima não reduz automaticamente o totalSupply do protocolo. O mecanismo real de queima e a mudança contábil precisam de evidência.
Acompanhe mudanças sem mudar a unidade
Uma emissão aumenta a oferta contábil total no conjunto de dados. Uma queima de protocolo a diminui. Transferências comuns entre contas incluídas reorganizam a propriedade sem alterar o total. Se a sequência fornecida estiver completa, a nova oferta equivale à anterior mais unidades emitidas menos unidades queimadas.
Anexe contexto a cada evento e quantidade. Se um retrato posterior diferir da soma dos eventos, teste cobertura incompleta, mint inconsistente ou precisão incorreta antes de declarar manipulação. Uma diferença é falha de reconciliação que exige investigação; não é veredito de intenção.
Casas decimais devem ser verificadas para o objeto e contexto exatos. Dois ativos com o mesmo símbolo podem ter precisões diferentes. Uma configuração incorreta de feed pode produzir discrepância por fator de mil quando d difere por três. Nunca “conserte” o saldo bruto para fazê-lo concordar com um site.
Use uma ponte de comparação
Quando dois relatórios discordam, disponha em colunas quantidade bruta, casas decimais, conversão de unidades, contexto do retrato e política de exclusão. Isso torna perguntas diferentes visíveis. Um relatório pode estar correto para oferta total enquanto outro usa corretamente um denominador ajustado. Devem ser nomeados separadamente, não ter seus valores promediados.
Se duas fontes alegam a mesma definição no mesmo contexto e ainda discordam, preserve ambos os registros e uma discrepância não resolvida. Não escolha o número maior porque parece mais seguro nem o menor porque melhora uma porcentagem de concentração. Uma conclusão delimitada declara a incompatibilidade e a próxima verificação.
Porcentagens cancelam um fator decimal comum somente quando numerador e denominador se referem à mesma precisão e escopo do token. Comparar numerador bruto com denominador exibido produz um resultado sem sentido. Pode ser numericamente elegante e ainda errado.
Comunique quantidades de forma reproduzível
Escreva unidades em toda linha. “2,500” sozinho pode significar unidades brutas, tokens ou dólares. Esta lição usa unidades fictícias de token e não fornece preço de mercado nem avaliação em dólares. Uma reconciliação correta da oferta não diz nada sobre liquidez executável, valorização ou legitimidade do emissor.
Preserve a precisão completa no gabarito e arredonde apenas para exibição. Explique a política de arredondamento quando uma fração se repete. Neste conjunto de dados, as conversões terminam exatamente, portanto nenhum resíduo arredondado precisa ser ocultado.
Terminologia
- Quantidade bruta: unidades contábeis inteiras.
- Casas decimais: precisão de exibição em base dez.
- Oferta total: medida contábil do protocolo em um contexto.
- Oferta ajustada: medida de exclusão declarada pelo analista.
- Reconciliação: comparação de somas e mudanças compatíveis.
- Contexto do retrato: limite de estado para uma observação.
Exemplo histórico
ILLUSTRATIVE — FIX-P08-02. MINT-SUPPLY em SIM-SOL-A, modelo básico de contabilidade padrão, d=6 no S0 sintético. Saldos exaustivos são fornecidos; todos os identificadores são rótulos inválidos.
| Registro | Categoria da conta | Quantidade bruta | Tokens exibidos |
|---|---|---|---|
| B1 | Proprietário A | 2,500,000,000 | 2,500 |
| B2 | Proprietário B | 1,500,000,000 | 1,500 |
| B3 | Tesouraria, excluir sob política E | 3,000,000,000 | 3,000 |
| B4 | Vesting, excluir sob política E | 2,000,000,000 | 2,000 |
O total bruto T0 é 9,000,000,000. O feed F1 define erroneamente d=9 e exibe 9. A política E exclui apenas B3/B4. Uma sequência sintética completa de eventos até S1 queima 500,000,000 unidades brutas e emite 750,000,000; não há outras mudanças de oferta. A alocação das contas S1 não é fornecida.
O que a evidência demonstra
OBSERVED no conjunto de dados: Precisão, total e saldos S0 são fornecidos. F1 usa a precisão errada.
INFERRED: O total S0 é 9,000 tokens; a quantidade ajustada pela política E é 4,000. Eventos completos implicam total S1 de 9,250 tokens.
O que a evidência não demonstra
UNKNOWN: Qualquer medida circulante real, alocação S1, preço ou liquidez.
INSUFFICIENT EVIDENCE: Os 4,000 ajustados não são uma queima de protocolo nem oferta circulante universal. A incompatibilidade decimal não prova intenção maliciosa.
Erros comuns
Supor dezoito casas decimais; misturar unidades brutas/exibidas; contar exclusões como queimas; importar inteiros arredondados; comparar contextos não correspondentes; nomear uma medida ajustada por política como “a” oferta circulante.
Exercício prático
Converta T0 e os quatro saldos. Reconcilie S0. Calcule o denominador da política E, a participação do Proprietário A no total e na quantidade ajustada, e o total S1. Explique o erro de fator de F1 e se a concentração de detentores S1 pode ser calculada.
Mostrar correção detalhada
Correção resolvida e raciocínio esperado
Divida cada quantidade bruta por 1,000,000. Os saldos somam 2,500+1,500+3,000+2,000=9,000. A política E remove 5,000, deixando 4,000. A é 2,500/9,000=27.7778% do total, arredondado a quatro casas decimais, e 2,500/4,000=62.5% do denominador ajustado.
F1 divide por 1,000,000,000, tornando seu valor mil vezes menor. Preserve o bruto 9,000,000,000 e corrija a interpretação da precisão, não a quantidade subjacente.
Total bruto S1 = 9,000,000,000−500,000,000+750,000,000=9,250,000,000, ou 9,250 tokens. A concentração S1 é desconhecida porque a nova alocação das contas está ausente. Não reutilize saldos S0 como retrato posterior.
Pontuação em dez: conversões/reconciliação (três), exclusões e ambas as participações (três), soma de eventos (dois), fator e limite da alocação posterior (dois).
Lista de verificação
- Verifique ativo exato e número de casas decimais.
- Preserve inteiros brutos.
- Rotule unidades e arredondamento.
- Reconcilie contextos correspondentes.
- Declare cada exclusão e sua política.
- Mantenha saldos posteriores ausentes como desconhecidos.
Resumo
Precisão e definição vêm antes da comparação de oferta. Uma exclusão por política muda o denominador analítico; um evento do registro muda a oferta contábil.
Resumo
Unidades brutas não são tokens exibidos. Políticas diferentes de oferta respondem perguntas diferentes. Um total correto não fornece distribuição atual nem liquidez.
Especificações visuais
Mostre escada de conversão bruto→exibição d=6, reconciliação dos saldos S0 e barras separadas do total 9,000 e da política E4,000. Marque F1 d=9 como incompatibilidade de precisão; mostre o total S1 de 9,250 sem gráfico fabricado de detentores.
Unidades e políticas de oferta ilustrativas; nenhum preço ou estimativa real de oferta circulante.
Use SVG/HTML determinístico ou gráficos com alternativas textuais, azul-marinho escuro/preto e ciano, azul elétrico e violeta discretos. Rotule cada quantidade e incerteza. Em 390px empilhe painéis; a verificação em 768px/desktop e RTL árabe permanece trabalho futuro dos recursos visuais. Mantenha identificadores em LTR e eixos factuais/direções das arestas inalterados. Use apenas a marca oficial BlockAssay fornecida se identidade visual for adicionada. Ambos os registros são especificações, não recursos entregues.
Ferramentas
Use RADAR para o propósito educacional delimitado da lição somente se suporte à rede, identidade exata, campos e procedência forem verificados. Nenhum endpoint de runtime ou capacidade de provedor é afirmado por este conteúdo. Use o conjunto de dados offline incorporado sem acesso pago. Dados ausentes permanecem desconhecidos; nenhuma conexão de carteira, assinatura de transação, lançamento de token ou operação ao vivo é necessária. Progresso na Academy, pagamentos e indicações nunca mudam evidências do Radar. Um Passaporte Diagnóstico preserva observações e limites, não uma previsão de preço ou certificado de segurança.
Fontes e limites das afirmações
- Ativos Solana — Identidade de mint/conta/programa e casas decimais; distinguir campos de propriedade de contas. Verificada em 2026-09-30.
- Solana getTokenSupply — Oferta bruta, casas decimais e contexto da resposta RPC; não é definição de oferta circulante. Verificada em 2026-09-30.
- Padrão de token ERC-20 — Interface padrão; nome, símbolo e casas decimais opcionais; não é certificação de privilégios ou identidade. Verificada em 2026-09-30.
A documentação apoia mecanismos, não valores fictícios do conjunto de dados. Todos os exemplos e registros dos exercícios são material ILLUSTRATIVE original, fixado neste arquivo. S0/S1 são rótulos de contexto sintéticos; observedAt é null porque nenhuma medição de registro ao vivo ou histórico foi coletada. Revise novamente a documentação e o comportamento realmente implantado antes de qualquer publicação ou integração.
Próxima lição
P08-L03 após o exercício resolvido e a revisão do quiz.
Especificações visuais
P08-L02-V01
Onde a conversão de unidades e as exclusões mudam a medida relatada?
Unidades e políticas de oferta ilustrativas; nenhum preço ou estimativa real de oferta circulante.
Mostre escada de conversão bruto→exibição d=6, reconciliação dos saldos S0 e barras separadas do total 9,000 e da política E4,000. Marque F1 d=9 como incompatibilidade de precisão; mostre o total S1 de 9,250 sem gráfico fabricado de detentores.
Quatro saldos totalizam 9,000 tokens; exclusões deixam4,000; a soma de eventos resulta em 9,250 depois, com alocação desconhecida.
390px painéis empilhados com equivalente textual; verificar 768px e desktop depois
Rótulos e navegação RTL; identificadores isolados em LTR; preservar eixos numéricos, ordem dos eventos e direção factual das arestas.
FIX-P08-02
P08-L02-V02
Qual afirmação é sustentada, condicional, desconhecida ou não sustentada?
Limites ilustrativos da evidência; nenhum veredito de segurança ou investimento.
Quatro linhas rotuladas OBSERVED/INFERRED/UNKNOWN/INSUFFICIENT EVIDENCE ligadas às afirmações e IDs de registros desta lição. Observações são registros fictícios fornecidos, não medições ao vivo.
Quatro linhas de estados de evidência com localizadores de registros e próximas etapas de verificação.
390px painéis empilhados com equivalente textual; verificar 768px e desktop depois
Rótulos e navegação RTL; identificadores isolados em LTR; preservar eixos numéricos, ordem dos eventos e direção factual das arestas.
FIX-P08-02
Fontes e limites das afirmações
S08-TOKENS · official_documentation_or_standard
Ativos Solana
- Afirmação sustentada
- Identidade de mint/conta/programa e casas decimais; distinguir campos de propriedade de contas.
- Limite de verificação
- Página primária inspecionada para apoiar mecanismos editorialmente; nenhum ativo implantado ou conjunto de dados de registro medido independentemente.
- Data de verificação
- 2026-09-30
https://solana.com/docs/tokens
S08-SUPPLY · official_documentation_or_standard
Solana getTokenSupply
- Afirmação sustentada
- Oferta bruta, casas decimais e contexto da resposta RPC; não é definição de oferta circulante.
- Limite de verificação
- Página primária inspecionada para apoiar mecanismos editorialmente; nenhum ativo implantado ou conjunto de dados de registro medido independentemente.
- Data de verificação
- 2026-09-30
https://solana.com/docs/rpc/http/gettokensupply
S08-ERC20 · official_documentation_or_standard
Padrão de token ERC-20
- Afirmação sustentada
- Interface padrão; nome, símbolo e casas decimais opcionais; não é certificação de privilégios ou identidade.
- Limite de verificação
- Página primária inspecionada para apoiar mecanismos editorialmente; nenhum ativo implantado ou conjunto de dados de registro medido independentemente.
- Data de verificação
- 2026-09-30
https://eips.ethereum.org/EIPS/eip-20
Proveniência dos dados
id: FIX-P08-02
dataStatus: ILLUSTRATIVE
observedAt: null
source: Original frozen educational fixture embedded in lesson
timeBasis: Synthetic S0/S1 snapshots, not UTC observations or real blocks
identifiers: Deliberately invalid fictional network, asset and account labels; never use as transaction targets
scope: Exhaustive fictional raw balances, explicit exclusion policy and complete mint/burn sequence.