WEB3DEV

Cover image for Como Implantar uma Coleção NFT na Solana Usando o Sugar (Candy Machine)
Paulo Gio
Paulo Gio

Posted on • Atualizado em

Como Implantar uma Coleção NFT na Solana Usando o Sugar (Candy Machine)

Visão geral

Você está pronto para lançar sua coleção de NFTs na Solana? A nova ferramenta da Candy Machine da Metaplex, Sugar, é a ferramenta certa para você lançar rapidamente. O Sugar, a mais recente versão da Candy Machine da Metaplex, vem com algumas melhorias notáveis:

  • melhoria no desempenho de upload
  • UX simplificado
  • melhoria no tratamento de erros

O que você irá fazer

Neste guia, você criará uma nova carteira usando a Solana CLI, fará o airdrop de alguns SOL e implantará uma Candy Machine na devnet da Solana usando o Sugar. Em seguida, você implantará sua Candy Machine na web usando a interface do usuário da Candy Machine.

O que você precisará

  • Nodejs instalado (versão 16.15 ou superior)
  • Solana CLI instalada
  • Phantom Wallet ou extensão Solflare instalada
  • Sugar, da Metaplex, instalado
  • Um editor de texto
  • npm ou yarn instalado (usaremos o yarn para inicializar nosso projeto e instalar os pacotes necessários. Sinta-se à vontade para usar o npm em vez disso, se esse for o seu gerenciador de pacotes preferido.)

Configure seu projeto

Crie um novo diretório de projeto em seu terminal com:

mkdir sugar-demo
cd sugar-demo
Enter fullscreen mode Exit fullscreen mode

Instale o Sugar

Instalação no Mac

No seu terminal, digite:

bash <(curl -sSf https://sugar.metaplex.com/install.sh)
Enter fullscreen mode Exit fullscreen mode

Nota: você pode precisar reiniciar seu terminal após a instalação

Instalação no Windows

  1. Baixe o instalador do Windows aqui.
  2. Execute o instalador como administrador (clique com o botão direito-->Run as Administrator (Executar como administrador)). Se você receber um aviso sobre um binário não confiável, tente clicar em More Info (Mais informações) e depois em Run Anyway (Executar mesmo assim). Se você não tiver essa opção, siga estas etapas:
  3. Clique com o botão direito do mouse no arquivo executável e vá para Properties (Propriedades).
  4. Se você confia na equipe de desenvolvedores da Metaplex, marque o botão Unlock (Desbloquear) conforme a imagem abaixo. Isso permitirá que você execute este binário em seu computador, pois a Microsoft não confia nele automaticamente.
  5. Clique em Apply (Aplicar) e Ok.
  6. Execute o instalador novamente

Se tudo funcionar corretamente, você deve ver algo assim:

https://www.quicknode.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaW9FIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--c792e78e82e8c7d6f7ca5054922e584a2b5f5e33/windows.png

Configure uma nova carteira

Um dos novos recursos legais do Sugar é que ele permitirá que você configure sua carteira e configurações RPC usando a Solana CLI, para que você não precise reentrá-las em cada um dos seus comandos do Sugar.

Primeiro precisamos criar uma nova carteira especificamente para testes na devnet (rede de desenvolvimento) com o seguinte comando:

solana-keygen new --outfile ./wallet.json
Enter fullscreen mode Exit fullscreen mode

Nós podemos pular a senha (pressionando Enter), pois só usaremos essa carteira na devnet, então os fundos não são importantes. Podemos confirmar que a carteira que acabamos de gerar é a carteira que a Solana CLI usará executando:

solana config set --keypair ./wallet.json
Enter fullscreen mode Exit fullscreen mode

Estabeleça uma conexão com o seu RPC QuickNode

Em seguida, queremos colocar fundos em nossa carteira solicitando um airdrop. Para fazer isso, precisaremos garantir que nossa Solana CLI esteja conectada a um nó. Você pode usar nós públicos ou implantar e gerenciar sua própria infraestrutura, no entanto, se quiser respostas 8 vezes mais rápidas, pode deixar o trabalho pesado para nós. Veja por que mais de 50% dos projetos na Solana escolhem o QuickNode e se inscreva gratuitamente aqui.

Certifique-se de iniciar seu nó na devnet da Solana e copiar o link HTTP:

https://www.quicknode.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdjhEIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--fa80e5df2cdfd7508925a39d8abdbf790670c24d/newNode.png

Com seu ponto de extremidade na configuração da Solana Devnet, agora você pode executar este comando, substituindo SEU_URL_QUICKNODE pelo URL HTTP que você copiou:

solana config set --url SEU_URL_QUICKNODE
Enter fullscreen mode Exit fullscreen mode

Agora, para adicionar fundos à sua carteira, você pode executar o comando:

solana airdrop 1
Enter fullscreen mode Exit fullscreen mode

Se o comando for bem-sucedido, você deverá ver algo assim:

https://www.quicknode.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaXNFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--1e9ed2c76e5da3840b0820691e9c4e1b9dd29e86/airdrop.png

Você também pode executar solana balance em seu terminal e ver se o 1 SOL está lá.

Prepare os ativos NFT

Se você já usou a Candy Machine antes, este processo será familiar. Precisamos criar um arquivo .json correspondente a cada ativo digital usando um formato de número simples começando com 0 e aumentando de forma sequencial, nunca pulando um número (por exemplo, 0.json mapeia para 0.png, então 1.json mapeia para 1.png). Também podemos criar um collection.json e um collection.png opcionais para permitir que o Sugar crie automaticamente uma coleção na cadeia.

A Metaplex tem um conjunto de amostras de ativos que podemos baixar e trabalhar para ser consistentes. Você pode editar o json para incluir os valores que desejar, desde que esteja de acordo com o esquema json URI.

Baixe o conjunto de amostra e extraia o conteúdo para ./assets/ no diretório do seu projeto (este é o diretório padrão que o Sugar procurará pelos seus arquivos).

Configurar Candy Machine

Crie um novo arquivo, config.json na pasta raiz do seu projeto:

echo > config.json
Enter fullscreen mode Exit fullscreen mode

Abra o arquivo e cole esta configuração:

{
    "price": 0.01,
    "number": 10,
    "symbol": "NB",
    "sellerFeeBasisPoints": 500,
    "gatekeeper": null,
    "solTreasuryAccount": "ENDEREÇO_DA_SUA_CARTEIRA",
    "splTokenAccount": null,
    "splToken": null,
    "goLiveDate": "2022-07-24T00:00:00Z",
    "endSettings": null,
    "whitelistMintSettings": null,
    "hiddenSettings": null,
    "uploadMethod": "bundlr",
    "awsS3Bucket": null,
    "retainAuthority": true,
    "isMutable": true,
    "creators": [
    {
    "address": "ENDEREÇO_DA_SUA_CARTEIRA",
    "share": 100
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

NOTA: você pode executar solana address em seu terminal para obter o endereço da carteira que acabou de criar.

Agora, devemos estar prontos. Se você está acompanhando até este ponto, você deve ter uma estrutura de diretórios como esta:

  • sugar-demo/wallet.json
  • sugar-demo/config.json
  • sugar-demo/assets/[0-9].png
  • sugar-demo/assets/[0-9].json
  • sugar-demo/assets/collection.png
  • sugar-demo/assets/collection.json

O Sugar tem um erro de validação embutido que nos permitirá verificar se há algum erro antes de prosseguir. No terminal, execute:

sugar validate
Enter fullscreen mode Exit fullscreen mode

https://www.quicknode.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaXdFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--79ed1c34ebd3033d007761ff19203e95f3cd90ed/validate.png

Estamos no negócio! Bom trabalho. Vamos construir nossa Candy Machine.

Crie a Candy Machine

Porque configuramos nosso RPC e carteira usando a Solana CLI e porque salvamos nossos ativos e config.json nas pastas padrão do Sugar, nossos comandos serão bastante simples!

Carregue seus ativos

No seu terminal, digite:

sugar upload
Enter fullscreen mode Exit fullscreen mode

Você deve ver algo assim:

https://www.quicknode.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaTBFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2bacc2e51a255934c489f03262c5a0754e882f84/upload.png

Implantar Candy Machine

No seu terminal digite:

sugar deploy
Enter fullscreen mode Exit fullscreen mode

Você deve ver algo assim:

https://www.quicknode.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaTRFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--1fce987f695aedb1c51169ebaaee2a904d05f2c0/deploy.png

Se você receber um erro "Blockhash not found” (Hash do bloco não encontrado), tente executar o comando novamente.

Certifique-se de armazenar o ID da Candy Machine fornecido em seu terminal localmente. Vamos precisar disso mais tarde.

Verifique a Candy Machine

Vamos garantir que tudo funcionou como esperávamos. No seu terminal digite:

sugar verify
Enter fullscreen mode Exit fullscreen mode

Você deve ver algo assim:

https://www.quicknode.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaThFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--a285346b40febf1013db38d14051996a5836d29c/verify.png

Excelente trabalho!

Teste sua Candy Machine

Tente cunhar um NFT usando o Sugar. No seu terminal digite:

sugar mint
Enter fullscreen mode Exit fullscreen mode

Você deve ver algo assim:

https://www.quicknode.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBakFFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ad77731a616b6b7c57d133b8a10ce4dfe17c9883/mint.png

Excelente! Vamos criar uma página de cunhagem para podermos compartilhar esse projeto com o mundo!

Configurar um site de cunhagem

Para a configuração mais fácil possível, usaremos o front-end que a Metaplex nos fornece, a interface do usuário da Candy Machine.

No diretório do seu projeto, no seu terminal, digite:

git clone https://github.com/metaplex-foundation/candy-machine-ui ./candy-machine-ui/
cd candy-machine-ui
Enter fullscreen mode Exit fullscreen mode

Renomeie o arquivo .env.example para .env. Depois de alterar o nome do arquivo, você pode alterar os valores para o seguinte:

REACT_APP_CANDY_MACHINE_ID=<PUBKEY_DA_SUA_CANDY_MACHINE>
REACT_APP_SOLANA_NETWORK=devnet
REACT_APP_SOLANA_RPC_HOST=<SEU_PONTO_DE_EXTREMIDADE_DO_QUICKNODE_NA_DEVNET>
Enter fullscreen mode Exit fullscreen mode

Se você não se lembrar do ID da sua Candy Machine, deve ser possível encontrá-lo no cache.json no campo program.candyMachine.

Com todas essas informações inseridas, você agora pode salvar o arquivo. A partir da pasta candy-machine-ui, execute os seguintes comandos:

yarn install
yarn start
Enter fullscreen mode Exit fullscreen mode

Isso abrirá um navegador em localhost:3000, onde você pode conectar sua carteira e ter a capacidade de criar um NFT. Confirme se sua carteira Phantom está configurada para a devnet, e não para a mainnet (rede principal), antes de prosseguir.

Você precisará de SOL da devnet na sua carteira Phantom para criar um NFT. Você pode usar a Solana CLI para fazer airdrop de SOL para sua carteira Phantom digitando este comando no seu terminal:

solana airdrop 1 ENDEREÇO_DA_SUA_CARTEIRA_PHANTOM

Quando estiver pronto, clique em "Mint" (cunhar). Se feito com sucesso, você deve ver um site como este:

https://www.quicknode.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBakVFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--4829d6d6d0a7ab81c4ec7b072552fd0e5d3df88f/mintUi.png

Se você vir um erro que diz "Mint Failed" (falha na cunhagem), pode não ter fundos suficientes. Tente novamente assim que adicionar fundos. Você pode ver o NFT na sua carteira depois de comprá-lo. A Phantom pode levar um momento antes de renderizar o NFT na sua carteira. O nosso se parece com isso:

https://www.quicknode.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaklFIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e19ebf6dd33f449375a8983ec6929084c1a681ff/walletNft.png

Ficou excelente! Bom trabalho.

Conclusão

Parabéns! Você criou uma Candy Machine usando o Sugar da Metaplex e tem todas as ferramentas necessárias para executar sua própria cunhagem de NFTs. Estamos animados para ver quais NFTs você está criando! Junte-se a nós no Discord ou entre em contato conosco via Twitter para compartilhar seu projeto NFT.

Nós amamos feedback! Se você tiver algum feedback ou pergunta sobre este guia, avise-nos. Adoraríamos ouvir de você!

Artigo original publicado por Quicknode. Traduzido por Paulinho Giovannini.

Latest comments (0)