File size: 1,473 Bytes
bab1185
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
// scripts/deploy.js
const { ethers } = require("hardhat");

async function main() {
  const [deployer] = await ethers.getSigners();
  
  console.log("Deploying contracts with the account:", deployer.address);
  console.log("Account balance:", (await deployer.getBalance()).toString());

  // Define deployment parameters
  const fee = ethers.utils.parseEther("0.01"); // 0.01 ETH per request
  const oracleNodeAddress = deployer.address; // For testing, use deployer as oracle
  
  console.log(`Deploying with fee: ${ethers.utils.formatEther(fee)} ETH`);
  console.log(`Oracle node address: ${oracleNodeAddress}`);

  // Deploy the QuantumRandomnessOracle contract
  const QuantumRandomnessOracle = await ethers.getContractFactory("QuantumRandomnessOracle");
  const oracleContract = await QuantumRandomnessOracle.deploy(fee, oracleNodeAddress);
  
  await oracleContract.deployed();

  console.log("QuantumRandomnessOracle deployed to:", oracleContract.address);

  // Save deployment info
  const fs = require("fs");
  const deploymentInfo = {
    contractAddress: oracleContract.address,
    deployer: deployer.address,
    fee: fee.toString(),
    timestamp: new Date().toISOString()
  };

  fs.writeFileSync("deployments/deployment.json", JSON.stringify(deploymentInfo, null, 2));
  console.log("Deployment info saved to deployments/deployment.json");
}

main()
  .then(() => process.exit(0))
  .catch((error) => {
    console.error(error);
    process.exit(1);
  });