Files
zeekayandHanzo AI 15131f6af4
CI/CD / render (push) Waiting to run
chain letters are lowercase
The primary-network chains answer to either case; one spelling beats two.
/v1/chain/c/rpc, /v1/chain/p, /v1/chain/x across the estate.

Co-authored-by: Hanzo AI <[email protected]>
2026-09-08 15:23:20 -07:00

84 lines
2.8 KiB
YAML

# pulse on Zoo mainnet (200200) — 1 transaction every 2 seconds.
#
# Zoo's validator fleet (zood-mv, 5/5) has been healthy the whole time; the chain
# sat at 14,795 for four days purely because NOTHING sent it transactions and the
# EVM builds no empty blocks. This is the sender.
#
# Key: `chain-traffic-key` (0x1B475A4C…A2A6), funded 1,000,000 ZOO from the
# treasury EOA 0x9011 (tx 0x27b74b41…). Deliberately a low-value bot key, not the
# treasury seed — a key that signs every 2s should not hold 1.97T ZOO.
---
apiVersion: v1
kind: ConfigMap
metadata:
name: pulse-chains
namespace: zoo-mainnet
data:
# In-cluster RPC. zood-rpc:9630 fronts the mainnet fleet; pod-local
# 127.0.0.1:9630 also answers /v1/chain/c/rpc on zood-mv-0 (verified tip 14795).
chains.json: |
[
{"name":"zoo-evm","rpc":"http://zood-rpc.zoo-mainnet.svc.cluster.local:9630/v1/chain/c/rpc","key":"$TRAFFIC_KEY","weight":1,"dex":0}
]
---
apiVersion: v1
kind: Service
metadata:
name: pulse
namespace: zoo-mainnet
labels: {app: pulse}
spec:
selector: {app: pulse}
ports:
- {name: http, port: 8080, targetPort: 8080}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: pulse
namespace: zoo-mainnet
labels: {app: pulse}
spec:
replicas: 1
strategy: {type: Recreate} # one sender: never two pods racing one nonce
selector:
matchLabels: {app: pulse}
template:
metadata:
labels: {app: pulse}
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
prometheus.io/path: /metrics
spec:
imagePullSecrets:
- name: ghcr-luxfi
containers:
- name: pulse
image: ghcr.io/luxfi/trader:v0.3.4
command: ["/usr/local/bin/pulse"]
# 4 concurrent sends: each WAITS for a receipt (~5-15s on a 5s-block
# chain), so a deeper queue only stacks nonces the chain cannot drain.
args: ["-config", "/etc/pulse/chains.json", "-max-inflight", "4"]
env:
- {name: PULSE_TPS, value: "0.5"} # 1 tx every 2s
- {name: PULSE_AUTOSTART, value: "true"}
- {name: PULSE_LISTEN, value: ":8080"}
- {name: PULSE_MIN_BALANCE, value: "1000000000000000000"}
- name: TRAFFIC_KEY
valueFrom:
secretKeyRef: {name: chain-traffic-key, key: TRAFFIC_KEY}
ports: [{name: http, containerPort: 8080}]
volumeMounts:
- {name: chains, mountPath: /etc/pulse}
readinessProbe:
httpGet: {path: /healthz, port: 8080}
initialDelaySeconds: 5
periodSeconds: 10
resources:
requests: {cpu: 25m, memory: 64Mi}
limits: {cpu: 500m, memory: 256Mi}
volumes:
- name: chains
configMap: {name: pulse-chains}