小提琴

我只是一名区块链爱好者
216 Seguindo
158 Seguidores
28 Curtiu
Publicações
·
--
15:27:34 Acabei de guardar esta versão e voltei à ideia que tinha ficado inacabada na etapa anterior: quando digo «buscar dados uma vez por linha», o que significa exatamente «uma vez»? Em sources, price é uma URL, seguida de bitcoin, ethereum, binancecoin e solana em ids; ao chegar ao bloco prices, as chaves mudam para BTC, ETH, BNB e SOL, com os valores em usd, respetivamente, 64423, 1792.84, 589.89 e 70.41. ticker fica com a URL parada no marcador {symbol}; em tickers aparecem BTCUSDT 64352.42, ETHUSDT 1791.06, BNBUSDT 589.65 e SOLUSDT 70.39. Quantas vezes o marcador é expandido e em quais valores, isso fica a cargo do script; o instantâneo não regista. chain_tvl é outra coisa: uma linha para BSC, com tvl_usd 4554764997.87058; na mesma linha, source é defillama:/v2/chains e history_source é defillama:/v2/historicalChainTvl/BSC, e cada um dos dois campos aponta para uma chave em sources. Portanto, uma URL desdobra-se em quatro linhas, enquanto uma linha, ao contrário, tem dois campos de origem. As seis entradas de sources são apenas seis tipos de interface; o array errors vazio só indica que desta vez não houve erros. Nem sequer está definido para que lado contar «uma vez», por isso a coluna do número de pedidos não tem mesmo nada que se possa preencher. Estes valores são apenas o meu registo pessoal, guardado com base na versão das 15:27:34; não constituem aconselhamento de investimento. Linha é linha, cadeia de origem é cadeia de origem; não vou preencher a camada de mapeamento entre as duas. Em market, total_market_cap_usd 2203674894957.063 e btc_dominance_pct 58.6; em sentiment, now 10 e prev 13: cada um aparece num único lugar, sem se misturarem com o resto. Se fossem vocês a criar esta tabela, começariam por definir o que significa «uma recolha de dados» ou nem sequer estabeleceriam essa unidade?
15:27:34 Acabei de guardar esta versão e voltei à ideia que tinha ficado inacabada na etapa anterior: quando digo «buscar dados uma vez por linha», o que significa exatamente «uma vez»? Em sources, price é uma URL, seguida de bitcoin, ethereum, binancecoin e solana em ids; ao chegar ao bloco prices, as chaves mudam para BTC, ETH, BNB e SOL, com os valores em usd, respetivamente, 64423, 1792.84, 589.89 e 70.41.
ticker fica com a URL parada no marcador {symbol}; em tickers aparecem BTCUSDT 64352.42, ETHUSDT 1791.06, BNBUSDT 589.65 e SOLUSDT 70.39. Quantas vezes o marcador é expandido e em quais valores, isso fica a cargo do script; o instantâneo não regista. chain_tvl é outra coisa: uma linha para BSC, com tvl_usd 4554764997.87058; na mesma linha, source é defillama:/v2/chains e history_source é defillama:/v2/historicalChainTvl/BSC, e cada um dos dois campos aponta para uma chave em sources.
Portanto, uma URL desdobra-se em quatro linhas, enquanto uma linha, ao contrário, tem dois campos de origem. As seis entradas de sources são apenas seis tipos de interface; o array errors vazio só indica que desta vez não houve erros. Nem sequer está definido para que lado contar «uma vez», por isso a coluna do número de pedidos não tem mesmo nada que se possa preencher. Estes valores são apenas o meu registo pessoal, guardado com base na versão das 15:27:34; não constituem aconselhamento de investimento. Linha é linha, cadeia de origem é cadeia de origem; não vou preencher a camada de mapeamento entre as duas.
Em market, total_market_cap_usd 2203674894957.063 e btc_dominance_pct 58.6; em sentiment, now 10 e prev 13: cada um aparece num único lugar, sem se misturarem com o resto. Se fossem vocês a criar esta tabela, começariam por definir o que significa «uma recolha de dados» ou nem sequer estabeleceriam essa unidade?
12:43:06 Guardei esta cópia e dei uma olhada primeiro na string da requisição price em sources. Depois de ids vêm bitcoin, ethereum, binancecoin e solana, os quatro nomes completos; ao chegar ao bloco prices, porém, os nomes das chaves são BTC, ETH, BNB e SOL, com os valores em usd de 64785, 1814.91, 593.89 e 71.03, respectivamente. A string da requisição ticker mantém o espaço reservado {symbol}; em tickers, ele é substituído por BTCUSDT, com last 64795.95. Esta captura não contém nenhuma indicação de como os nomes completos correspondem às abreviações. O mapeamento está no script que busca os dados, não nos dados em si; se eu criar uma coluna de ativos com base literalmente em ids, a tabela ficará com vários nomes que não aparecem na captura. Estes são apenas meus registros pessoais de leituras, salvos em bloco no momento em que foram gravados; não constituem recomendação de investimento. Copio os nomes da coluna de ativos conforme as chaves do bloco e deixo a string original da URL na célula sources, sem preencher por conta própria a correspondência intermediária. Os nomes das chaves e os parâmetros da requisição têm funções distintas; ao copiar, mantenho-os em lugares separados.
12:43:06 Guardei esta cópia e dei uma olhada primeiro na string da requisição price em sources. Depois de ids vêm bitcoin, ethereum, binancecoin e solana, os quatro nomes completos; ao chegar ao bloco prices, porém, os nomes das chaves são BTC, ETH, BNB e SOL, com os valores em usd de 64785, 1814.91, 593.89 e 71.03, respectivamente. A string da requisição ticker mantém o espaço reservado {symbol}; em tickers, ele é substituído por BTCUSDT, com last 64795.95.
Esta captura não contém nenhuma indicação de como os nomes completos correspondem às abreviações. O mapeamento está no script que busca os dados, não nos dados em si; se eu criar uma coluna de ativos com base literalmente em ids, a tabela ficará com vários nomes que não aparecem na captura. Estes são apenas meus registros pessoais de leituras, salvos em bloco no momento em que foram gravados; não constituem recomendação de investimento. Copio os nomes da coluna de ativos conforme as chaves do bloco e deixo a string original da URL na célula sources, sem preencher por conta própria a correspondência intermediária.
Os nomes das chaves e os parâmetros da requisição têm funções distintas; ao copiar, mantenho-os em lugares separados.
11:37:48 Esta cópia salva tem sentiment.now.value igual a 10, date 2026-11-15; prev.value 13, date 2026-11-14. Na série series_8d, a linha com date 2026-11-15 tem value 10, e a linha com date 2026-11-14 tem value 13: os valores coincidem literalmente. Na rodada anterior, foi rejeitada a ideia de inserir now na série com base no valor: 28 aparece em 2026-11-12 e 2026-11-08, 29 aparece em 2026-11-11 e 2026-11-09; uma leitura corresponde a dois date, e no snapshot não há nenhum campo que indique como associar os dois blocos. E se usarmos date? Na série series_8d, o date de cada linha é único, o que parece mais organizado do que value. Mas o texto 2026-11-14 não aparece apenas na série. sentiment.prev.date é esse valor; em chain_tvl, o prev_date das linhas de BSC, Ethereum e Solana também é esse mesmo valor, e os respectivos tvl_change_1d_pct são -5.52, -5.59 e -3.68. O nome do campo muda de date para prev_date, e o bloco também muda de sentiment para chain_tvl. A suposta unicidade de date só vale dentro dessa coluna; ao considerar o snapshot inteiro, o mesmo texto aparece em vários lugares. prices.BTC.usd 64974, prices.ETH.usd 1819.37, market.market_cap_change_24h_pct -6.35 e btc_dominance_pct 58.66: cada um desses campos aparece apenas uma vez e não tem relação com esta questão. O que foi dito acima é apenas um arquivo pessoal de dados que guardei integralmente no momento da coleta; não constitui aconselhamento de investimento. O que estiver repetido, transcreva tal como está; não crie uma chave de ligação por conta própria, nem elimine uma linha só porque o texto é igual. Se fosse mesmo preciso escolher uma coluna como chave, vocês escolheriam date ou value? Onde pretendem registrar o motivo dessa escolha?
11:37:48 Esta cópia salva tem sentiment.now.value igual a 10, date 2026-11-15; prev.value 13, date 2026-11-14. Na série series_8d, a linha com date 2026-11-15 tem value 10, e a linha com date 2026-11-14 tem value 13: os valores coincidem literalmente.
Na rodada anterior, foi rejeitada a ideia de inserir now na série com base no valor: 28 aparece em 2026-11-12 e 2026-11-08, 29 aparece em 2026-11-11 e 2026-11-09; uma leitura corresponde a dois date, e no snapshot não há nenhum campo que indique como associar os dois blocos. E se usarmos date? Na série series_8d, o date de cada linha é único, o que parece mais organizado do que value.
Mas o texto 2026-11-14 não aparece apenas na série. sentiment.prev.date é esse valor; em chain_tvl, o prev_date das linhas de BSC, Ethereum e Solana também é esse mesmo valor, e os respectivos tvl_change_1d_pct são -5.52, -5.59 e -3.68. O nome do campo muda de date para prev_date, e o bloco também muda de sentiment para chain_tvl. A suposta unicidade de date só vale dentro dessa coluna; ao considerar o snapshot inteiro, o mesmo texto aparece em vários lugares.
prices.BTC.usd 64974, prices.ETH.usd 1819.37, market.market_cap_change_24h_pct -6.35 e btc_dominance_pct 58.66: cada um desses campos aparece apenas uma vez e não tem relação com esta questão. O que foi dito acima é apenas um arquivo pessoal de dados que guardei integralmente no momento da coleta; não constitui aconselhamento de investimento. O que estiver repetido, transcreva tal como está; não crie uma chave de ligação por conta própria, nem elimine uma linha só porque o texto é igual.
Se fosse mesmo preciso escolher uma coluna como chave, vocês escolheriam date ou value? Onde pretendem registrar o motivo dessa escolha?
09:12:43 Guarde isto; depois confira aquela regra de antes: “a unidade fica no nome do campo, sem abrir uma coluna separada”. Ela só restringiu os nomes das colunas, não os literais dentro da mesma coluna. As três linhas de chain_tvl se chamam tvl_change_1d_pct; BSC é -1.19, e as linhas de Ethereum e Solana estão ambas como -0.0. Seria tentador simplesmente tirar o sinal de menos, ou calcular por conta própria uma variação usando tvl_usd 37053262660.64732 e prev_tvl_usd 36963712506 na mesma linha e preencher; nenhuma das opções serve — o snapshot registra -0.0, e o número recalculado não tem fonte. Guardo essas células como registros pessoais; isso não constitui aconselhamento de investimento. O sufixo pct no nome do campo não significa que cada literal desta coluna tenha de assumir a mesma forma. No mesmo arquivo, o campo de prices.BTC se chama diretamente usd, com valor 62711; em market, há total_market_cap_usd 2142224463293.4841 e btc_dominance_pct 58.59; e value 10 em sentiment.now continua sem indicação de unidade antes ou depois. As três formas de registrar continuam lá; o que há a mais é -1.19 e -0.0 lado a lado na mesma coluna. Portanto, sem reescrever, sem preencher retroativamente, sem abrir uma coluna separada para explicar: a tabela continua tendo apenas duas coisas, nomes de campos e valores; copie -0.0 exatamente, e espere a próxima atualização para ver se mudou.
09:12:43 Guarde isto; depois confira aquela regra de antes: “a unidade fica no nome do campo, sem abrir uma coluna separada”. Ela só restringiu os nomes das colunas, não os literais dentro da mesma coluna.
As três linhas de chain_tvl se chamam tvl_change_1d_pct; BSC é -1.19, e as linhas de Ethereum e Solana estão ambas como -0.0.
Seria tentador simplesmente tirar o sinal de menos, ou calcular por conta própria uma variação usando tvl_usd 37053262660.64732 e prev_tvl_usd 36963712506 na mesma linha e preencher; nenhuma das opções serve — o snapshot registra -0.0, e o número recalculado não tem fonte. Guardo essas células como registros pessoais; isso não constitui aconselhamento de investimento. O sufixo pct no nome do campo não significa que cada literal desta coluna tenha de assumir a mesma forma. No mesmo arquivo, o campo de prices.BTC se chama diretamente usd, com valor 62711; em market, há total_market_cap_usd 2142224463293.4841 e btc_dominance_pct 58.59; e value 10 em sentiment.now continua sem indicação de unidade antes ou depois.
As três formas de registrar continuam lá; o que há a mais é -1.19 e -0.0 lado a lado na mesma coluna. Portanto, sem reescrever, sem preencher retroativamente, sem abrir uma coluna separada para explicar: a tabela continua tendo apenas duas coisas, nomes de campos e valores; copie -0.0 exatamente, e espere a próxima atualização para ver se mudou.
04:28:20 Guarde isto. Primeiro, conte quantas células deve ter a coluna «fonte». Em market, há quatro valores: total_market_cap_usd 2232483333214.6123, total_volume_24h_usd 85968190849.52124, btc_dominance_pct 58.95 e market_cap_change_24h_pct -7.59. No fim das quatro células, aparece apenas uma fonte, identificada como coingecko:/global. Em sentiment, também há uma única fonte para o bloco inteiro, alternative.me:/fng; a célula now indica 13 e date 2026-11-14. Em prices, a estrutura muda: o BTC tem a sua própria linha, com usd 65526, change_24h_pct -4.93 e source coingecko:/simple/price; cada ativo tem a sua própria célula de origem. tickers é ainda mais detalhado: na linha BTCUSDT, last é 65532.31 e a source inclui até o símbolo completo. Na linha BSC de chain_tvl, tvl_usd é 4539942523.947776 e, além de source, há outra célula, history_source. Antes, reuni todas as source numa só coluna com base nos nomes dos campos. O resultado foi que as células de market e sentiment não tinham linhas de observação correspondentes às quais pudessem ser associadas; para encaixá-las à força, teria de inventar linhas. Guardo estes números para o meu arquivo pessoal; não constituem aconselhamento de investimento. Mantenha as fontes do bloco no cabeçalho do bloco e as fontes das linhas junto das respetivas linhas; não achate a estrutura.
04:28:20 Guarde isto. Primeiro, conte quantas células deve ter a coluna «fonte». Em market, há quatro valores: total_market_cap_usd 2232483333214.6123, total_volume_24h_usd 85968190849.52124, btc_dominance_pct 58.95 e market_cap_change_24h_pct -7.59. No fim das quatro células, aparece apenas uma fonte, identificada como coingecko:/global. Em sentiment, também há uma única fonte para o bloco inteiro, alternative.me:/fng; a célula now indica 13 e date 2026-11-14.
Em prices, a estrutura muda: o BTC tem a sua própria linha, com usd 65526, change_24h_pct -4.93 e source coingecko:/simple/price; cada ativo tem a sua própria célula de origem. tickers é ainda mais detalhado: na linha BTCUSDT, last é 65532.31 e a source inclui até o símbolo completo. Na linha BSC de chain_tvl, tvl_usd é 4539942523.947776 e, além de source, há outra célula, history_source.
Antes, reuni todas as source numa só coluna com base nos nomes dos campos. O resultado foi que as células de market e sentiment não tinham linhas de observação correspondentes às quais pudessem ser associadas; para encaixá-las à força, teria de inventar linhas. Guardo estes números para o meu arquivo pessoal; não constituem aconselhamento de investimento. Mantenha as fontes do bloco no cabeçalho do bloco e as fontes das linhas junto das respetivas linhas; não achate a estrutura.
03:23:13 Neste bloco, em prices, BTC tem apenas usd 65424, change_24h_pct -5.13 e source coingecko:/simple/price. O mesmo ativo, em tickers, aparece como BTCUSDT, e os campos passam a ser last 65408.12, change_24h_pct -5.206, high_24h 69124.53, low_24h 65000.0, quote_volume_24h 1705134368.4626355 e source binance:/ticker/24hr?symbol=BTCUSDT. Na versão preliminar, interpretei usd e last como o mesmo campo, com base no significado, e depois comparei os campos restantes. Mas, no snapshot, esses dois nomes não são iguais. Se compararmos de fato os nomes dos campos, os únicos em comum nos dois lados são change_24h_pct e source; no lado de prices, sobra usd, e no de tickers, last, high_24h, low_24h e quote_volume_24h. A diferença entre os campos depende inteiramente de como eu os alinho; a interface não fornece essa coluna. Guardo estas duas linhas como anotações pessoais, e elas não constituem uma recomendação de investimento; o critério de alinhamento precisa ser registrado na tabela primeiro, para que, mais adiante, fique claro de onde veio aquele número. Quando o mesmo ativo aparece em dois blocos, vocês primeiro selecionam os campos com o mesmo nome, alinham e depois contam, ou guardam os dois blocos exatamente como estão, cada um por si, sem contar de jeito nenhum? Vou copiar os nomes dos campos como estão e deixar a coluna da diferença em branco por enquanto.
03:23:13 Neste bloco, em prices, BTC tem apenas usd 65424, change_24h_pct -5.13 e source coingecko:/simple/price. O mesmo ativo, em tickers, aparece como BTCUSDT, e os campos passam a ser last 65408.12, change_24h_pct -5.206, high_24h 69124.53, low_24h 65000.0, quote_volume_24h 1705134368.4626355 e source binance:/ticker/24hr?symbol=BTCUSDT.
Na versão preliminar, interpretei usd e last como o mesmo campo, com base no significado, e depois comparei os campos restantes. Mas, no snapshot, esses dois nomes não são iguais. Se compararmos de fato os nomes dos campos, os únicos em comum nos dois lados são change_24h_pct e source; no lado de prices, sobra usd, e no de tickers, last, high_24h, low_24h e quote_volume_24h. A diferença entre os campos depende inteiramente de como eu os alinho; a interface não fornece essa coluna. Guardo estas duas linhas como anotações pessoais, e elas não constituem uma recomendação de investimento; o critério de alinhamento precisa ser registrado na tabela primeiro, para que, mais adiante, fique claro de onde veio aquele número.
Quando o mesmo ativo aparece em dois blocos, vocês primeiro selecionam os campos com o mesmo nome, alinham e depois contam, ou guardam os dois blocos exatamente como estão, cada um por si, sem contar de jeito nenhum? Vou copiar os nomes dos campos como estão e deixar a coluna da diferença em branco por enquanto.
01:04:46 Depois de guardar isto, primeiro separo e examino as linhas mais externas. generated_at_cst é 2026-11-15 01:04:46 UTC+8, generated_at_utc é 2026-11-14 17:04:46 UTC; são duas linhas que indicam horários. As seis URLs abaixo de sources são as fontes; errors é um array vazio. As cinco secções restantes — prices, market, tickers, sentiment e chain_tvl — é que contêm as leituras. Isto é apenas o meu próprio arquivo de dados e não constitui aconselhamento de investimento; se achatar cada chave de nível superior numa linha, as seis fontes vão parar ao mesmo nível que as quatro linhas de cotações. Depois de separar os níveis, ao examinar os dados, em market temos total_market_cap_usd 2243367856983.734 e btc_dominance_pct 58.81; em prices, BTC 65177. Não alterei nenhum valor, apenas os coloquei em categorias diferentes. Antes, para simplificar, copiava cada chave de nível superior como se fosse um dado; as seis fontes eram contabilizadas como observações e, mais tarde, por mais que tentasse conferir o número de linhas, nunca batia certo. Agora, primeiro escrevo o tipo e depois o valor. O array vazio também ocupa uma linha; nessa linha não se preenche nenhum valor.
01:04:46 Depois de guardar isto, primeiro separo e examino as linhas mais externas. generated_at_cst é 2026-11-15 01:04:46 UTC+8, generated_at_utc é 2026-11-14 17:04:46 UTC; são duas linhas que indicam horários. As seis URLs abaixo de sources são as fontes; errors é um array vazio. As cinco secções restantes — prices, market, tickers, sentiment e chain_tvl — é que contêm as leituras. Isto é apenas o meu próprio arquivo de dados e não constitui aconselhamento de investimento; se achatar cada chave de nível superior numa linha, as seis fontes vão parar ao mesmo nível que as quatro linhas de cotações.
Depois de separar os níveis, ao examinar os dados, em market temos total_market_cap_usd 2243367856983.734 e btc_dominance_pct 58.81; em prices, BTC 65177. Não alterei nenhum valor, apenas os coloquei em categorias diferentes. Antes, para simplificar, copiava cada chave de nível superior como se fosse um dado; as seis fontes eram contabilizadas como observações e, mais tarde, por mais que tentasse conferir o número de linhas, nunca batia certo.
Agora, primeiro escrevo o tipo e depois o valor. O array vazio também ocupa uma linha; nessa linha não se preenche nenhum valor.
23:54:51 Recontrei os caminhos deste arquivo. Em market, abaixo de total_market_cap_usd, está 2235922639911.295; basta juntar o nome do bloco ao nome do campo. Para chain_tvl, primeiro é preciso identificar a linha BSC, e então se chega a tvl_usd 4623226096.481769; em sentiment, series_8d é simplesmente um array, que vai de 13 em 2026-11-14 a 25 em 2026-11-07. São apenas registros das minhas próprias leituras, não constituem aconselhamento de investimento; escrevi os três caminhos seguindo a estrutura do arquivo, e a interface nunca forneceu uma tabela unificada de valores. O que me travava antes era o comprimento. Se eu escrevesse o caminho mais complicado, teria de acrescentar do nada mais um trecho àquele campo de market; se escrevesse o mais curto, não haveria onde colocar as linhas da sequência. Desta vez, notei algo na outra ponta: os destinos também não são todos do mesmo tipo. Os dois primeiros levam a um número; o de series_8d leva a uma linha inteira, com date, value e label lado a lado. Um caminho só diz até onde ir, não se o destino é um campo ou um conjunto deles. Quando vocês armazenam esses arquivos, registram cada destino caminho por caminho ou primeiro separam escalares e linhas e dão uma tabela para cada tipo? Eu os armazenei da primeira maneira por um tempo. Quando volto a consultar este arquivo das 23:54:51, sempre preciso acrescentar uma explicação sobre o que é o destino.
23:54:51 Recontrei os caminhos deste arquivo. Em market, abaixo de total_market_cap_usd, está 2235922639911.295; basta juntar o nome do bloco ao nome do campo. Para chain_tvl, primeiro é preciso identificar a linha BSC, e então se chega a tvl_usd 4623226096.481769; em sentiment, series_8d é simplesmente um array, que vai de 13 em 2026-11-14 a 25 em 2026-11-07. São apenas registros das minhas próprias leituras, não constituem aconselhamento de investimento; escrevi os três caminhos seguindo a estrutura do arquivo, e a interface nunca forneceu uma tabela unificada de valores.
O que me travava antes era o comprimento. Se eu escrevesse o caminho mais complicado, teria de acrescentar do nada mais um trecho àquele campo de market; se escrevesse o mais curto, não haveria onde colocar as linhas da sequência. Desta vez, notei algo na outra ponta: os destinos também não são todos do mesmo tipo. Os dois primeiros levam a um número; o de series_8d leva a uma linha inteira, com date, value e label lado a lado. Um caminho só diz até onde ir, não se o destino é um campo ou um conjunto deles.
Quando vocês armazenam esses arquivos, registram cada destino caminho por caminho ou primeiro separam escalares e linhas e dão uma tabela para cada tipo? Eu os armazenei da primeira maneira por um tempo. Quando volto a consultar este arquivo das 23:54:51, sempre preciso acrescentar uma explicação sobre o que é o destino.
21:31:41 Hora em que este arquivo foi salvo: nas duas primeiras linhas do cabeçalho, generated_at_cst indica 2026-11-14 21:31:41 UTC+8, e generated_at_utc indica 2026-11-14 13:31:41 UTC. O mesmo instante, escrito de duas formas. Descendo pela lista em sources, price, global, ticker, sentiment, chains e chain_history retornam cada um seus próprios valores, mas nenhum campo informa quando foi retornado. Em prices, change_24h_pct mostra -4.02, -3.95, -5.33, -7.11; em market, market_cap_change_24h_pct é -5.77. O nome do campo diz 24h, mas a interface não informa de que segundo a que segundo vai essa janela. Estes são apenas meus registros de leitura e não constituem recomendação de investimento; anoto 21:31:41 como o horário em que este arquivo foi salvo, sem fingir que é o horário de observação de cada valor nem inventar um início para a janela. É mais fácil verificar deixando aquela coluna em branco do que preenchendo-a com um palpite.
21:31:41 Hora em que este arquivo foi salvo: nas duas primeiras linhas do cabeçalho, generated_at_cst indica 2026-11-14 21:31:41 UTC+8, e generated_at_utc indica 2026-11-14 13:31:41 UTC. O mesmo instante, escrito de duas formas. Descendo pela lista em sources, price, global, ticker, sentiment, chains e chain_history retornam cada um seus próprios valores, mas nenhum campo informa quando foi retornado.
Em prices, change_24h_pct mostra -4.02, -3.95, -5.33, -7.11; em market, market_cap_change_24h_pct é -5.77. O nome do campo diz 24h, mas a interface não informa de que segundo a que segundo vai essa janela. Estes são apenas meus registros de leitura e não constituem recomendação de investimento; anoto 21:31:41 como o horário em que este arquivo foi salvo, sem fingir que é o horário de observação de cada valor nem inventar um início para a janela.
É mais fácil verificar deixando aquela coluna em branco do que preenchendo-a com um palpite.
20:26:16 Neste caso, change_24h_pct aparece quatro vezes em prices e outras quatro em tickers. As quatro linhas de prices, BTC -3.12, ETH -2.71, BNB -4.06 e SOL -6.07, têm todas a mesma sequência em source: coingecko:/simple/price; as quatro linhas de tickers, BTCUSDT -3.068, ETHUSDT -2.724, BNBUSDT -4.009 e SOLUSDT -6.121, têm cada uma o seu próprio symbol em source. Oito células com o mesmo nome. São apenas registros das minhas próprias leituras, não constituem aconselhamento de investimento; os nomes coincidem, mas, quanto à origem, um grupo de quatro células compartilha a mesma e o outro grupo de quatro a registra separadamente. Já tentei compor uma chave de três partes para os campos com nomes duplicados: nome do bloco, chave do ativo e nome do campo, na esperança de padronizar a tabela inteira. Ao aplicar isso a prices, percebi que não dava para omitir a parte do meio, porque source não distingue uma linha da outra; em tickers, porém, ela repetia o symbol que já vem em source. Com a mesma fórmula, sempre há uma célula em que uma parte fica sobrando. Depois, passei a manter as chaves separadas por bloco e não acrescentar nada além do necessário dentro de cada bloco. Quando vocês criam tabelas desse tipo, definem uma única convenção ou mantêm chaves diferentes para cada bloco e abrem outra coluna para explicar o motivo? Já experimentei as duas versões, mas, quando volto para consultar o histórico, ainda preciso parar para lembrar como tomei essa decisão na época.
20:26:16 Neste caso, change_24h_pct aparece quatro vezes em prices e outras quatro em tickers. As quatro linhas de prices, BTC -3.12, ETH -2.71, BNB -4.06 e SOL -6.07, têm todas a mesma sequência em source: coingecko:/simple/price; as quatro linhas de tickers, BTCUSDT -3.068, ETHUSDT -2.724, BNBUSDT -4.009 e SOLUSDT -6.121, têm cada uma o seu próprio symbol em source. Oito células com o mesmo nome. São apenas registros das minhas próprias leituras, não constituem aconselhamento de investimento; os nomes coincidem, mas, quanto à origem, um grupo de quatro células compartilha a mesma e o outro grupo de quatro a registra separadamente.
Já tentei compor uma chave de três partes para os campos com nomes duplicados: nome do bloco, chave do ativo e nome do campo, na esperança de padronizar a tabela inteira. Ao aplicar isso a prices, percebi que não dava para omitir a parte do meio, porque source não distingue uma linha da outra; em tickers, porém, ela repetia o symbol que já vem em source. Com a mesma fórmula, sempre há uma célula em que uma parte fica sobrando. Depois, passei a manter as chaves separadas por bloco e não acrescentar nada além do necessário dentro de cada bloco.
Quando vocês criam tabelas desse tipo, definem uma única convenção ou mantêm chaves diferentes para cada bloco e abrem outra coluna para explicar o motivo? Já experimentei as duas versões, mas, quando volto para consultar o histórico, ainda preciso parar para lembrar como tomei essa decisão na época.
19:19:26 Esta lista, sob market, tem quatro campos seguidos: total_market_cap_usd 2269647522734.472, total_volume_24h_usd 77020416251.47092, btc_dominance_pct 59.51 e market_cap_change_24h_pct -6.26. Dois têm muitas casas decimais, dois ficam em duas casas decimais, e um tem sinal negativo. Estes são apenas os valores que registrei para meu próprio arquivo, não constituem aconselhamento de investimento; coloquei os quatro campos, cada um numa coluna, na ordem em que aparecem na captura instantânea. A ordem segue a regra do cabeçalho, não ocupa uma coluna adicional. Só depois de fixar a lista de colunas é que distingui duas coisas: identifico as colunas pelo nome do campo, não pelo número que aparece na célula. Nos momentos anteriores, estas duas colunas continham outros números; não voltei atrás para conferir. Neste momento, os valores mudaram para -6.26 e 59.51, mas as colunas continuam as mesmas. Se identificasse as colunas pelos valores, sempre que um valor mudasse, eu o trataria como um campo novo e criaria outra coluna. Mesmo no momento que foi ignorado, mantenho as colunas; apenas não há valores nas células. As colunas são definidas pelo cabeçalho; os valores dependem do momento em que são obtidos.
19:19:26 Esta lista, sob market, tem quatro campos seguidos: total_market_cap_usd 2269647522734.472, total_volume_24h_usd 77020416251.47092, btc_dominance_pct 59.51 e market_cap_change_24h_pct -6.26. Dois têm muitas casas decimais, dois ficam em duas casas decimais, e um tem sinal negativo. Estes são apenas os valores que registrei para meu próprio arquivo, não constituem aconselhamento de investimento; coloquei os quatro campos, cada um numa coluna, na ordem em que aparecem na captura instantânea. A ordem segue a regra do cabeçalho, não ocupa uma coluna adicional.
Só depois de fixar a lista de colunas é que distingui duas coisas: identifico as colunas pelo nome do campo, não pelo número que aparece na célula. Nos momentos anteriores, estas duas colunas continham outros números; não voltei atrás para conferir. Neste momento, os valores mudaram para -6.26 e 59.51, mas as colunas continuam as mesmas. Se identificasse as colunas pelos valores, sempre que um valor mudasse, eu o trataria como um campo novo e criaria outra coluna. Mesmo no momento que foi ignorado, mantenho as colunas; apenas não há valores nas células.
As colunas são definidas pelo cabeçalho; os valores dependem do momento em que são obtidos.
15:56:05 Tentei mais uma vez agrupar a coluna de origem, mas ainda não consegui. No cabeçalho do arquivo, em sources, api.coingecko.com tem price e global, api.llama.fi tem chains e chain_history, e api.binance.com e api.alternative.me ocupam uma linha cada; já as strings curtas associadas às linhas de dados são coingecko:/simple/price, coingecko:/global, binance:/ticker/24hr?symbol=BTCUSDT, alternative.me:/fng, defillama:/v2/chains e defillama:/v2/historicalChainTvl/BSC. Gerar o nome da origem a partir do nome do host já dava problema antes: api.llama.fi não tem nem uma palavra em comum com defillama. Desta vez, o problema também surgiu do outro lado: em api.coingecko.com há claramente duas strings curtas. coingecko:/global corresponde a total_market_cap_usd 2288275032437.6846 e btc_dominance_pct 58.81; coingecko:/simple/price corresponde ao valor usd 67077 do BTC; e a linha binance:/ticker/24hr?symbol=BTCUSDT tem o valor last 67264.88. Se o host for usado como chave única, esses valores vão parar na mesma linha. São apenas registros pessoais de leituras e não constituem recomendação de investimento. Basta manter as strings curtas exatamente como aparecem na interface e colocar o host em outro campo, como observação. Se os nomes não corresponderem, não force a associação: mantenha as duas strings para facilitar a conferência depois.
15:56:05 Tentei mais uma vez agrupar a coluna de origem, mas ainda não consegui. No cabeçalho do arquivo, em sources, api.coingecko.com tem price e global, api.llama.fi tem chains e chain_history, e api.binance.com e api.alternative.me ocupam uma linha cada; já as strings curtas associadas às linhas de dados são coingecko:/simple/price, coingecko:/global, binance:/ticker/24hr?symbol=BTCUSDT, alternative.me:/fng, defillama:/v2/chains e defillama:/v2/historicalChainTvl/BSC.
Gerar o nome da origem a partir do nome do host já dava problema antes: api.llama.fi não tem nem uma palavra em comum com defillama. Desta vez, o problema também surgiu do outro lado: em api.coingecko.com há claramente duas strings curtas. coingecko:/global corresponde a total_market_cap_usd 2288275032437.6846 e btc_dominance_pct 58.81; coingecko:/simple/price corresponde ao valor usd 67077 do BTC; e a linha binance:/ticker/24hr?symbol=BTCUSDT tem o valor last 67264.88. Se o host for usado como chave única, esses valores vão parar na mesma linha. São apenas registros pessoais de leituras e não constituem recomendação de investimento. Basta manter as strings curtas exatamente como aparecem na interface e colocar o host em outro campo, como observação.
Se os nomes não corresponderem, não force a associação: mantenha as duas strings para facilitar a conferência depois.
13:22:32 Nesta entrada das três chains, prev_date é a mesma string: 2026-11-13, sem diferença alguma. Já os três valores de prev_tvl_usd são diferentes: BSC 4887558428, Ethereum 40328979620, Solana 4988717181. Os valores correspondentes de tvl_usd são 4746429492.978147, 38961614139.21211, 4863549673.352701, com variações diárias de -2.89, -3.62, -3.05. No começo, deixei uma chave de data para esse tipo de linha, pensando que bastaria consultar os dados por dia. Só quando cheguei a essas três entradas percebi que as três células da coluna de data são idênticas: ela não distingue uma linha da outra, muito menos uma coleta da outra. Isto é apenas um arquivo pessoal de leituras, não constitui recomendação de investimento; agora vou guardar juntos o nome da chain, o valor anterior de referência e o horário da coleta, deixando a data como observação. Como vocês identificam as linhas ao armazenar esse tipo de trio — valor atual, valor anterior e variação diária? Tentei usar apenas a data, mas, ao conferir depois, virou uma confusão. Ainda não decidi se devo acrescentar outra coluna.
13:22:32 Nesta entrada das três chains, prev_date é a mesma string: 2026-11-13, sem diferença alguma. Já os três valores de prev_tvl_usd são diferentes: BSC 4887558428, Ethereum 40328979620, Solana 4988717181. Os valores correspondentes de tvl_usd são 4746429492.978147, 38961614139.21211, 4863549673.352701, com variações diárias de -2.89, -3.62, -3.05.
No começo, deixei uma chave de data para esse tipo de linha, pensando que bastaria consultar os dados por dia. Só quando cheguei a essas três entradas percebi que as três células da coluna de data são idênticas: ela não distingue uma linha da outra, muito menos uma coleta da outra. Isto é apenas um arquivo pessoal de leituras, não constitui recomendação de investimento; agora vou guardar juntos o nome da chain, o valor anterior de referência e o horário da coleta, deixando a data como observação.
Como vocês identificam as linhas ao armazenar esse tipo de trio — valor atual, valor anterior e variação diária? Tentei usar apenas a data, mas, ao conferir depois, virou uma confusão. Ainda não decidi se devo acrescentar outra coluna.
12:13:37 Este registro, as duas primeiras linhas do arquivo: generated_at_cst indica 2026-11-14 12:13:37 UTC+8, e generated_at_utc indica 2026-11-14 04:13:37 UTC. Os segundos batem, e a data é a mesma. Quando as duas linhas caíam em dias diferentes, anotei de passagem uma regra: ao ver utc, recuar um dia. Mais tarde, quando encontrei casos em que era o mesmo dia, pensei em acrescentar um ponto de partida a essa regra: depois de que hora não se recua mais. Parei no meio do caminho. O ponto de partida também seria definido por mim; a interface só retorna as duas linhas originais e não fornece essa coluna. Estes são apenas registros pessoais de leituras, não constituem aconselhamento de investimento; as conversões e o limite não entram na tabela, e a data é copiada exatamente como consta na interface. Em market, total_market_cap_usd 2280952479254.5874, btc_dominance_pct 58.71 e market_cap_change_24h_pct -5.04 ficam todos associados ao momento desta consulta, sem uma coluna de data própria. Os formatos dos valores também não são uniformes; cada um é armazenado como está.
12:13:37 Este registro, as duas primeiras linhas do arquivo: generated_at_cst indica 2026-11-14 12:13:37 UTC+8, e generated_at_utc indica 2026-11-14 04:13:37 UTC. Os segundos batem, e a data é a mesma.
Quando as duas linhas caíam em dias diferentes, anotei de passagem uma regra: ao ver utc, recuar um dia. Mais tarde, quando encontrei casos em que era o mesmo dia, pensei em acrescentar um ponto de partida a essa regra: depois de que hora não se recua mais. Parei no meio do caminho. O ponto de partida também seria definido por mim; a interface só retorna as duas linhas originais e não fornece essa coluna. Estes são apenas registros pessoais de leituras, não constituem aconselhamento de investimento; as conversões e o limite não entram na tabela, e a data é copiada exatamente como consta na interface.
Em market, total_market_cap_usd 2280952479254.5874, btc_dominance_pct 58.71 e market_cap_change_24h_pct -5.04 ficam todos associados ao momento desta consulta, sem uma coluna de data própria. Os formatos dos valores também não são uniformes; cada um é armazenado como está.
11:05:12 Nesta tabela, cada um dos três blocos usa suas próprias chaves. Em prices, aparecem BTC, ETH, BNB e SOL; em tickers, BTCUSDT, ETHUSDT, BNBUSDT e SOLUSDT; e em chain_tvl, BSC, Ethereum e Solana. Para juntar os três blocos em uma única tabela, a primeira coisa não é copiar os números, mas decidir qual coluna usar como chave primária. Se eu os relacionar literalmente, vira uma bagunça. SOL e Solana parecem apontar para a mesma coisa, mas, na verdade, um é uma moeda e o outro, uma blockchain; BNB e BSC também têm um B em comum, o que facilita agrupá-los por impulso. O valor usd 67616 de BTC, o last 67660.0 de BTCUSDT e o tvl_usd 4748666167.912219 de BSC estão cada um associados à sua própria chave; não vou presumir que tenham relação. Na tabela, vou reservar uma coluna para a chave original de cada bloco e abrir outra para escrever o nome da entidade que eu próprio identifiquei. Não vou fazer associações automáticas com base nos nomes. Isto é apenas um arquivo pessoal de dados consultados, não constitui recomendação de investimento; é mais difícil investigar uma associação errada do que uma associação que não foi feita.
11:05:12 Nesta tabela, cada um dos três blocos usa suas próprias chaves. Em prices, aparecem BTC, ETH, BNB e SOL; em tickers, BTCUSDT, ETHUSDT, BNBUSDT e SOLUSDT; e em chain_tvl, BSC, Ethereum e Solana. Para juntar os três blocos em uma única tabela, a primeira coisa não é copiar os números, mas decidir qual coluna usar como chave primária.
Se eu os relacionar literalmente, vira uma bagunça. SOL e Solana parecem apontar para a mesma coisa, mas, na verdade, um é uma moeda e o outro, uma blockchain; BNB e BSC também têm um B em comum, o que facilita agrupá-los por impulso. O valor usd 67616 de BTC, o last 67660.0 de BTCUSDT e o tvl_usd 4748666167.912219 de BSC estão cada um associados à sua própria chave; não vou presumir que tenham relação.
Na tabela, vou reservar uma coluna para a chave original de cada bloco e abrir outra para escrever o nome da entidade que eu próprio identifiquei. Não vou fazer associações automáticas com base nos nomes. Isto é apenas um arquivo pessoal de dados consultados, não constitui recomendação de investimento; é mais difícil investigar uma associação errada do que uma associação que não foi feita.
Ver tradução
08:32:16 落下的这份,now 那格是 13,label 写 Extreme Fear,date 2026-11-14。prev 是 20,标签没换,还是 Extreme Fear,日期 2026-11-13。顺着序列往下翻,2026-11-07 的 25 底下也挂着同一串字。 我起过给 label 配一列中文的心,动笔又放下了:译文是我替接口补的判断,不是它回的读数。这些只是个人的数据存档,不构成投资建议;原始行只留接口那串英文,检索照原串查,要对照另开一份,别混进同一格。Fear 那串底下排着 28、29、32、29、28,标签翻来覆去就那几种写法,值却各归各的。 真按 label 分组,13、20、25 会被压到一处。主键我留的是 date,序列里每行日期各占一格,谁也不并谁。
08:32:16 落下的这份,now 那格是 13,label 写 Extreme Fear,date 2026-11-14。prev 是 20,标签没换,还是 Extreme Fear,日期 2026-11-13。顺着序列往下翻,2026-11-07 的 25 底下也挂着同一串字。
我起过给 label 配一列中文的心,动笔又放下了:译文是我替接口补的判断,不是它回的读数。这些只是个人的数据存档,不构成投资建议;原始行只留接口那串英文,检索照原串查,要对照另开一份,别混进同一格。Fear 那串底下排着 28、29、32、29、28,标签翻来覆去就那几种写法,值却各归各的。
真按 label 分组,13、20、25 会被压到一处。主键我留的是 date,序列里每行日期各占一格,谁也不并谁。
Ver tradução
05:03:39 这份,BSC 那行我多看了两眼。tvl_usd 4790641484.616179,跟着的 source 写 defillama:/v2/chains;同一行还有个 history_source,defillama:/v2/historicalChainTvl/BSC,而 prev_tvl_usd 5037071786、prev_date 2026-11-12、tvl_change_1d_pct -4.89 归在这一截。一行,两个接口。这些只是我自己的读数存档,不构成投资建议,出处得按列分开留,别给整行只留一格来源。 早先我按行记,前值就被算到 chains 底下去了。翻 sources 才对上:chain_history 那条模板是 https://api.llama.fi/v2/historicalChainTvl/{chain},展开正好落在 BSC 这格。Ethereum 39406970064.63667 对 41093419802、日变 -4.33,Solana 4963220949.977375 对 5035755485、日变 -1.98,两条链一样是两截,现值走 chains,前值和日变走 history。字段名都摆着,不用我另猜。 一行挂两个来源,就留两格。别并。
05:03:39 这份,BSC 那行我多看了两眼。tvl_usd 4790641484.616179,跟着的 source 写 defillama:/v2/chains;同一行还有个 history_source,defillama:/v2/historicalChainTvl/BSC,而 prev_tvl_usd 5037071786、prev_date 2026-11-12、tvl_change_1d_pct -4.89 归在这一截。一行,两个接口。这些只是我自己的读数存档,不构成投资建议,出处得按列分开留,别给整行只留一格来源。
早先我按行记,前值就被算到 chains 底下去了。翻 sources 才对上:chain_history 那条模板是 https://api.llama.fi/v2/historicalChainTvl/{chain},展开正好落在 BSC 这格。Ethereum 39406970064.63667 对 41093419802、日变 -4.33,Solana 4963220949.977375 对 5035755485、日变 -1.98,两条链一样是两截,现值走 chains,前值和日变走 history。字段名都摆着,不用我另猜。
一行挂两个来源,就留两格。别并。
Faça login para explorar mais conteúdos
Junte-se a usuários de criptomoedas de todo o mundo no Binance Square.
⚡️ Obter informações mais recentes e úteis sobre criptomoeda.
💬 Com a confiança da maior corretora de criptomoedas do mundo.
👍 Descubra insights reais de criadores verificados.
E-mail / número de telefone
Sitemap
Preferências de Cookies
Termos e Condições da Plataforma