Candy Machine
Candy Machine é o protocolo de minting justo da Metaplex para lançar coleções NFT com guards (allowlists, pagamento, datas de início, limites). Candy Machine v3 (CndyV3LdqHUfDLmE5naZjVN8rBZz4tqhdedBYaPJrtzc) foca assets Token Metadata; drops grandes frequentemente usam cNFT.
Receita
# Sugar CLI orquestra deploy + reveal da Candy Machine
sugar launch
sugar deploy
sugar mintimport { createUmi } from "@metaplex-foundation/umi-bundle-defaults";
import { mplCandyMachine } from "@metaplex-foundation/mpl-candy-machine";Quando usar:
- Mint público justo com guards configuráveis
- Fases de allowlist (merkle, token gate)
- Mints pagos roteando SOL para tesouraria
- Lançamentos de coleção Token Metadata com fluxo de reveal
Exemplo prático
import { createUmi } from "@metaplex-foundation/umi-bundle-defaults";
import { mplCandyMachine } from "@metaplex-foundation/mpl-candy-machine";
import { generateSigner, publicKey } from "@metaplex-foundation/umi";
import { fetchCandyMachine } from "@metaplex-foundation/mpl-candy-machine";
const umi = createUmi("https://api.devnet.solana.com").use(mplCandyMachine());
// Alto nível: Sugar gera config.json + assets, faz deploy da conta CM
// Mint programático da máquina implantada:
const candyMachine = publicKey("CANDY_MACHINE_PUBKEY");
const cm = await fetchCandyMachine(umi, candyMachine);
console.log("items available:", cm.data.itemsAvailable);
console.log("items minted:", cm.itemsRedeemed);# Fluxo típico do Sugar
sugar validate
sugar upload # assets para Arweave/IPFS
sugar deploy # criar Candy Machine on-chain
sugar mint # testar mintO que isso demonstra:
- A conta Candy Machine rastreia supply e contagem resgatada
- Guards aplicam pagamento, tempo e regras de allowlist por tx de mint
- Sugar CLI é a toolchain padrão de operador para lançamentos CM
Mergulho profundo
Como funciona
- Candy Machine mantém config: preço, data go-live, conjuntos de guards, hidden settings
- Cada instrução
mintincrementaitemsRedeemede cria NFT conforme config - Guards modulares: pagamento SOL, pagamento em token, allowlist merkle, limite de mint
- Reveal: hidden settings trocam URI placeholder por metadados finais pós-mint
CM vs cNFT em escala
| Abordagem | Custo por mint | Padrão |
|---|---|---|
| Candy Machine v3 | Maior (contas de mint completas) | Token Metadata |
| Bubblegum cNFT | Muito baixo | Comprimido |
Notas TypeScript
// Sempre simule mint antes do lançamento público
// Monitore itemsRedeemed vs itemsAvailable durante janela de mintErros comuns
- Corrida de esgotamento - mints concorrentes excedem supply. Correção: guards + priority fees de CU adequadas.
- Metadados não revelados para sempre - tx de reveal não executada. Correção: automatize crank de reveal pós-mint.
- Config de guard errada - exploit de mint gratuito. Correção: audite guards na devnet com testes adversariais.
- Falhas de upload Arweave - imagens quebradas no mint. Correção:
sugar validate+ verificação pontual de URIs. - Usar CM para drop 100k+ - rent proibitivo. Correção: use pipeline Bubblegum cNFT.
Alternativas
| Alternativa | Use quando | Não use quando |
|---|---|---|
| Mint em massa Bubblegum | 10k+ itens | Precisa Token Metadata on-chain completo |
| Site de mint Core customizado | Controle total, supply menor | Precisa biblioteca de guards testada em batalha |
| Mint manual da tesouraria | Apenas amigos e família | Lançamento público justo |
FAQs
O que é Candy Machine?
Contrato de minting Metaplex com sistema de guards para drops NFT justos.
Program ID da Candy Machine?
v3: CndyV3LdqHUfDLmE5naZjVN8rBZz4tqhdedBYaPJrtzc.
O que é Sugar?
CLI que agrupa upload de assets, deploy CM e testes de mint.
O que são guards?
Regras composáveis: pagamento SOL, data de início, allowlist, limite de mint por carteira, etc.
Hidden settings?
URI placeholder no mint; autoridade revela metadados finais depois.
Suporte Core?
Candy Machine historicamente Token Metadata - verifique docs Metaplex para integrações de mint Core.
Ensaio na devnet?
Deploy completo do Sugar na devnet antes do mainnet - teste guards e reveal.
Mitigação de bots?
Limites de mint, allowlists e priority fees - sem bala de prata única.
Reembolsos de mint falho?
Guard de pagamento SOL retorna tx falha sem mint - usuário paga apenas taxa de rede.
Acompanhar progresso do mint?
Leia itemsRedeemed na conta Candy Machine ou indexe eventos de mint.
Atualizar máquina?
Planeje config imutável com cuidado - mudanças frequentemente exigem novo deploy.
vs mint Anchor customizado?
CM oferece guards auditados; customizado para mecânicas novas.
Relacionados
- Metadados e armazenamento - hospedagem de assets
- Coleções e verificação - configuração de coleção
- NFTs comprimidos (Bubblegum) - drops grandes
Versões da stack: Esta página foi escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 e LiteSVM 0.6.x.