Crypto Composables ERC-998 – Actualización 4: “El nombre”

Resumen de la segunda convocatoria de Composables: toneladas de discusión, repositorio de trabajo en progreso, dominio de la organización y más

Antecedentes y resumen (omita si está en un látigo 998):

El nombre

¿Por qué el “nombre”? 🤔 A medida que nos acercamos a una interfaz estándar para los tokens no fungibles componibles (CNFT) ERC-998, es importante tener en cuenta el propósito abstracto y general que servirá una extensión estándar de los tokens no fungibles (NFT).

Varios proyectos ya están intentando alguna forma de composición en Ethereum como mencioné en actualizaciones anteriores. Nuestra intención como comunidad es converger en una interfaz que sirva a la mayoría de los proyectos y casos de uso y permanecer abierta a la extensión. Nombrar funciones, variables, comentarios y código de implementación de muestra es una gran parte de esto. Esperamos establecer nuestra nomenclatura pronto y llegar a un consenso; sin embargo, esto podría llevar tiempo.

Resumiré los trazos generales de la llamada a continuación, pero primero me gustaría agradecer a todos los participantes en la convocatoria por sus ideas, energía y entusiasmo. Desarrollaremos una interfaz fantástica y flexible que se adaptará a las necesidades de la mayoría de proyectos en Ethereum (y quizás incluso de otras cadenas). Confío en nuestra capacidad para trabajar juntos para lograr este objetivo y aumentar el ritmo del desarrollo de aplicaciones descentralizadas. 🤗

🧙 ¡NFTy Magicians Rock!

Un agradecimiento especial a Nick “solidity / gas” Mudge, también conocido como Mokens, que ha estado ayudando con el repositorio de WIP y Nathalie-CKC, que ha estado guiando la gestión de proyectos con su experiencia en OSS PMing. Y, por supuesto, no puedo olvidar a Maciej Górski, que está trabajando en Registros componibles.

Únase a nosotros en Discord

Asistentes

Agenda

El “Desembalaje”

De inmediato, Nick introdujo 2 nuevas posibilidades para manejar las funciones y la administración de niños componibles de subárboles.

🚨 Después de horas, Nick había explicado que tokenTransaction requería mucha más investigación y sería potencialmente inseguro. Decidió descartar esa dirección por ahora, pero aún está abierto a la comunidad si alguien puede desarrollar este comportamiento similar al proxy mientras mantiene las cosas seguras.

La función de búsqueda recursiva de Nick se implementó en un borrador y tiene este aspecto:

Lo que estamos haciendo aquí es básicamente verificar si el _sender es el propietario del token principal necesario para transferir o llamar a una función en el token secundario. Si no es así, llamaremos a esta misma función del contrato que es el propietario del token principal, preguntando nuevamente isApprovedOrOwnerOf . La recursividad no es una tarea fácil en la programación regular y menos cuando está preocupado por los costos de almacenamiento y gas. Afortunadamente, las llamadas a funciones como esta solo cuestan 2,000 unidades de gas. Nick se las arregló para lograrlo por ahora y estoy emocionado de apoyar sus esfuerzos.

¿Le importaría un diagrama?

Comencé a ver un patrón cuando discutía todas las formas complicadas en que los tokens se pueden transferir a otros tokens, diferentes subárboles, etc. Necesitamos algunos diagramas de guía en los que todos podamos estar de acuerdo para informar estas llamadas. Decidí asumir eso y espero terminar pronto. Esto probablemente formará una publicación más detallada que cubrirá los patrones de diseño compuestos en la cadena. Si bien la naturaleza del problema es abstracta, los diagramas ayudarán a guiar muchas de las discusiones, ya que eliminan visualmente la ambigüedad y permiten que todos vean el mismo concepto con mayor claridad.

Esto ayudó enormemente en la llamada 1:

Nomenclatura también conocida como denominación

¡Te tengo! 😁 Si esperaba grandes noticias, no hay ninguna.

No llegamos a un consenso sobre nada interesante relacionado con los nombres en esta llamada. Sin embargo, se presentaron algunas ideas sólidas. Es decir, utilizando los nombres de los estándares en nuestro estándar. Eso se vería así:

Como resumen de la última llamada, todos estamos de acuerdo con el uso de parent, child como la convención de nomenclatura para las NFT que poseen otras NFT; sin embargo, esto se rompe cuando una NFT posee el saldo de un contrato ERC-20. También nos encontramos con una colisión de nombres debido a la herencia múltiple de ERC-998, ya que las extensiones NFT y FT se pueden heredar al mismo tiempo. Esto crea aún más dolores de cabeza, ya que los nombres deben ser consistentes pero no pueden chocar. Matices seguro, pero puede ser particularmente frustrante en el futuro si no acertamos con estos nombres.

Eventos

Maciej Górski tenía un gran resumen de todos los eventos únicos que posiblemente se podrían disparar con Composables. Es algo como esto:

Creo que hubo 3 en un caso y 7 en otro. Chocó contra una pared con algunas restricciones en ERC-721 y necesitó más tiempo. Volveré a canalizarme con él sobre esto y actualizaré la publicación.

¿Devolución de llamada o bloqueo de llamada?

Las funciones de devolución de llamada que devuelven un valor verdadero o falso (booleano) en función de determinadas condiciones, se pueden utilizar para restringir la transferencia de NFT secundarios. Esto permite el comportamiento de lanzar un hechizo en un avatar del juego que no se puede eliminar transfiriendo el hechizo NFT.

Todos estamos a favor de admitir devoluciones de llamada que limitan la transferibilidad de los tokens. Ahora la responsabilidad recae en los fabricantes de aplicaciones descentralizados de tokens “adhesivos” para diseñarlos bien. Veamos cómo funciona eso 😂

¿Token componible de proxy? ¿Contratos actualizables?

La última idea sugerida fue mía y quería que la comunidad la reflexionara y viera si valía la pena explorar. Dado que ya existen tantos NFT y el ERC-998 está destinado a ser una extensión del estándar ERC-721; completándolo con una nueva funcionalidad que también es estándar … ¿Por qué no convertir el CNFT “raíz” en un proxy para un NFT existente? Existe la cuestión del mapeo agregado, sin embargo, ¿vale la pena 1 operación de almacenamiento por token NFT actualizado para toda esta nueva funcionalidad?

La respuesta fue bastante positiva. Si bien existe cierta preocupación por la pérdida de funcionalidad con el token anterior, creo que esto puede funcionar. El trabajo relacionado se puede encontrar aquí en forma de contratos actualizables por parte del equipo de Bitclave.

Implementación de WIP

Tenemos un repositorio en funcionamiento … por ahora 😆

Sea amable, es un WIP. Hay ocasiones en las que las pruebas pueden fallar debido a algunas revisiones masivas de la interfaz. Estos son dolores de crecimiento normales para un proyecto en etapa inicial.

😉WINK WINK😉

Una excelente manera de entender un nuevo proyecto y repositorio al que está considerando contribuir es ayudar a solucionar pequeñas cosas como casos de prueba que pueden fallar, escribir nuevas pruebas y aumentar la cobertura. ¡Agradeceríamos mucho el apoyo! 🤗

Dominio organizacional

Una vez más, me gustaría agradecer a Nathalie por su sugerencia de discutir cómo trabajamos en el WIP y abordamos cosas como Todos. Por ahora, hemos decidido continuar usando Discord para chat y problemas de GitHub para nuestras tareas “cercanas al código”. ¡Gracias Nathalie!

😃 Bonificación, también tomó notas sorprendentemente detalladas de la llamada que se pueden encontrar aquí.

Conclusión

¡Vaya, son muchas actualizaciones! Gracias por mantenerse actualizado sobre ERC-998. La comunidad está creciendo y se está trabajando. Esperamos poder ofrecer un recurso valioso a la comunidad de Ethereum en un futuro próximo. Una interfaz estándar para componer tokens.

Mi nombre es Matt Lockyer. No tengo trabajo, ni afiliaciones ni tokens para vender 🤣 Me encanta decir eso. Comencé ERC-998 porque vi venir la ola de proyectos que necesitarían respaldar esta funcionalidad y quería que la comunidad trabajara junta para hacerlo bien. No soy el Sr. Composable ni el Sr. ERC-998. No soy el líder; solo el facilitador. Estoy aquí para trabajar para la comunidad y sintetizar las ideas, el diseño y el conocimiento de mis brillantes colegas.

Somos los NFTy Magicians 🧙 Únase a nosotros en Discord

¡Gracias por apoyar OSS y estándares abiertos!

medium.com/@mattdlockyer
twitter.com/mattdlockyer
linkedin.com/in/mattlockyer