# ───────────────────────────────────────────────────────────────────────── # NoxOracle — environment template # Copy to `.env` and fill in. `.env` is gitignored — NEVER commit real keys. # Use THROWAWAY keys only. Sepolia testnet ONLY — never mainnet. # cp .env.example .env # ───────────────────────────────────────────────────────────────────────── # ── Deployer EOA ───────────────────────────────────────────────────────── # A throwaway account that deploys NoxOraclePool + the market and signs demo # txs. It is also the market oracle. Fund ~0.03 Sepolia ETH before deploy/e2e. # # 1. Generate a fresh private key: # openssl rand -hex 32 # prefix output with 0x below # 2. Derive its address: # node -e "console.log(new (require('ethers').Wallet)('0x').address)" # 3. Fund the address from a Sepolia faucet: # https://sepoliafaucet.com · https://faucet.quicknode.com/ethereum/sepolia # https://www.alchemy.com/faucets/ethereum-sepolia DEPLOYER_ADDRESS=0xYourDeployerAddress DEPLOYER_PRIVATE_KEY=0xYourThrowawayPrivateKey # Scripts read PRIVATE_KEY as the signer — keep it identical to DEPLOYER_PRIVATE_KEY. PRIVATE_KEY=0xYourThrowawayPrivateKey # ── Network (Ethereum Sepolia) ─────────────────────────────────────────── # Any Sepolia JSON-RPC endpoint works. The public node below needs no signup # but is rate-limited; for reliable e2e use a free Alchemy/Infura key: # Alchemy: https://dashboard.alchemy.com → Create App → Ethereum → Sepolia # Infura: https://app.infura.io → API Key → Sepolia endpoint SEPOLIA_RPC_URL=https://ethereum-sepolia-rpc.publicnode.com # Chain id is fixed for Sepolia — do not change. CHAIN_ID=11155111 # ── Nox protocol (NoxCompute — TEE ACL + proof validation on Sepolia) ──── # Fixed, already-deployed protocol contract. Leave as-is unless iExec # redeploys it. Re-verify the current address from the Nox docs /networks # page: https://docs.iex.ec (Nox protocol contract, Sepolia). NOX_PROTOCOL_ADDRESS=0x24ef36ec5b626d7dcd09a98f3083c2758f0f77bf # ── Reused Sepolia deployments (shared with NoxSend) ───────────────────── # The confidential-USD wrapper + its DemoUSD underlying are already live and # reused here — do NOT redeploy them on the funded run. Leave as-is; only # change if you deploy your own DemoUSD/cUSD pair. DEMO_USD_ADDRESS=0x486c4B8009ACf0BfE26268512F27200e48BD735C CONFIDENTIAL_USD_ADDRESS=0x82C281D7403e44d61968c2F49751a56877468991 # ── Demo actors (deterministic Alice / Bob / Carol / Dana bettors) ─────── # A throwaway BIP-39 mnemonic the e2e derives its bettor actors from, so runs # are reproducible. NOT the public Hardhat test mnemonic. Generate your own: # node -e "console.log(require('ethers').Wallet.createRandom().mnemonic.phrase)" DEMO_MNEMONIC=salmon banner pull inherit obey run shy treat embody joke rubber connect # ── Etherscan source verification (optional) ───────────────────────────── # Only needed to publish NoxOraclePool source so judges can read it: # npx hardhat verify --network sepolia # Free key, ~1 min: # https://etherscan.io/myapikey → Add → copy the ~34-char key (no 0x prefix) ETHERSCAN_API_KEY=