环境变量
所有服务都从环境变量读取配置;仓库中的 .env.example 列出了它们并附有注释。下文的默认值是变量未设置时代码所使用的值。
若干协议取值(gas 预算、质押、奖励、罚没、AI 阈值)是存储在链上的治理参数。如果某个参数有对应的环境变量,它会在该节点启动时覆盖链上的值——这是为测试网络准备的;在共享网络中,每个验证者都必须使用相同的值。参见治理 → 参数。
节点
网络与身份
| 变量 | 默认值 | 含义 |
|---|---|---|
CHAIN_ENV | mainnet | mainnet:严格签名校验、关闭水龙头、RPC 监听 localhost。testnet:签名问题仅告警、开启水龙头 |
NEUROCHAIN_NETWORK | neurochain-mainnet-1 | 网络 / 链 ID |
NEUROCHAIN_DATA_DIR | ./data | 数据目录(状态、WAL、密钥) |
NEUROCHAIN_MODELS_DIR | ./models | AI 模型权重 |
NEUROCHAIN_RPC_PORT | 9933 | HTTP RPC 端口 |
NEUROCHAIN_RPC_HOST | localhost(mainnet)/ 0.0.0.0(testnet) | RPC 绑定地址 |
NEUROCHAIN_P2P_PORT | 30333 | P2P 端口(同时承载共识) |
NEUROCHAIN_P2P_PORT_MIN / _MAX | 1024 / 65534 | 可接受的对等节点端口范围 |
NEUROCHAIN_NODE_ADDR | localhost:<p2p port> | 对等节点用来访问本节点的地址;不能是 0.0.0.0。用于将节点与其创世验证者条目对应 |
NEUROCHAIN_BOOTSTRAP | — | 启动时要加入的对等节点,逗号分隔 |
NEUROCHAIN_PEER_DISCOVERY_SECS | 30 | 对等节点发现间隔 |
NEUROCHAIN_P2P_CONN_RATE_LIMIT | 20 | 每个 IP 每秒的入站 P2P 连接数 |
NEUROCHAIN_TLS_CERT, NEUROCHAIN_TLS_KEY | — | 通过 HTTPS 提供 RPC |
创世
| 变量 | 默认值 | 含义 |
|---|---|---|
NEUROCHAIN_GENESIS_VALIDATORS | 仅本节点 | `neuro:name.node |
NEUROCHAIN_GENESIS_ACCOUNTS | — | `neuro:addr.human |
NEUROCHAIN_FAUCET_BALANCE | 1 000 000 000 NRO | 创世时水龙头保险库的余额 |
NEUROCHAIN_INITIAL_BALANCE | 0 | 首次读取从未出现过的账户时为其记入的 uNRO(仅限测试网络) |
NEUROCHAIN_GAS_SPONSOR | neuro:faucet.vault | 新用户引导的 gas 赞助方 |
NEUROCHAIN_GAS_SPONSOR_FUND | 1 000 000 NRO | 其创世时的 gas 池 |
NEUROCHAIN_CHECKPOINT_URL | — | 用该节点的状态快照启动一个空节点 |
共识与分片
| 变量 | 默认值 | 含义 |
|---|---|---|
NEUROCHAIN_MIN_VALIDATORS | 7 | 低于此值时,节点会警告容错能力下降 |
NEUROCHAIN_BLOCK_MS | 200 | 提议含交易区块前的最短等待时间 |
NEUROCHAIN_EMPTY_BLOCK_MS | 2000 | 提议空区块前的最短等待时间 |
NEUROCHAIN_SYNC_HISTORY_BLOCKS | 10000 | 为追赶中的对等节点保留的已决定区块数 |
NEUROCHAIN_JAIL_BLOCKS | 10000 | 罚没后的监禁时长(治理参数 jail_blocks) |
NEUROCHAIN_SLASH_FRACTION_DOUBLE_SIGN_BPS | 500 | 双签罚没,以 min_stake 的基点计 |
NEUROCHAIN_SLASH_REWARD_FRACTION_BPS | 100 | 举报者在罚没中所得的份额 |
NEUROCHAIN_SLASH_EVIDENCE_WINDOW | 10000 | 证据可证明的最早违规(以区块计) |
NEUROCHAIN_SHARD_ID | — | 本节点负责的分片;未设置 = 单分片 |
NEUROCHAIN_SHARDS | 设置了分片 ID 时为 4,否则为 1 | 分片数量 |
NEUROCHAIN_SHARD_DIR_PREFIX | shard | 每个分片的子目录名 |
经济与内存池
| 变量 | 默认值 | 含义 |
|---|---|---|
NEUROCHAIN_UNBONDING_BLOCKS | 治理参数(1 512 000) | 质押锁定期 |
NEUROCHAIN_REWARD_INTERVAL_BLOCKS | 治理参数(216 000) | 两次奖励发放之间的区块数 |
NEUROCHAIN_FUEL_PER_GAS_UNIT | 20000 | 每单位 gas 对应的合约 fuel |
NEUROCHAIN_MAX_SPONSORED_FEE | 100000 uNRO | gas 池为单笔交易支付的最高手续费 |
NEUROCHAIN_MAX_MEMPOOL | 10000 | 保留的待处理交易数 |
NEUROCHAIN_MAX_PENDING_PER_ACCOUNT | 64 | 每个发送方的待处理交易数 |
NEUROCHAIN_RBF_MIN_BUMP_PCT | 10 | 替换一笔待处理交易所需的 gas 价格涨幅 |
NEUROCHAIN_MIN_FEE_PER_GAS | 0 | 额外的内存池价格下限 |
NEUROCHAIN_FAUCET_MAX_NRO | 100 | 单次水龙头请求的上限(测试网络) |
NEUROCHAIN_FAUCET_COOLDOWN_SECS | 86400 | 每个地址的水龙头冷却时间;0 = 无 |
AI
| 变量 | 默认值 | 含义 |
|---|---|---|
MONITOR_INTERVAL_SECS | 20 | 已部署合约的重新审计 |
MONITOR_SCORE_THRESHOLD | 10 | 触发证书更新的评分变化量 |
NEUROCHAIN_SENTINEL_POLICY_ENABLED | 治理参数(0) | Sentinel 策略层开关 |
NEUROCHAIN_SENTINEL_HOLD_THRESHOLD | 治理参数(60) | 评分 × 100 达到此值起转账被暂扣 |
NEUROCHAIN_SENTINEL_STEPUP_THRESHOLD | 治理参数(70) | 评分 × 100 达到此值起需所有者确认 |
NEUROCHAIN_SENTINEL_HOLD_BLOCKS | 治理参数(50) | 自动放行的延迟 |
NEUROCHAIN_SENTINEL_CONFIRM_EXPIRY_BLOCKS | 治理参数(1000) | 退款前等待确认的时长 |
NEUROCHAIN_SENTINEL_AGENT_CONFIRM_THRESHOLD | 治理参数(60) | 会话密钥转账的阈值 |
NEUROCHAIN_TRUST_ACTIVATION_BLOCKS | 治理参数(300) | 受信任收款方生效前的延迟 |
AI_EXPORT_MAX_LIMIT | 5000 | 每次 AI 数据导出请求的行数 |
IBC v2
参见 IBC v2 与分片 → 配置:NEUROCHAIN_IBC_OPERATOR_PUBKEYS、NEUROCHAIN_IBC_TRUSTED_PUBKEYS、NEUROCHAIN_IBC_REQUIRE_HEADER、NEUROCHAIN_IBC_REQUIRE_PACKET_COMMITMENT、NEUROCHAIN_IBC_TIMEOUT_BLOCKS、NEUROCHAIN_IBC_MAX_PACKET_UNRO、NEUROCHAIN_IBC_MAX_CHANNEL_ESCROW_UNRO、NEUROCHAIN_IBC_NATIVE_DENOM。
原生资产
| 变量 | 默认值 | 含义 |
|---|---|---|
NEUROCHAIN_ASSET_ISSUERS | — | 创世时被授予 verified 发行方等级的地址 |
NEUROCHAIN_RESERVED_SYMBOLS | — | 创世时保留的代码 |
NEUROCHAIN_RESERVED_NAMES | — | 创世时为所有付费地址和资产名称保留的名称:name 或 `name |
NEUROCHAIN_VALIDATOR_OWNER | — | 未设置 NEUROCHAIN_GENESIS_VALIDATORS 时,单个自验证者的所有者 .human(mainnet 上必填) |
两者都只在创世时读取一次;此后注册表只能通过治理变更。
访问与限制
| 变量 | 默认值 | 含义 |
|---|---|---|
NEUROCHAIN_RPC_RATE_LIMIT | 100 | 每个 IP 每秒的 RPC 请求数 |
CORS_ALLOWED_ORIGINS | * | 允许的浏览器来源 |
NEUROCHAIN_INTERNAL_TOKEN | — | 内部端点要求的 X-Internal-Token |
NEUROCHAIN_SNAPSHOT_TOKEN | — | /api/v1/state/snapshot 要求的 bearer 令牌 |
NEUROCHAIN_ALLOW_SERVER_DERIVE | false | 在测试网络上允许 POST /api/v1/wallet/derive-address(会接收恢复助记词);mainnet 上始终关闭 |
RUST_LOG | neurochain=info,warn | 日志级别 |
Gateway
在 Gateway 页面中附有说明:PORT、NODE_RPC_URL、NEUROCHAIN_SHARD_NODES、SHARD_NODE_URLS、NETWORK_ID、CORS_ALLOWED_ORIGINS、TLS_CERT、TLS_KEY,速率限制(GLOBAL_RL_MAX_RPS、AI_RL_MAX_RPM、WS_*),链监视(POLL_NODE_INTERVAL_MS、SENTINEL_*、ALERT_COOLDOWN_MS),水龙头(FAUCET_AMOUNT、FAUCET_COOLDOWN_SECS、REDIS_URL)以及 AI 工具(ANTHROPIC_API_KEY、SMARTFORGE_*、AI_EXPORT_TOKEN、ASSISTANT_*)。
Web 应用
| 变量 | 默认值 | 含义 |
|---|---|---|
WEB_PORT | 8080 | 开发服务器端口 |
WEB_HOST | localhost | 开发服务器绑定地址;设为 0.0.0.0 可在网络上暴露 |
GATEWAY_URL | http://localhost:3000 | 开发服务器将 /api 和 /ws 代理到的 gateway |
VUE_APP_NEUROCHAIN_RPC | —(同源) | 将固定的 API 基础 URL 写入构建产物 |
VUE_APP_SITE_URL, VUE_APP_SITE_NAME, VUE_APP_SITE_OG_IMAGE | — | 已部署应用的元数据 |
VUE_APP_DOCS_URL | — | 指向本文档的链接 |
文档站点
| 变量 | 默认值 | 含义 |
|---|---|---|
DOCS_SITE_URL | https://docs.nro.world | 规范 URL、sitemap、hreflang、llms.txt |
DOCS_OG_IMAGE | /og-image.png | 社交分享预览图 |
DOCS_GOOGLE_SITE_VERIFICATION, DOCS_BING_SITE_VERIFICATION | — | 搜索控制台的所有权验证令牌 |
DOCS_HOST, DOCS_PORT | localhost, 5173 | 开发服务器 |
DOCS_BASE | / | 基础路径 |
MCP 服务器
| 变量 | 默认值 | 含义 |
|---|---|---|
NEUROCHAIN_MCP_CONFIG | — | JSON 配置文件的路径——参见 AI 智能体(MCP) |