MetaMask Snaps es la hoja de ruta para convertir a MetaMask en la wallet más extensible del mundo. Como desarrollador, puedes incorporar tus funciones y APIs a MetaMask de formas completamente nuevas. Los desarrolladores de Web3 son el núcleo de este crecimiento, y esta serie tiene como objetivo destacar los innovadores MetaMask Snaps que se están creando hoy en día.
ZK Nullifier Snap
Repositorio del Snap: https://github.com/piotr-roslaniec/ethbogota-2022
¿Por qué lo construiste?
Queremos habilitar la próxima generación de aplicaciones pseudónimas que requieren unicidad, como los ZK airdrops, los tableros de mensajes ZK y la votación ZK. Para lograrlo, necesitamos una integración estrecha con la wallet, comenzando con un MetaMask Snap.
¿Puedes explicarnos la implementación técnica?
Construimos un script de snap genérico que nos permite ejecutar WASM arbitrario dentro del snap. Luego añadimos bindings de WASM al código de firma en Rust existente y lo conectamos a la llamada de MetaMask Snaps a la clave privada. Después, generamos todas las señales apropiadas para que el usuario las introduzca en un ZK-SNARK y verifique el determinismo de la firma.
Para leer más sobre por qué esto nos permite crear identificadores únicos y anónimos efectivos, o nullifiers anónimos, consulta nuestra publicación completa en el blog aquí.
¿Cuáles serían los próximos pasos si implementaras esto?
Queremos integrarlo de extremo a extremo con las pruebas ZK necesarias, que actualmente se están escribiendo en Circom y próximamente en un lenguaje basado en PLONK. También esperamos que algunas aplicaciones como heyanon y stealthdrop lo integren en el momento de su lanzamiento, ¡y esperamos que más personas lo utilicen!
Además, queremos redactar un ERC para estandarizar lo que encontramos, de modo que wallets como MetaMask y Ledger puedan integrarlo en sus bibliotecas principales.
¿Puedes contarnos un poco sobre ti y tu equipo?
yush_g está explorando la identidad ZK de próxima generación con Personae Labs y colaboró en la redacción del artículo original, mientras que Piotr es un ingeniero extraordinario con pasión por las nuevas primitivas de wallets y los avances de vanguardia en conocimiento cero.
¿Cuándo conociste MetaMask Snaps por primera vez y cómo fue tu experiencia?
Piotr conoció MetaMask Snaps inicialmente en Osaka Devcon y ha estado trabajando con ellos desde entonces. Aayush fue introducido a MetaMask Snaps en este Devcon por Piotr.
¿Qué diferencia a MetaMask Snaps de otras wallets?
El WASM arbitrario dentro de una wallet es actualmente bastante incipiente, y estamos emocionados de poder probarlo.
¿Cómo es para ti y tu equipo el proceso de construir MetaMask Snaps con MetaMask?
El desarrollo es bastante fluido y eficiente. Aún existen algunas dificultades con el despliegue, ya que los usuarios deben deshabilitar su MetaMask habitual para poder usar MetaMask Snaps.
¿Qué significa MetaMask Snaps para ti?
MetaMask Snaps es una nueva primitiva de wallet interesante y es genial poder prototipar rápidamente nuevas ideas criptográficas.
¿Qué oportunidades ves con MetaMask Snaps y las posibilidades que abre para el espacio Web3?
Creemos que la capacidad de implementar tu propia criptografía es poderosa: por ejemplo, nuestro proyecto, que despliega firmas deterministas verificables en Ethereum, desbloqueará cosas como poder votar de forma única dentro de cualquier conjunto de anonimato que puedas imaginar, airdrops anónimos a cuentas no vinculadas, o hilos donde puedes publicar repetidamente bajo el mismo nombre anónimo.
¿Algún consejo que quieras compartir con los desarrolladores interesados en probar MetaMask Snaps?
Diseñamos nuestro snap para ejecutar WASM arbitrario y así poder simplemente conectar nuestro código Rust existente. ¡Te recomendamos echar un vistazo a nuestro código si estás interesado en hacer lo mismo!
Construyendo con MetaMask Snaps
Para comenzar con MetaMask Snaps:
Consulta la documentación para desarrolladores
Instala MetaMask Flask
Revisa una guía de MetaMask Snaps
Mantente conectado con nosotros en Twitter, discusiones de GitHub y Discord
¡Estén atentos a nuestro equipo en el próximo hackathon cerca de ti! ¡Feliz BUIDLing! ⚒️
Aviso legal: Los MetaMask Snaps son generalmente desarrollados por terceros distintos a Consensys Software. El uso de MetaMask Snaps desarrollados por terceros se realiza a tu propia discreción y riesgo, y con el acuerdo de que serás el único responsable de cualquier pérdida o daño que resulte de dichas actividades. Consensys no ofrece ninguna garantía expresa o implícita, ya sea oral o escrita, con respecto a los MetaMask Snaps desarrollados por terceros, y declina toda responsabilidad por los MetaMask Snaps desarrollados por terceros. El uso de software relacionado con blockchain conlleva riesgos, y los asumes en su totalidad al usar MetaMask Snaps.