57 lines
1.7 KiB
TypeScript
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;
|