按照固定时间,自动执行合约的某个或者多个功能
1. 随便部署一个合约,拿到地址和 ABI
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol";
import "@openzeppelin/contracts-upgradeable/token/ERC20/utils/SafeERC20Upgradeable.sol";
contract erc20 is Initializable, ERC20Upgradeable, OwnableUpgradeable {
using SafeERC20Upgradeable for IERC20Upgradeable;
/// @custom:oz-upgrades-unsafe-allow constructor
constructor() {
_disableInitializers();
}
address erc721;
function initialize() initializer public {
__ERC20_init("ZombineCoin", "ZTC");
__Ownable_init();
}
function setErc721(address erc721_)public{
erc721=erc721_;
}
function mint(uint second) public {
_mint(msg.sender, 100*1e18*second);
}
function balance()public view returns(uint256){
return balanceOf(msg.sender);
}
function approveMint()public{
approve(erc721,100000*1e18);
}
}
2. 打开 Chainlink Automation https://automation.chain.link/goerli
Trigger 选择 time-based,填入合约地址
3. 选择想要自动执行的函数名称,并填入传参
4. 选择要执行的频率
这是一个 corn 表达式,可以用工具去转换
http://cron.ciding.cc/
5. 取个名字,存点 link 代币