Skip to content

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 源代码修复。