World ID para desarrolladores: Guía de implementación
Aprende a implementar World ID en tu aplicación. Explicaciones detalladas para desarrolladores, desde el uso del SDK hasta patrones de implementación.
1. Resumen de implementación de World ID
Al integrar World ID en tu aplicación, puedes garantizar criptográficamente que los usuarios son humanos y tienen una sola cuenta. Esto permite la prevención de bots, prevención de fraudes y distribución justa.
Lo que permite World ID
Autenticación
- • Sign in with World ID
- • Verificación humana
- • Verificación de unicidad
Casos de uso
- • Prevención de duplicados en airdrops
- • Sistemas de votación
- • Acceso a funciones premium
Niveles de verificación
Orb
Verificación de iris. El nivel más alto de prueba de humanidad. Una por persona.
Device
Verificación de dispositivo. Disponible sin Orb. Se permiten múltiples dispositivos.
2. Casos de uso de implementación
Airdrops
Distribuye tokens o NFTs limitados a una vez por persona. Previene ataques Sybil.
Votación y encuestas
Sistemas de votación justos que garantizan un voto por persona. Ideal para gobernanza DAO.
Prevención de bots
Alternativa a CAPTCHA. Proporciona una prueba de humanidad más sólida.
Control de acceso
Restringe el acceso a funciones solo para usuarios verificados.
3. Primeros pasos
Registrarse en el Developer Portal
Crea una cuenta y registra tu aplicación en el Worldcoin Developer Portal.
https://developer.worldcoin.orgObtén tu App ID
Cuando registras tu aplicación, se emite un App ID único. Úsalo para inicializar el SDK.
app_id: "app_staging_xxx..."Define las Actions
Define el propósito de la verificación (Action). Esto previene verificaciones duplicadas para la misma Action.
action: "vote-proposal-1"4. Opciones de SDK
IDKit (JavaScript/React)
SDK oficial para aplicaciones web. Funciona con React, Next.js, Vue.js y más.
npm install @worldcoin/idkitMobile SDKs
SDKs nativos para iOS y Android. Integración directa en aplicaciones móviles.
Smart Contract (Solidity)
Biblioteca para verificación on-chain. Disponible en Ethereum, Optimism, Polygon y más.
// Usando la plantilla world-id-starter
import {IWorldID} from "./interfaces/IWorldID.sol";5. Flujo de implementación
Flujo de autenticación básico
El usuario hace clic en el botón "Sign in with World ID"
IDKit muestra un código QR o enlace profundo
El usuario aprueba la verificación en World App
Se devuelve la ZKP (prueba de conocimiento cero) a la aplicación
Verificar en el backend o contrato inteligente
Ejemplo de código (React)
import { IDKitWidget } from '@worldcoin/idkit'
function App() {
const handleVerify = async (proof) => {
// Enviar prueba al backend para verificación
const res = await fetch('/api/verify', {
method: 'POST',
body: JSON.stringify(proof),
})
// Manejar el resultado de la verificación
}
return (
<IDKitWidget
app_id="app_xxx"
action="my-action"
onSuccess={handleVerify}
verification_level="orb" // or "device"
>
{({ open }) => (
<button onClick={open}>
Verify with World ID
</button>
)}
</IDKitWidget>
)
}6. Mejores prácticas
✅ Recomendado
- • Siempre verificar en el backend - La verificación solo en el frontend no es segura
- • Diseñar Actions correctamente - Usa diferentes Actions para diferentes propósitos
- • Elegir verification_level - Selecciona orb/device según los requisitos de seguridad
- • Manejo de errores - Considera la UX para fallos de verificación
- • Probar en staging - Pruebas exhaustivas antes de producción
❌ Antipatrones
- • Completar la verificación solo en el frontend
- • Reutilizar la misma Action para diferentes propósitos
- • Almacenar y reutilizar pruebas
- • Exponer detalles internos en mensajes de error
7. Recursos y documentación
Recursos oficiales
Documentación oficial
docs.world.org
Developer Portal
developer.worldcoin.org
GitHub
github.com/worldcoin
Discord (Comunidad de desarrolladores)
discord.gg/worldcoin
Resumen
Implementar World ID es relativamente fácil de comenzar con el SDK.
- 1️⃣ Registra tu aplicación en Developer Portal
- 2️⃣ Instala el SDK (IDKit, etc.)
- 3️⃣ Añade el widget al frontend
- 4️⃣ Verifica la prueba en el backend
Consulta la documentación oficial para instrucciones detalladas de implementación.
Obtene WLD extra con este codigo
Usa este codigo de invitacion para recibir WLD adicionales.
Obtener World App6YQ47NH