Chainlink Keepers, cómo programarlos
Tags: blockchain, solidity, chainlink, ethereum
Published: 2021-08-19 00:14:20

---
title: Chainlink Keepers, cómo programarlos
published: true
description: 
tags: blockchain, solidity, chainlink, ethereum
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2zp7eywvsfxqlfarqn84.png
---

Es bueno que todos los desarrolladores, creadores de Tokens y NFTs nos mantegamos actualizados con las nuevas herramientas con las que contamos. Por eso en este tutorial revisamos a Chainlink Keepers que recién lanzó. Esta herramienta democratiza el acceso a Keepers pues lo hace accesible y seguro. Nos puede ayudar a crear alamas, pagos recurrentes, loterías, stablecoins, trading stoplosses etc...

{% youtube 6WKWpad2Uyw %}

## Antes de comenzar

1. Instala [Metamask](https://metamask.io/)
2. Consigue fondos gratis en Kovan testnet, consíguelos desde [un faucet](https://gitter.im/kovan-testnet/faucet)
3. Consigue fondos gratis de Link de prueba en Kovan, consíguelos desde [un faucet](https://kovan.chain.link/)
4. Agrega el token de Chainlink a tu metamask `0xa36085f69e2889c224210f603d836748e7dc0088`

## 1. Lanzamos nuestro Keeper

En este tutorial lo lanzaremos en Kovan testnet.

```solidity
// SPDX-License-Identifier: MIT

pragma solidity 0.8.6;

import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
import "@chainlink/contracts/src/v0.8/interfaces/KeeperCompatibleInterface.sol";

contract Counter is KeeperCompatibleInterface {
    uint public counter = 0;
    uint public immutable interval = 60;
    uint public lastTimeStamp = block.timestamp;

    function checkUpkeep(bytes calldata checkData) public pure override returns (bool upkeepNeeded, bytes memory performData) {
        upkeepNeeded = (block.timestamp - lastTimeStamp) > interval;
        performData = checkData;
    }

    function performUpkeep(bytes calldata performData) external override {
        lastTimeStamp = block.timestamp;
        counter = counter + 1;
        performData;
    }
}
```

## 2. Registramos un upkeep

En la [pantalla de registro de upkeeps](https://keepers.chain.link/upkeeps/new) podemos registrar nuestro Keeper con los siguientes valores:

* _Email_
* _Upkeep name_: Le podemos poner el nombre de queramos a nuestro upkeep
* _Upkeep address_: El address de nuestro contrato
* _Admin address_: El address de nuestro metamask
* _Gas limit_: Les recomiendo poner un valor arriba de 100,000. Quizás 200,000 o a lo mucho 500,000 debería funcionar
* _Check data (Hexadecimal)_: Data que queremos pasar al contrato cada vez que se ejecute el upkeep
* _Starting balance (LINK)_: Prueben con un valor pequeño para comenzar. Quizás 5 Link. Luego lo pueden aumentar.

## 3. Revisamos y administramos el Upkeep

Busca tu upkeep en [la lista](https://keepers.chain.link/) donde puedes agregar fondos, retirarlos e inspeccionar el rendimiento de tu upkeep.

[Documentación oficial](https://docs.chain.link/docs/chainlink-keepers/introduction/)

**Gracias por ver este tutorial!**

Sígueme en dev.to y en [Youtube](https://www.youtube.com/channel/UCNRB4tgwp09z4391JRjEsRA) para todo lo relacionado al desarrollo en Blockchain en Español.