Files
LexiChain/blockchain/hardhat.config.ts
2026-04-22 11:04:59 +01:00

57 lines
1.7 KiB
TypeScript

import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
// ─────────────────────────────────────────────────
// Hardhat Configuration
// ─────────────────────────────────────────────────
// This file configures the Solidity compiler and
// network settings for our smart contract.
//
// Networks:
// - hardhat (default): In-memory local blockchain, free & instant
// - localhost: Persistent local node via `npx hardhat node`
// - sepolia: Ethereum testnet for demo/presentation
// ─────────────────────────────────────────────────
const config: HardhatUserConfig = {
solidity: {
version: "0.8.24",
settings: {
optimizer: {
enabled: true,
runs: 200,
},
},
},
networks: {
// Local persistent node (run `npx hardhat node` first)
localhost: {
url: "http://127.0.0.1:8545",
},
// Ethereum Sepolia testnet (free, for demo/jury presentation)
// Requires SEPOLIA_RPC_URL and DEPLOYER_PRIVATE_KEY in env
...(process.env.SEPOLIA_RPC_URL
? {
sepolia: {
url: process.env.SEPOLIA_RPC_URL,
accounts: process.env.DEPLOYER_PRIVATE_KEY
? [process.env.DEPLOYER_PRIVATE_KEY]
: [],
chainId: 11155111,
},
}
: {}),
},
paths: {
sources: "./contracts",
tests: "./test",
cache: "./cache",
artifacts: "./artifacts",
},
};
export default config;