HardHat

Hardhat Setup

💡 New to Hardhat? Check out the Hardhat Quick Start Guide for basics.

Project Setup

1. Configure Your Account

To deploy contracts to UOMI networks, you'll need to export your private key from MetaMask:

  1. Open MetaMask

  2. Select your account

  3. Click the three dots menu

  4. Go to "Account Details"

  5. Select "Export Private Key"

  6. Enter your password to confirm

You'll get a 64-character hex string like:

60ed0dd24087f00faea4e2b556c74ebfa2f0e705f8169733b01530ce4c619883

2. Store Your Private Key

Create private.json in your project root:

{
  "privateKey": "YOUR_PRIVATE_KEY_HERE"
}

⚠️ Security Warning Never commit your private key to version control. Add private.json to your .gitignore file.

3. Configure Networks

Modify your hardhat.config.js:

const { privateKey } = require("./private.json");

module.exports = {
  networks: {
    // Finney Testnet
    finney: {
      url: "https://finney.uomi.ai",
      chainId: XXX,
      accounts: [privateKey],
    },
  }
};

4. Deploy Your Contract

npx hardhat run --network finney scripts/deploy.js

Truffle Setup

Prerequisites

Install the HD Wallet Provider:

npm install @truffle/hdwallet-provider

Configuration

Modify your truffle-config.js:

const HDWalletProvider = require('@truffle/hdwallet-provider');
const { privateKey } = require('./private.json');

module.exports = {
  networks: {
    // Finney Testnet
    finney: {
      provider: () => new HDWalletProvider(
        privateKey,
        'https://finney.uomi.ai'
      ),
      network_id: XXX,
    },
  }
};

Deployment

Deploy to your chosen network:

truffle migrate --network finney

💡 Note If no network is specified, Truffle will use the default development network.

Last updated