Ir para o conteúdoBlockAssay

Oferta e casas decimais

P08-L02 · P08 · P08-M01

Converter saldos brutos usando casas decimais verificadas e reconciliar medidas de oferta

ILLUSTRATIVE · needs_review

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.

RegistroCategoria da contaQuantidade brutaTokens exibidos
B1Proprietário A2,500,000,0002,500
B2Proprietário B1,500,000,0001,500
B3Tesouraria, excluir sob política E3,000,000,0003,000
B4Vesting, excluir sob política E2,000,000,0002,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

SPECIFICATION_ONLY · ILLUSTRATIVE

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

SPECIFICATION_ONLY · ILLUSTRATIVE

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
Abrir fonte primária
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
Abrir fonte primária
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
Abrir fonte primária
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.

Teste seu raciocínio

P08-L02-Q1 · Qual é a oferta exibida T0 em d=6?
P08-L02-Q2 · O que significam os 4,000 da política E?
P08-L02-Q3 · Qual é a participação de A na política E?
P08-L02-Q4 · Qual é o total S1?
P08-L02-Q5 · A concentração S1 pode ser derivada dos saldos S0?