Blinks
Transforme Solana Actions em links compartilháveis e embutíveis na web social.
Receita
https://your-blink-proxy.example/?action=https://actions.example.com/vote
Quando usar:
- Distribuição no X, Discord e superfícies compatíveis com Blink.
- Loops de crescimento onde usuários compartilham links acionáveis.
- Campanhas precisando de cards de preview com ícones.
Exemplo prático
<!-- Sites parceiros embutem via URL do provedor Blink + seu endpoint de action -->
<a href="https://dial.to/?action=https://actions.example.com/swap">
Swap on MyProtocol
</a>// Seu endpoint de action ainda implementa GET metadata + POST transaction
// Veja actions-the-specO que isso demonstra:
- URL de Action deve implementar GET/POST da spec.
- Provedor Blink faz unfurl de metadata GET em UI interativa.
- Requisitos HTTPS e CORS ainda se aplicam.
Aprofundamento
Como funciona
- Cliente Blink busca metadata de action para card rico.
- Usuário conecta wallet no contexto do app social ou portal.
- Fluxo POST de transação idêntico a Actions.
- Registro de provedores blink evolui - teste plataformas alvo.
Erros comuns
- URLs de action não verificadas - usuários assinam txs maliciosas. Correção: allowlists de domínio nos clients; eduque usuários.
- Cache de unfurl obsoleto - título errado após deploy. Correção: param de versão na URL do ícone.
- HTTPS de ícone quebrado - card falha ao renderizar. Correção: CDN com certificado TLS válido.
- Action mainnet em wallet devnet - falhas. Correção: cluster na metadata quando suportado.
- Transações com privilégios excessivos - risco de drain. Correção: instruções de least-privilege por action.
Alternativas
| Alternativa | Use quando | Não use quando |
|---|---|---|
| QR Solana Pay | Presencial | Loops virais sociais |
| Link dApp nativo | Produto completo | CTA leve |
FAQs
App Router?
Providers em client layout.tsx; pages misturam server + client components.
Secrets?
Env de servidor apenas para keypairs; NEXT_PUBLIC_ para URLs RPC.
kit 7.0.0?
Todos os exemplos usam @solana/kit, não web3.js v1.
Wallet?
Assinatura apenas em client components.
Caching?
Revalide leituras on-chain com cuidado - chain é fonte da verdade.
Actions?
Endpoints HTTPS retornando JSON Solana Actions.
Mobile?
App React Native separado com MWA.
Testing?
Surfpool para integração; mock RPC em testes unitários.
Mainnet?
Arquivos env e program IDs separados.
Errors?
Decodifique logs de simulação para mensagens ao usuário.
Relacionados
- Actions (a spec) - formato do endpoint
- Segurança e Verificação - confiança
- Noções Básicas de Solana Pay - pagamentos
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.