Nueva API de billetera
Block.one lanzado recientemente EOSIO 2.0.6, que contiene una nueva función: la API get_accounts_by_authorizers. Vamos a llamar a esto la "API de billetera". ¿Por qué es esto noticiable? Veamos qué funciones necesitan las billeteras EOSIO y la serie de eventos que nos llevaron aquí.
¿Cómo funcionan las billeteras?
Las billeteras se basan en nodos EOSIO proporcionados por productores de bloques, intercambios, proveedores de billeteras y otras partes interesadas relevantes. “Buscar una cuenta”, “obtener el saldo del token” o “realizar una transacción”, todos necesitan un nodo EOSIO para funcionar.
Cuando usa una billetera por primera vez, debe proporcionar su clave para obtener el nombre de su cuenta. Este artículo se centra en cómo funciona realmente ese primer paso.
Tiempos antiguos
Cuando EOS Mainnet se lanzó por primera vez en junio de 2018 con EOSIO 1.0, tenía una característica llamada "plugin de historial" (que todavía existe hoy pero está en desuso). El historial de EOSIO acumula todos los millones de transacciones que ocurren en la cadena y lo pone a disposición para consultas. Esto incluye la información sobre cómo encontrar una cuenta basada en una clave.
Inicialmente, muchos productores de bloques habilitaron las características del historial y pusieron la información a disposición del público para que las utilicen las billeteras. Pero debido a que EOSIO puede manejar muchas transacciones, el tamaño del historial se hizo excesivamente grande, se volvió inmanejable y prohibitivamente costoso de operar. Simplemente no es una solución escalable.
Los últimos 18 meses
Han surgido varias alternativas a este complemento de historia que las billeteras usan hoy en día. Sin embargo, estas soluciones históricas no están integradas en EOSIO. El costo de ejecutar esta infraestructura adicional significa que el número de nodos disponibles para consultar es limitado.
Las billeteras necesitan una solución estándar ampliamente implementada para que no estén bloqueadas en ninguna API de nodo específica para esta consulta fundamental.
Desarrollo de API Wallet
A partir de febrero de 2020, hubo una discusión en el canal de telegramas EOS Mainnet BP sobre la funcionalidad que las billeteras necesitan para buscar cuentas desde una clave. Se necesitaba una nueva característica en EOSIO. En marzo, Block.one puso a disposición la primera versión de esta característica propuesta para su revisión. Había varias rondas de comentarios tanto de proveedores de API como de desarrolladores de billeteras, lo que resultó en muchas revisiones.
En abril, EOS Nation implementó esta nueva API en Red de prueba de la selva para que esté disponible para pruebas. A medida que se hicieron cambios en la API, se actualizaron los nodos en la red de prueba de Jungle.
La nueva API de billetera se incluyó en una versión formal de EOSIO el 3 de junio. Los nodos deben actualizarse a la versión 2.0.6 y habilitar una opción de configuración para que la API de billetera esté disponible para su uso. También hemos agregado una comprobación de API de billetera a Validador de la nación EOS.
Avanzando
El advenimiento de esta nueva API de billetera no deja obsoletas las diversas soluciones históricas, ya que solo cubre un pequeño conjunto de funcionalidades que utilizan muchas billeteras. Sin embargo, proporciona un conjunto de características de bajo costo por el cual más proveedores pueden ofrecer la solución, lo que a su vez conduce a más opciones de descentralización y redundancia para los usuarios. Las billeteras ricas en funciones continuarán confiando en soluciones sólidas de historial.
La transición a un estado donde los proveedores de billeteras aprovechen esta nueva característica será un proceso gradual que tendrá lugar durante varios meses. Durante este período, EOS Nation promocionará esta API a otros productores de bloques y les pedirá que consideren habilitarla, así como promocionarla con los desarrolladores de billeteras y pedirles que agreguen soporte para ella.
¡Esperamos que continúe la descentralización de la red principal de EOS!