Caso de estudio 03
SDK de KYC / verificación de identidad para empresas Web3
Think & Dev / CompilotAI · Encargo anterior · Ingeniero de SDK
Un widget embebible de verificación de identidad con un modelo de sesión consciente de la wallet y cobertura de tests on-chain para hosts empresariales Web3.
- Forma
- Widget embebible
- Sesión
- Consciente de la wallet
- Cobertura
- On-chain + HTTP
Problema
Los hosts empresariales necesitaban la verificación de identidad dentro de sus propias superficies, no como una redirección a un producto de KYC aparte. La sesión tenía que entender una wallet sin convertir la wallet en la única identidad. La cobertura tenía que incluir la ruta on-chain, no solo la ruta HTTP, o el widget saldría como una interfaz con un borde de contrato sin tests.
Restricciones
El widget tenía que embeberse en una aplicación host sin poseer el enrutado ni el sistema de diseño de esa aplicación. El estado de la sesión tenía que seguir siendo consciente de la wallet y seguro para el host. Los tests de contratos inteligentes tenían que correr contra una red de pruebas pública para que la cobertura fuera repetible. Nada de este texto describe los productos host ni la interfaz del proveedor de verificación.
Arquitectura
Un widget embebible construido como una superficie Next.js, con tRPC como límite tipado entre el widget y sus servicios de sesión. RainbowKit aportaba la conexión de wallet. El host montaba el widget; el widget poseía el flujo de verificación y la sesión consciente de la wallet. Los tests de Hardhat ejercitaban la ruta del contrato en Polygon Mumbai para que el borde on-chain tuviera el mismo tipo de cobertura que el borde HTTP.
Rol
Construí el widget embebible, el límite de sesión tipado y el modelo de sesión consciente de la wallet. Añadí la suite de Hardhat en la red de pruebas de Mumbai para que la ruta del contrato no fuera una nota al pie sin tests.
Resultados
- Los hosts podían embeber la verificación sin enviar a los usuarios por una superficie de producto aparte.
- El estado de la sesión seguía siendo consciente de la wallet sin reducir la identidad a una sola dirección.
- La cobertura de tests on-chain quedó junto a los tests de la aplicación, en lugar de vivir en un repositorio aparte y opcional.
Stack
- Next.js
- tRPC
- RainbowKit
- Hardhat
- Polygon Mumbai
- TypeScript
