Hardhat 节点
Docker 镜像:https://hub.docker.com/r/fuming/hardhat-node
Docker Compose 启动:
yaml
version: '3'
services:
hardhat-node:
image: fuming/hardhat-node:2.22.18
container_name: hardhat-node-instance
ports:
- "8545:8545"
Nginx 反向代理
在Nginx中配置:
nginx
location /hardhat {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_read_timeout 600s; # Ensure long-lived WebSocket connections are handled
proxy_pass http://host.docker.internal:8545/;
}
访问 https://your-domain.com/hardhat
即可正常使用Hardhat节点服务。
存在问题
在实际使用中发现,Hardhat 不允许相同时间戳的区块产生,因此如果交易频率过高,会导致未来时间戳区块的出现。合约中存在的时间逻辑会受此影响。多方查找后无解。
hardhat 采用 NomicFoundation/edr 作为以太坊运行时,此问题应该可以通过修改 edr 源代码修复。