|
1 | | -############################################################################### |
2 | | -# ↓ REQUIRED ALWAYS↓ # |
3 | | -############################################################################### |
4 | | - |
5 | | -### Used in Magister (Vast.ai wrapper) and Hierophant |
6 | | -# Publically reachable ip of the machine this docker setup is running on. |
7 | | -# Used by remotely hosted vast.ai Contemplants to communicate to the Hierophant at this ip. |
8 | | -# Also used by Magister to make Hierophant aware of it. |
9 | | -# Used in Hierophant to advertise where to upload artifacts. |
10 | | -THIS_IP= |
11 | | - |
12 | | -### Used in Magister (Vast.ai wrapper) |
13 | | -# Make a vast.ai account, load it with some funds, and get an api key. |
14 | | -# This is to allow for easy allocation and deallocation of worker nodes for the |
15 | | -# Hierophant prover network. Each vast.ai instance only cost 0.3 - 0.6 $/hour |
16 | | -VAST_API_KEY= |
17 | | - |
18 | | -############################################################################### |
19 | | -# ↓ DEFAULTS ↓ # |
20 | | -############################################################################### |
21 | | -# Only modify this section if you know what you're doing |
22 | | - |
23 | | -### Used in Magister (Vast.ai wrapper) |
24 | | -# number of provers (Contemplant instances) running on vast.ai |
25 | | -# This will impact your vast.ai bill. |
26 | | -NUMBER_PROVERS=1 |
27 | | -# This is a vast.ai template that contains a `contemplant` binary. Vast.ai instances run using this template. |
28 | | -# When a new Contemplant template is pushed to Vast.ai make sure to copy the new template hash from the Vast UI and add it here. |
29 | | -VAST_TEMPLATE_HASH=1878058a3fab0d314a768287dc41c456 |
30 | | - |
31 | | -PORT__HIEROPHANT_GRPC=9000 |
32 | | -PORT__HIEROPHANT_HTTP=9010 |
33 | | -PORT__MAGISTER_HTTP=8555 |
| 1 | +# Example environment configuration. |
| 2 | +# Copy this file to .env and adjust as needed. |
| 3 | +# Environment variables override values in hierophant.toml and contemplant.toml. |
34 | 4 |
|
| 5 | +# Hierophant Configuration |
| 6 | +# ======================== |
| 7 | + |
| 8 | +# OPTIONAL: Port for gRPC service (default: 9000). |
| 9 | +# GRPC_PORT=9000 |
| 10 | + |
| 11 | +# OPTIONAL: Port for HTTP and WebSocket service (default: 9010). |
| 12 | +# HTTP_PORT=9010 |
| 13 | + |
| 14 | +# OPTIONAL: Timeout in seconds for worker responses (default: 30). |
| 15 | +# How long to wait for a response from a worker before evicting them. |
| 16 | +# WORKER_RESPONSE_TIMEOUT_SECS=30 |
| 17 | + |
| 18 | +# OPTIONAL: Publicly reachable address of this Hierophant for artifact uploads. |
| 19 | +# This is used by clients to upload program inputs and download proofs. |
| 20 | +# THIS_HIEROPHANT_IP= |
| 21 | + |
| 22 | +# OPTIONAL: Public key for signing messages (default: zero address). |
| 23 | +# Key pair used for signing messages to the client and retrieving nonces. |
| 24 | +# PUB_KEY=0x0000000000000000000000000000000000000000 |
| 25 | + |
| 26 | +# OPTIONAL: Create mock proofs instead of real proofs (default: false). |
| 27 | +# Witness generation still happens, but proof generation is skipped. |
| 28 | +# MOCK_MODE=false |
| 29 | + |
| 30 | +# OPTIONAL: Directory for storing artifacts on disk (default: "artifacts"). |
| 31 | +# ARTIFACT_STORE_DIRECTORY=artifacts |
| 32 | + |
| 33 | +# OPTIONAL: Maximum number of stdin artifacts stored (default: 50). |
| 34 | +# Artifacts can be large, so we limit how many are stored on disk. |
| 35 | +# MAX_STDIN_ARTIFACTS_STORED=50 |
| 36 | + |
| 37 | +# OPTIONAL: Maximum number of proof artifacts stored (default: 10). |
| 38 | +# MAX_PROOF_ARTIFACTS_STORED=10 |
| 39 | + |
| 40 | +# Worker Registry Settings |
| 41 | +# ------------------------- |
| 42 | +# These settings control when workers are evicted. |
| 43 | + |
| 44 | +# OPTIONAL: Number of strikes before eviction (default: 3). |
| 45 | +# Workers get strikes when they fail to respond to requests. |
| 46 | +# MAX_WORKER_STRIKES=3 |
| 47 | + |
| 48 | +# OPTIONAL: Maximum seconds between heartbeats before eviction (default: 180). |
| 49 | +# Workers must send heartbeats regularly to stay registered. |
| 50 | +# MAX_WORKER_HEARTBEAT_INTERVAL_SECS=180 |
| 51 | + |
| 52 | +# OPTIONAL: Maximum minutes a worker can spend on a proof (default: 300). |
| 53 | +# Workers taking longer than this are considered dead and evicted. |
| 54 | +# PROOF_TIMEOUT_MINS=300 |
| 55 | + |
| 56 | +# OPTIONAL: Minutes between required progress updates (default: 0). |
| 57 | +# Workers must show at least 1% progress every N minutes or be evicted. |
| 58 | +# Set to 0 to disable progress checking. |
| 59 | +# WORKER_REQUIRED_PROGRESS_INTERVAL_MINS=0 |
| 60 | + |
| 61 | +# OPTIONAL: Maximum minutes for execution report phase (default: 45). |
| 62 | +# Time allowed for execution report before proof generation starts. |
| 63 | +# WORKER_MAX_EXECUTION_REPORT_MINS=45 |
| 64 | + |
| 65 | +# Contemplant Configuration |
| 66 | +# ========================== |
| 67 | + |
| 68 | +# OPTIONAL: WebSocket address of the Hierophant to connect to. |
| 69 | +# Format: ws://[host]:[port]/ws where port is the Hierophant HTTP port. |
| 70 | +# HIEROPHANT_WS_ADDRESS=ws://127.0.0.1:9010/ws |
| 71 | + |
| 72 | +# OPTIONAL: Human-readable name for this Contemplant (default: from names.txt). |
| 73 | +# CONTEMPLANT_NAME= |
| 74 | + |
| 75 | +# OPTIONAL: Prover type - "cpu" or "cuda" (default: "cpu"). |
| 76 | +# CPU proving is slower but doesn't require a GPU. |
| 77 | +# PROVER_TYPE=cpu |
| 78 | + |
| 79 | +# OPTIONAL: Moongate CUDA prover endpoint (default: none). |
| 80 | +# Only used when prover_type is "cuda". If not set, Contemplant will spin up |
| 81 | +# a moongate-server Docker container automatically. |
| 82 | +# MOONGATE_ENDPOINT= |
| 83 | + |
| 84 | +# OPTIONAL: Heartbeat interval in seconds (default: 30). |
| 85 | +# How often to tell Hierophant that this Contemplant is still alive. |
| 86 | +# HEARTBEAT_INTERVAL_SECONDS=30 |
| 87 | + |
| 88 | +# OPTIONAL: Maximum number of finished proofs stored in memory (default: 2). |
| 89 | +# MAX_PROOFS_STORED=2 |
| 90 | + |
| 91 | +# OPTIONAL: Magister drop endpoint (default: none). |
| 92 | +# Endpoint to notify when this Contemplant should be dropped from its Magister. |
| 93 | +# Only set if this Contemplant is managed by a Magister. |
| 94 | +# MAGISTER_DROP_ENDPOINT= |
| 95 | + |
| 96 | +# Assessor Settings |
| 97 | +# ----------------- |
| 98 | +# These settings control proof progress monitoring. |
| 99 | + |
| 100 | +# OPTIONAL: Path to log file for progress tracking (default: "./moongate.log"). |
| 101 | +# MOONGATE_LOG_PATH=./moongate.log |
| 102 | + |
| 103 | +# OPTIONAL: Log polling interval in milliseconds (default: 2000). |
| 104 | +# How frequently to check the moongate log file for progress updates. |
| 105 | +# WATCHER_POLLING_INTERVAL_MS=2000 |
0 commit comments