Implemente el mantenimiento utilizando Chainlink Keepers para administrar las tareas del sistema. Los usuarios no pueden iniciar todas las acciones de contratos inteligentes necesarias para mantener un sistema en funcionamiento. Muchos equipos de aplicaciones utilizan servicios centralizados para tareas de automatización y mantenimiento. Estos servicios son componentes de infraestructura críticos para muchas aplicaciones descentralizadas. Chainlink Keepers permite a los equipos de desarrollo de aplicaciones subcontratar tareas centralizadas automatizadas a una plataforma descentralizada.
Chainlink Keepers es una capa de infraestructura fuera de la cadena que interactúa con los contratos inteligentes en la cadena de bloques. Proporciona a los desarrolladores acceso a servicios de computación automatizados de contrato inteligente seguros y confiables fuera de la cadena. Los desarrolladores no necesitan ejecutar tareas manuales, depender de servicios de infraestructura centralizados o implementar cambios de protocolo de bajo nivel para automatizar eventos en cadena. Tienen la opción de subcontratar este trabajo a Chainlink Keepers.
Casos de uso de Chainlink Keeper
La mayoría de los equipos de aplicaciones descentralizados no quieren administrar servidores y tratan de evitar la automatización interna. Los desarrolladores pueden usar Chainlink Keepers como una capa de computación descentralizada fuera de la cadena para automatizar funciones clave de contratos inteligentes y eventos personalizados. Los encargados son similares a un servicio fuera de la cadena, Trabajo cron, o trabajo de Autosys que necesita ejecutarse para mantener un aspecto de una aplicación.
A continuación se muestran varios problemas de ejemplo que Chainlink Keepers puede ayudar a resolver. En lugar de utilizar un servidor centralizado para gestionar su sistema, se puede utilizar la infraestructura Chainlink Keeper.
- Transacciones de pago basadas en información de nuevo bloque
- Es necesario que ocurra una liquidación debido a un préstamo con garantía insuficiente
- Es necesario que ocurra una transacción computacional costosa
- Ejecute una orden compleja en un intercambio descentralizado
- Reinvertir rendimientos en protocolos defi
- Retirar comisiones todas las semanas
- y más
Guardianes de eslabones de cadena permite la automatización fuera de la cadena de muchos tipos diferentes de eventos. Las posibilidades son infinitas.
Decisiones a considerar para tareas de automatización
Hay muchos puntos a considerar al determinar si debe albergar o no tareas de automatización para una aplicación.
- La confiabilidad es primordial para una aplicación
- El sistema debe ser fácil de usar.
- Realizar todas las tareas en cadena se vuelve muy costoso con el tiempo
- Tomar tareas dentro de la cadena y moverlas fuera de la cadena reducirá las tarifas del gas.
- ¿Tiene un servidor confiable y seguro para administrar estos servicios?
- ¿Tienen sentido los costos?
- ¿Es importante la gestión de cadenas cruzadas?
¿Cómo funcionan los Chainlink Keepers?
El diseño de Keepers consta de tres participantes:
1. Cree un contrato inteligente compatible con UpKeep
- Los contratos compatibles con el mantenimiento son contratos inteligentes que necesitan ayuda con las tareas de mantenimiento.
2. Agregue el contrato al registro
- El registro es una solución de descubrimiento para que los participantes anteriores realicen un seguimiento del trabajo.
3. Guardianes
- Los guardianes son los actores que ejecutan las tareas de mantenimiento solicitadas.
- Las tareas que realiza Chainlink Keeper pueden, la mayoría de las veces, estar completamente fuera de la cadena
- Luego realiza el trabajo de mantenimiento
- La cadena de bloques continúa brindando seguridad. Solo las transacciones válidas pueden ser procesos
Cómo implementar un Chainlink Keeper
Veamos cómo hacer que su contrato sea compatible, registrándolo en la red Keepery observe cómo el cuidador realiza las tareas. Para implementar una interfaz de mantenimiento, necesita tokens de enlace para pagar a Keeper y ETH para pagar los costos de transacción. Solicite tokens de prueba de Kovan usando esto Enlace faucet y esta página para obtener una lista de grifos ETH. Utilice su intercambio favorito para obtener tokens de Mainnet.
Contrato inteligente compatible con Keeper
Implemente KeeperCompatibleInterface y dos funciones a continuación para hacer que su contrato sea compatible.
- checkUpkeep La función es llamada por el Guardián en cada bloque (aproximadamente cada 15 segundos). El valor de retorno booleano determina si el contrato inteligente necesita servicio. Si el contrato requiere mantenimiento, los bytes de retorno se pasan a la función performUpkeep.
- realizar mantenimiento La función es la tarea de mantenimiento en la que el contrato desea que se preste servicio. Si checkUpkeep boolean devuelve verdadero, el sistema llama a la función performUpkeep
La interfaz necesaria para que un encargado de contrato sea compatible está en Github en la siguiente ubicación de Chainlink:
Ejemplo de contrato inteligente compatible con Keeper
Para comenzar, use el contrato de mostrador de muestra a continuación. Este contrato implementa la interfaz compatible con el poseedor y las funciones para el poseedor. Usaremos la infraestructura de guardián para monitorear la cadena de bloques y actualizar el contador en el contrato cuando el block.timestamp sea divisible por 7.
Primero, compile e implemente el contrato en la cadena de bloques Ethereum. Todos los contratos deben verificarse en Etherscan para su aceptación en la red de mantenimiento de Chainlink.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface KeeperCompatibleInterface {
/**
* @notice checks if the contract requires work to be done.
* @param checkData data passed to the contract when checking for Upkeep.
* @return UpkeepNeeded boolean to indicate whether the keeper should call
* performUpkeep or not.
* @return performData bytes that the keeper should call performUpkeep with,
* if upkeep is needed.
*/
function checkUpkeep(bytes calldata checkData) external returns (bool upkeepNeeded,bytes memory performData);
/**
* @notice Performs work on the contract. Executed by the keepers, via the registry.
* @param performData is the data which was passed back from the checkData
* simulation.
*/
function performUpkeep(bytes calldata performData) external;
}
contract counterContract is KeeperCompatibleInterface {
//counter variable
uint public counter;
//function to test your counter
function increaseCounter() public {
counter += 1;
}
//used to view the current block.timestamp
function timeStamp() public view returns (uint) {
return block.timestamp;
}
// check to see if the block.timestamp is divisible by 7
// if true call the performUpkeep function
function checkUpkeep(bytes calldata /* checkData */) external override returns (bool upkeepNeeded, bytes memory /* performData */) {
upkeepNeeded = (block.timestamp % 7 == 0);
}
//if the block.timestamp is divisible by 7 increase the counter (function checkUpkeep above)
//keeper will perform update
function performUpkeep(bytes calldata /* performData */) external override {
counter = counter + 1;
}
}
Pruébalo en Remezclar
Registrarse en la red Keeper
En segundo lugar, registre su contrato en Keeper Network. Ve a la Guardianes de eslabones de cadena portal para registrar su contrato de mantenimiento supervisado. Conecte su billetera al sitio web Chainlink y seleccione registrar nuevo mantenimiento.
A continuación, complete el formulario de solicitud para que el entorno de Keeper sepa qué contrato monitorear. La información que proporcione será visible públicamente en la cadena de bloques. Chainlink cifra la información de la dirección de correo electrónico. Asegúrese de tener tokens de enlace para financiar su mantenimiento.
Después de completar el formulario, presione Registrarse Mantenimiento y confirme la transacción en MetaMask. Las solicitudes de Chainlink Keeper se aprueban automáticamente y debería estar en funcionamiento en cuestión de minutos.
Apruebe la transacción de MetaMask para procesar la solicitud de mantenimiento. Asegúrese de que el entorno sea el correcto.
Recibirás una confirmación una vez que se complete la transacción.
Una vez que se complete la transacción y se cierre la ventana anterior, se lo dirigirá a la página de inicio de la aplicación Chainlink Keepers. En esta página puede ver sus trabajos programados y sus detalles:
- Estado del trabajo de Keeper
- Balance de enlace
- Saldo mínimo de enlace
- Fecha agregada al sistema
- Límite de gas
- Agregar solicitud de fondos
- Cancelar solicitud de mantenimiento
- Historia del trabajo de mantenimiento
- etc.
Verificar mantenimiento
Finalmente, después de esperar entre 5 y 10 minutos, navegue hasta su contrato y verifique si el contador cambió. El contrato instruyó al poseedor para actualizar el contador cuando se cumple una condición. Si el contador cambia, el portero está haciendo su trabajo.
Ahora vuelva a la página web de la aplicación Chainlink Keepers. Después de actualizar la página, puede ver el historial de trabajo generado por el poseedor. Según los datos de prueba de Kovan a continuación, el poseedor cobró .015686 enlaces por transacción ejecutada.
Pagar el mantenimiento y agregar fondos
- Su saldo de Chainlink se reduce cada vez que un Guardián ejecuta su función performUpkeep
- No hay costo por chequear Llamadas de mantenimiento
- Si desea automatizar la adición de fondos, llame a la función addfunds () en el contrato keeperRegistry
- Cualquiera (no solo el propietario de mantenimiento) puede llamar a la función addfunds ()
- Para retirar fondos, primero cancele el trabajo de mantenimiento y luego retire los fondos
Para garantizar que los encargados de Chainlink sean compensados por sus servicios, se espera un saldo mínimo en cada mantenimiento. Si sus fondos caen por debajo de la cantidad especificada, no se realizará el mantenimiento. Si su saldo se agota, puede presionar el botón Agregar fondos en la página web de la aplicación Chainlink Keepers para agregar tokens Chainlink a su trabajo.
Cancelar su trabajo de mantenimiento
Si desea cancelar su trabajo de mantenimiento, presione el botón cancelar en la página web de la aplicación Chainlink Keepers. Esto requerirá que firme un mensaje para confirmar la cancelación.
Con Chainlink Keepers puede crear una aplicación híbrida descentralizada. A medida que los sistemas tengan más permisos, menos innovación crecerá exponencialmente. Una vez que el ecosistema se sienta cómodo usando Keepers, el uso se generalizará.
Mejores prácticas de Chainlink Keeper
Para obtener información sobre las mejores prácticas, visite el Mejores prácticas de Chainlink Keeper documentación. Revisan los patrones de diseño, los modificadores y la configuración para usar en su contrato.
Si quiere puede hacernos una donación por el trabajo que hacemos, lo apreciaremos mucho.
Direcciones de Billetera:
- BTC: 14xsuQRtT3Abek4zgDWZxJXs9VRdwxyPUS
- USDT: TQmV9FyrcpeaZMro3M1yeEHnNjv7xKZDNe
- BNB: 0x2fdb9034507b6d505d351a6f59d877040d0edb0f
- DOGE: D5SZesmFQGYVkE5trYYLF8hNPBgXgYcmrx
También puede seguirnos en nuestras Redes sociales para mantenerse al tanto de los últimos post de la web:
- Telegram
Disclaimer: En Cryptoshitcompra.com no nos hacemos responsables de ninguna inversión de ningún visitante, nosotros simplemente damos información sobre Tokens, juegos NFT y criptomonedas, no recomendamos inversiones