Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
76 lines (66 loc) · 3.39 KB
/
Copy path.env.example
File metadata and controls
76 lines (66 loc) · 3.39 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
# ==============================================================
# .env - read directly by the make targets, the forge scripts, and script/config/*.sh.
# Nothing here needs exporting; an exported variable wins over the value set here.
# ==============================================================
# --------------------------------------------------------------
# Keystore
# Created via: cast wallet import your_keystore_name --interactive
# --------------------------------------------------------------
KEYSTORE_NAME=
# --------------------------------------------------------------
# RPC URLs — fill in only the networks you plan to use
# --------------------------------------------------------------
# ONE VAR PER CHAIN, and the name is not a convention you have to guess: it is the `rpcEnv` field in
# that chain's config/chains/<name>.json, which `make add-chain` prints when it onboards the chain
# ("generated env-var names"). For a chain already in the repo:
#
# jq -r .rpcEnv config/chains/<name>.json
#
# WHICH PROVIDER: any endpoint that serves standard JSON-RPC works, and the repo does not bundle or
# assume one. A chain's own public RPC (listed in the CCIP directory and on the chain's docs) is the
# simplest starting point and is often the most reliable for this toolkit, because most targets read
# through a Foundry fork, which is more sensitive to a lagging or rotating backend than a plain
# eth_call is - see docs/gotchas/index.md#forking-excludes-chains. Typical shapes:
#
# https://<chain>.g.alchemy.com/v2/<KEY>
# https://<chain>.infura.io/v3/<KEY>
# https://lb.drpc.org/ogrpc?network=<chain>&dkey=<KEY>
#
# A value containing `&`, `?` or `#` is fine here and needs no quoting: this file is READ, never
# sourced, so nothing in it is shell-evaluated (script/config/dotenv-get.sh).
#
# Testnets bundled with the repo:
ETHEREUM_SEPOLIA_RPC_URL=
MANTLE_SEPOLIA_RPC_URL=
# INK_SEPOLIA_RPC_URL=
# PLUME_TESTNET_RPC_URL=
# ZERO_G_TESTNET_RPC_URL=
# SOLANA_DEVNET_RPC_URL=
#
# Mainnet chains are added the same way (make add-chain CHAIN=<selectorName> SELECTOR=<sel>, from
# `make discover` — which lists both planes). Their vars follow the same rule, for example:
# ETHEREUM_MAINNET_RPC_URL=
# BASE_MAINNET_RPC_URL=
# ARBITRUM_MAINNET_RPC_URL=
# --------------------------------------------------------------
# Block explorer API key
# Required only when passing --verify to deployment scripts.
# Etherscan API v2 supports all chains with a single key.
# --------------------------------------------------------------
ETHERSCAN_API_KEY=
# --------------------------------------------------------------
# Optional — chain-config tooling (script/config/*)
# Non-secret override of the CCIP REST API base URL used by the
# add-chain / sync / drift-check tooling. Leave unset to use the
# public API (https://api.ccip.chain.link/v2).
# --------------------------------------------------------------
# CCIP_API_BASE=https://api.ccip.chain.link/v2
# --------------------------------------------------------------
# Optional — Safe governance mode (docs/governance-modes.md)
# Set MODE=safe to route every write through the Safe instead of
# broadcasting from the keystore EOA. Required once the roles
# handoff completes (docs/roles.md): the Safe then holds every
# privileged role, so owner-gated commands only work in safe mode.
# --------------------------------------------------------------
# MODE=safe
# SAFE_ADDRESS=