NOVO: Helius adquire a Light Protocol
Como buscar tokens recém-cunhados com a Helius
Blog/Desenvolvimento

Como buscar tokens recém-cunhados com a Helius

Engenheiro de Experiência do DesenvolvedorAnam Ansari no XAnam Ansari no LinkedIn
6 min de leitura
Índice

    Introdução

    As memecoins da Solana têm ganhado destaque ultimamente, com o $WIF ultrapassando US$ 3,5 bilhões e a Boden chegando a US$ 300 milhões. A Popcat e a Wen ultrapassaram recentemente a marca de US$ 350 milhões. A Slerf também superou todas as exchanges baseadas em Ethereum em volume de negociação no primeiro dia. Após a explosão da BONK em novembro passado, a Solana registra a criação de mais tokens novos do que nunca.

    Este artigo explica como os tokens são criados na Solana, o que são tokens SPL e como monitorar novos tokens e obter seus metadados usando a Helius.

    Como os tokens são criados na Solana?

    A Solana oferece suporte tanto ao SOL nativo quanto a outros tokens. A Solana Program Library (SPL) define padrões comuns para tokens fungíveis e não fungíveis (NFTs) na Solana. Ao contrário da Ethereum, onde há padrões diferentes para cada tipo de token não fungível (ERC-721) e fungível (ERC-20), a Solana Program Library não tem um padrão específico para os diferentes tipos de token. 

    Token Program

    A implementação padrão de tokens fungíveis e não fungíveis (NFTs) na Solana é o Token Program. Ele oferece recursos como criar novos tipos de token e contas, transferir e queimar tokens, entre outros. O Token Program está concluído, e não há planos para adicionar novos recursos. Mudanças ainda podem ocorrer para corrigir bugs importantes ou incompatíveis com versões anteriores.

    No entanto, o Token Program é limitado: para adicionar novos recursos, os desenvolvedores precisam criar um fork, o que torna as transações mais complexas e arriscadas. Para resolver isso, a Solana lançou o Token-2022, um conjunto de recursos adicionais e melhorias, como:

    1.  Extensões de mint: transferências confidenciais, taxas de transferência, fechamento de mint, tokens que rendem juros, tokens intransferíveis, delegado permanente, hook de transferência, ponteiro de metadados, metadados.
    2. Extensões de conta: memo obrigatório em transferências recebidas, propriedade imutável, estado padrão da conta, proteção de CPI. 

    Para saber mais sobre o Token-2022, consulte este artigo.

    O Token Program da Solana permite criar contas de mint e contas de token. As contas de mint contêm informações globais sobre um token, enquanto as contas de token armazenam a relação entre uma carteira e uma conta de mint. Você pode criar tokens usando o código ou o spl-token-cli a seguir. Por exemplo, execute este comando na linha de comando para criar um token fungível, desde que o spl-token-cli esteja instalado:

    Código
    spl-token create-token

    Token Metadata Program

    As contas de mint contêm determinados atributos de dados, como o fornecimento atual do token. No entanto, elas não têm dados padronizados, como nome e símbolo. Para resolver isso, a Metaplex lançou o Token Metadata Program. Esse programa permite anexar dados adicionais a tokens fungíveis e não fungíveis usando PDAs (endereços derivados de programa) derivados do endereço de mint.

    O Token Metadata Program foi criado inicialmente para simplificar a criação de NFTs na Solana. No entanto, ele também funciona com SFTs, que são tokens semifungíveis. Os SFTs combinam características de tokens fungíveis e não fungíveis. Inicialmente, eles se comportam como tokens fungíveis, o que significa que podem ser trocados por tokens idênticos sem perda de valor para nenhuma das partes. Depois de usados, eles perdem o valor de troca e adquirem os atributos de tokens não fungíveis colecionáveis. Os SFTs funcionam como um tipo exclusivo de conta à qual são anexados metadados para representar características em um jogo ou ambiente de metaverso. Em determinados contextos, os SFTs são preferíveis aos NFTs por sua eficiência, economia, flexibilidade e maior segurança das transações.

    O Token Metadata Program também oferece suporte a NFTs programáveis (pNFTs). Esse novo padrão de ativo permite que os criadores definam regras personalizadas para operações específicas e façam delegações mais granulares a autoridades terceirizadas. A conta de token do pNFT fica sempre congelada no SPL Token program, independentemente de o pNFT ter sido delegado. Isso garante que ninguém possa contornar o Token Metadata Program interagindo diretamente com o SPL Token program.

    Monitorar novos tokens 

    Para monitorar tokens recém-cunhados, vamos configurar um webhook. Os webhooks permitem acompanhar eventos on-chain e acionar ações específicas quando eles ocorrem. Configuraremos nosso webhook para acompanhar o tipo de transação TOKEN_MINT do Token Metadata Program. As fontes atualmente compatíveis com esse tipo de transação são (outras fontes serão marcadas como “UNKNOWN”): 

    Código
     "TOKEN_MINT": [   "CANDY_MACHINE_V1",   "ATADIA",   "SOLANA_PROGRAM_LIBRARY" ]

    Você pode criar webhooks usando o Dashboard da Helius ou por meio de código com a referência da API. Para criar um pelo Dashboard, acesse a seção Webhooks no painel esquerdo e clique em Novo webhook. Em seguida, configure o webhook fornecendo informações como:

    1. Rede: Mainnet/Devnet
    2. Tipo de webhook: você pode selecionar Enhanced, Raw ou Discord. Se escolher Discord, será necessário informar a URL do webhook, e a notificação será formatada e enviada diretamente pelo bot. Consulte aqui as etapas para obter a URL do webhook de um bot do Discord. Se você selecionar Raw, não poderá especificar o tipo de transação. 
    3. Tipo de transação: selecione TOKEN_MINT para acompanhar tokens recém-cunhados*.* Você pode consultar aqui outros tipos de transação aceitos por um programa. 
    4. URL do webhook: adicione o endpoint que receberá as notificações (por exemplo, bot do Discord, site etc.) 
    5. Cabeçalho de autenticação: insira um cabeçalho de autenticação para encaminhar as solicitações POST ao seu webhook. Esse campo é opcional.
    6. Endereço da conta: adicione aqui o endereço do Token Metadata Program: metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s. Em outros casos, você pode adicionar mais de um endereço de conta, se necessário. Se quiser receber informações sobre um usuário específico na transação, inclua o endereço dele.

    Após a confirmação, seu webhook estará pronto para uso, e você poderá criar o frontend adequado com base na URL do webhook. Aqui, selecionamos Discord como Tipo de webhook e informamos a URL do webhook de um bot do Discord, portanto não precisamos programar o bot. Receberemos notificações como esta: 

    Obter metadados do token

    Você pode usar o ID do token (o endereço de mint do token) para obter os metadados de um token específico. Analise a notificação JSON enviada pelo webhook Enhanced (quando o tipo de webhook estiver definido como Enhanced). O endereço de mint pode ser encontrado no campo "mint" do primeiro objeto no array transferTokens. Após obter o ID do token, você pode usar o método getAsset, fornecido pela DAS API, para obter mais informações sobre o token. 

    Por exemplo, você pode usar o método getAsset para obter informações sobre o Jito Staked SOL (JitoSOL):

    Código
    const url = `https://mainnet.helius-rpc.com/?api-key=<api_key>`
    
    const getAsset = async () => {
      const response = await fetch(url, {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
        },
        body: JSON.stringify({
          jsonrpc: '2.0',
          id: 'my-id',
          method: 'getAsset',
          params: {
            id: 'J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn',
            displayOptions: {
    	    showFungible: true //return details about a fungible token
    	}
          },
        }),
      });
      const { result } = await response.json();
      console.log("Asset: ", result);
    };
    getAsset();

    Você pode encontrar mais exemplos da DAS API e um schema completo das solicitações e respostas desse método em nossa documentação.

    Conclusão

    Neste artigo, aprendemos como os tokens são criados na Solana, o que são tokens SPL e como monitorar novos tokens configurando um webhook e buscando seus metadados pela Helius. Se precisar de ajuda ou suporte, entre em contato conosco pelo Discord!

    Insira seu endereço de e-mail abaixo para não perder nenhuma novidade sobre a Solana. Quer se aprofundar? Explore os artigos mais recentes no blog da Helius e continue hoje mesmo sua jornada pela Solana.

    Recursos

    Assine a Helius

    Acompanhe as novidades mais recentes do desenvolvimento Solana e receba atualizações quando publicarmos

    Imagem ampliada