-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy path.env.local.example
More file actions
141 lines (134 loc) · 7.17 KB
/
.env.local.example
File metadata and controls
141 lines (134 loc) · 7.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# The port ENSApi listens on.
# Optional. If this is not set, the default value is 4334.
# PORT=4334
# ENSIndexer: The "primary" ENSIndexer service URL.
# Required. This URL is used to read ENSIndexer's Config and Indexing Status APIs.
ENSINDEXER_URL=http://localhost:42069
# ENSDb: Database URL
# Required. This is the connection string for the ENSDb database in which ENSIndexer is storing data.
# It should match the DATABASE_URL used by the connected ENSIndexer.
# It should be in the format of `postgresql://<username>:<password>@<host>:<port>/<database>`
#
# See https://ensnode.io/ensindexer/usage/configuration/ for additional information.
DATABASE_URL=postgresql://dbuser:abcd1234@localhost:5432/my_database
# ENSDb: Database Schema name for ENSIndexer Schema
# Required. Should match the DATABASE_SCHEMA used by the connected ENSIndexer.
DATABASE_SCHEMA=public
# ENSApi: RPC Configuration
# Required. ENSApi requires an HTTP RPC to the connected ENSIndexer's ENS Root Chain, which depends
# on ENSIndexer's NAMESPACE (ex: mainnet, sepolia, ens-test-env). This ENS Root Chain RPC
# is used to power the Resolution API, in situations where Protocol Acceleration is not possible.
#
# When ENSApi starts up it connects to the indicated ENSINDEXER_URL verifies that the ENS Root Chain
# RPC for the specified namespace is defined.
#
# NOTE: You must configure your own private RPC endpoints. Public RPC endpoints are rate limited and
# will likely not provide acceptable performance (though this depends on how many non-acceleratable
# Resolution requests you make to ENSApi).
#
# Private RPC service options include:
# - Alchemy (paid plan) - https://www.alchemy.com/
# - QuickNode (paid plan) - https://www.quicknode.com
# - drpc.org (paid plan) - https://drpc.org/
# - Infura (paid plan) - https://infura.io/
#
# Example RPC endpoint URL formats:
# - Alchemy RPC endpoints
# - https://eth-mainnet.g.alchemy.com/v2/<alchemy-api-key>
# - wss://eth-mainnet.g.alchemy.com/v2/<alchemy-api-key>
# - https://base-sepolia.g.alchemy.com/v2/<alchemy-api-key>
# - QuickNode RPC endpoints
# - https://<quicknode-endpoint-name>.quiknode.pro/<quicknode-api-key>
# - wss://<quicknode-endpoint-name>.quiknode.pro/<quicknode-api-key>
# - https://<quicknode-endpoint-name>.base-sepolia.quiknode.pro/<quicknode-api-key>
# - dRPC RPC endpoints
# - https://lb.drpc.live/ethereum/<drpc-api-key>
# - wss://lb.drpc.live/ethereum/<drpc-api-key>
# - https://lb.drpc.live/base-sepolia/<drpc-api-key>
# - Infura RPC endpoints
# - https://mainnet.infura.io/v3/<infura-api-key>
# - wss://mainnet.infura.io/ws/v3/<infura-api-key>
# - https://base-sepolia.infura.io/v3/<infura-api-key>
#
# Configuring the following environment variables enables auto-generation of
# RPC endpoint URLs for each indexed chain (with limitations as noted below):
# - ALCHEMY_API_KEY — API key for your Alchemy app, if set, Alchemy RPC URLs (HTTP) will be autogenerated for chains Alchemy supports.
# - QUICKNODE_API_KEY - API key for your multi-chain QuickNode endpoint.
# - QUICKNODE_ENDPOINT_NAME — endpoint name of your multi-chain QuickNode endpoint.
# - DRPC_API_KEY — if set, an dRPC RPC URL (HTTP) will be autogenerated for chains dRPC supports.
# - RPC_URL_${chainId} — specific, per-chain RPC settings.
#
# If both, QUICKNODE_API_KEY and QUICKNODE_ENDPOINT_NAME are specified,
# a QuickNode RPC URL will be autogenerated for chains QuickNode supports.
# If only one of QUICKNODE_API_KEY or QUICKNODE_ENDPOINT_NAME is set but not the other,
# the configuration will be rejected with an error.
# Note key constraints of QuickNode RPC endpoints:
# - Only multi-chain QuickNode endpoints can be used for setting
# QUICKNODE_API_KEY and QUICKNODE_ENDPOINT_NAME environment variables.
# A multi-chain endpoint allows sharing the same endpoint name and API key
# across all chains supported by QuickNode platform. Read more in QuickNode docs:
# https://www.quicknode.com/guides/quicknode-products/how-to-use-multichain-endpoint
# - QuickNode platform does not support Linea Sepolia RPC (as of 2025-12-03).
# https://www.quicknode.com/docs/linea
#
# Each RPC_URL_${chainId} environment variable, if specified, will take precedence over
# all auto-generated RPC URLs for the specified chainId from Alchemy, QuickNode, or dRPC.
# It must be a comma-separated list of HTTP/HTTPS RPC endpoints.
# ENSApi provides all the resulting RPC URLs to Viem Client. If multiple HTTP RPC URLs are provided to Viem Client,
# Viem Client automatically balances requests between them (see below).
#
# Auto-generated RPC URLs:
# ALCHEMY_API_KEY=xyz
# QUICKNODE_API_KEY=your-api-key
# QUICKNODE_ENDPOINT_NAME=your-endpoint-name
# DRPC_API_KEY=xyz
#
# For full control of chain-specific RPC configuration, use the RPC_URL_{chainId} environment variable.
# Its value is a comma-separated list of one or more HTTP RPC URLs.
#
# Example (single HTTP RPC URL):
# RPC_URL_1=https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY
# RPC_URL_11155111=https://eth-sepolia.g.alchemy.com/v2/YOUR_API_KEY
# RPC_URL_1337=http://localhost:8545
#
# Example (multiple HTTP RPC URL, single WebSocket RPC URL):
# RPC_URL_1=https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY,https://lb.drpc.org/ethereum/YOUR_API_KEY
#
# The RPC_URL_${chainId} value has the following invariants:
# - Must always include at least one HTTP/HTTPS RPC endpoint. RPC endpoints can
# fail or experience downtime. To optimize resiliency of ENSIndexer,
# defining more than one HTTP/HTTPS endpoint (from more than one RPC provider)
# per indexed chain is strongly encouraged.
# Log Level
# Optional. If this is not set, the default value is "info".
# Allowed values: "fatal", "error", "warn", "info", "debug", "trace", "silent".
# LOG_LEVEL=info
# The Graph Subgraph API Fallback
# Optional. If this value is set, on the condition that the connected ENSIndexer is not
# sufficiently "realtime", ENSApi's Subgraph API will fallback to proxying subgraph queries
# it receives to The Graph's hosted subgraphs using this API key.
# THEGRAPH_API_KEY=
# Custom Referral Program Edition Config Set Definition (optional)
# URL that returns JSON for a custom referral program edition config set.
# If not set, the default edition config set for the namespace is used.
#
# JSON Structure:
# The JSON must be an array of edition config objects (SerializedReferralProgramEditionConfig[]).
# For the complete schema definition, see makeReferralProgramEditionConfigSetArraySchema in @namehash/ens-referrals/v1
#
# Fetching Behavior:
# - Fetched proactively when ENSApi starts up (non-blocking; ENSApi may begin accepting requests before load completes)
# - Once successfully loaded, cached indefinitely (never expires or revalidates)
# - On load failure:
# * Error is logged
# * ENSApi continues running
# * Failed state is cached for 1 minute, then retried on subsequent requests
# * API requests receive error responses until successful load
#
# Configuration Notes:
# - Setting CUSTOM_REFERRAL_PROGRAM_EDITIONS completely replaces the default edition config set
# - Include all edition configs you want active in the JSON
# - Array must contain at least one edition config
# - All edition slugs must be unique
#
# CUSTOM_REFERRAL_PROGRAM_EDITIONS=https://example.com/custom-editions.json