Puente
La red Palm permite acuñar y operar con NFT de forma eficaz gracias a su:
- velocidad✅
- relación coste-eficacia ✅
- sostenibilidad ✅
Algunos usuarios pueden decidir trasladar sus activos de la red Palm a Ethereum para llegar a mercados específicos y pueden transferir esos token(s) utilizando el puente de la red Palm.
El puente de la red Palm conecta la red Palm con Ethereum. Permite transferir activos como tokens ERC-20, ERC-721 o ERC-1155 entre la red Palm y Ethereum.
Como desarrollador, puedes ayudar a esos usuarios finales asegurándote de que tus contratos inteligentes son compatibles con el bridge de la red Palm.
El puente bloquea los tokens que ya han sido acuñados en un lado del puente y luego acuña un token equivalente en el otro lado, utilizando lo que llamamos una versión "sintética" del contrato del token:
Los usuarios también pueden enviar sus tokens de vuelta a la parte original. El puente quemará el token sintético y liberará el token original que se transferirá a la dirección del monedero de destino.
Para transferir activos de la red Palm a Ethereum hay que pagar una tasa. Parte de este cargo cubre el coste del gas y la otra parte se utiliza para comprar compensaciones de carbono para que estas operaciones sean neutras en carbono. Al volver a transferir activos a Palm, la cuenta del depositante se recarga con una pequeña cantidad de tokens PALM.
La red Palm proporciona una dApp fácil de usar para iniciar la transferencia y aprobar las tasas de transferencia en DAI.
El puente Palm se basa en ChainBridge de ChainBridge, un protocolo de comunicación en el que los eventos de la cadena de origen se utilizan para enviar mensajes a la cadena de destino, donde se presentarán como transacciones. Para enviar y verificar los mensajes entre las cadenas se utilizan repetidores autorizados y de confianza.
Concepto | Descripción |
Relayers | Servidores fuera de la cadena que escuchan determinados eventos en la cadena de origen y envían propuestas firmadas a la cadena de destino. |
Bridge contracts | El delegado llama a los contratos de gestión de depósitos, inicia una transacción en la cadena de origen y ejecuta las propuestas en la cadena de destino. |
Handler contracts | Los contratos gestores de Palm envían transacciones de fichas de menta/quema en función de la entrada del usuario. |
Target contracts | En Palm, los contratos objetivo son ERC-20, ERC-721 y ERC-1155 a cada lado del bridge. |
Deposit() function | Un depósito es simplemente el inicio de una transferencia de un dato, que a menudo representa instrucciones para bloquear una ficha en el bridge. En sentido inverso, el depósito es una instrucción para quemar un token. |
Resource ID | Identificador del contrato inteligente del token que se transfiere. El identificador de recursos se utiliza para vincular los contratos equivalentes a ambos lados del bridge. |
Chain ID | Identificador de la cadena, por ejemplo, Palm network o Ethereum |
Calldata | Carga útil contenida por un evento/propuesta. Los calldata representan una función que debe ejecutarse en la cadena objetivo. En Palm, los calldata representan las funciones mint(). |
A continuación se muestra el flujo de trabajo que se produce cuando un usuario transfiere un token ERC-721 de la red Palm a Ethereum:
- El usuario llama a la función deposit()en el contrato bridge de la red Palm. El usuario debe especificar:
- target chain - 01 para la red Ethereum, 02 para la red Palm
- resource ID
- calldata, que representan una transferencia de tokens a ejecutarse en Ethereum.
- Se llama a la función deposit() del gestor ERC-721, que verifica los datos proporcionados por el usuario.
- A continuación, el puente bloquea el token en el contrato ERC-721.
- A continuación, el contrato puente de Palm emite un evento de deposit que contiene los datos que se ejecutarán en Ethereum.
- En ChainBridge, este tipo de evento se denomina proposal.
- Una vez que el primer transmisor del puente detecta el evento en Ethereum, ejecuta la proposal en Ethereum a través del puente.
- La propuesta delega una llamada executeDeposit al contrato ERC-721 handler.
- La función executeDeposit del gestor ERC-721 valida los parámetros proporcionados por el usuario y realiza una llamada al contrato ERC-721 de destino para acuñar el token con el ID original.
- Para garantizarlo, se pasa el token ID a una función de mint personalizada en el contrato de destino como parte de los datos de llamada. El token se transfiere a la cuenta del destinatario en Ethereum.
El puente de la red Palm calcula y ajusta automáticamente las tarifas en función de los precios medios del gas Ethereum. Se actualiza cada 3 horas, por lo que las tarifas reflejan el coste del gas en el que incurre el bridge.
El puente está diseñado para ser neutral en costes, y la red Palm hace todo lo posible por fijar el precio de forma justa, estable y predecible, incluso cuando los precios subyacentes del gas cambian.
Al transferir a Ethereum, hay 2 transacciones ejecutadas por el puente en Mainnet.
- La primera transacción confirma que los tokens del lado de la red Palm están definitivamente bloqueados en el puente (cuando se mueven NFT) o están quemados (cuando se mueven DAI u otros tokens ERC-20 de vuelta a Ethereum).
- La segunda transacción transferirá el token a la dirección de la cartera del destinatario. Dependiendo del tipo de token, el gas consumido por estas transacciones suele ser algo por debajo de las 400.000 unidades en total. El coste del gas se calcula multiplicando el consumo por el precio del gas:
Cuando el gas es de 50 gwei, el consumo será de 0,02 Ether
Por su diseño neutro en costes, los precios medios del gas en las últimas 72 horas se calculan a partir de instantáneas del precio tomadas a intervalos de 2 minutos. Esto ayuda a suavizar la fluctuación de los precios durante los periodos de congestión de la red.
Dado que las comisiones se cobran en DAI, pero se cargan al puente en Ether, calculamos la media móvil del tipo de cambio utilizando los tipos de cambio ETH/DAI de los 7 días anteriores, con un factor de ajuste de una desviación estándar para reducir los efectos de la volatilidad del tipo de cambio.
Una vez que hemos calculado la tasa en DAI, actualizamos la información pertinente sobre la tasa en los contratos inteligentes del bridge.
Puede haber ocasiones en las que pague un poco más que los costes reales de la transacción, y otras en las que pague un poco menos. Dado que los precios se actualizan con más frecuencia, deberían aproximarse más al coste real.
Actualmente estamos evaluando y planificando los pasos de la migración para integrar contratos actualizados que consuman menos gas, lo que se traducirá en menores comisiones en el futuro.