Truffle

Verify your SmartContract using Truffle

Verifying Contracts on Lumia L2 with Truffle

Truffle is a popular development framework for Ethereum and compatible networks like Lumia L2. It provides a convenient way to verify contracts directly from the command line interface (CLI) using the truffle-plugin-verify plugin.

In this tutorial, we'll guide you through the process of verifying your contracts on the Lumia L2 network using Truffle.

Prerequisites

Before getting started, ensure that you have the following:

  • Truffle installed globally: npm install -g truffle

  • truffle-plugin-verify plugin installed: npm install -g truffle-plugin-verify

  • A Lumia L2 Explorer API key

Lumia L2 Testnet

Let's start by verifying a contract on the Lumia L2 Testnet. You can explore the Lumia L2 Testnet Explorer to view verified contracts and transactions.

  1. Open your Truffle configuration file (truffle-config.js) and add the following configuration:

module.exports = {
  // ...
  plugins: ['truffle-plugin-verify'],
  api_keys: {
    lumia_l2_explorer: 'YOUR_LUMIA_L2_EXPLORER_API_KEY',
  },
  networks: {
    lumia_testnet: {
      provider: () => new HDWalletProvider(mnemonic, 'https://testnet-rpc.lumia.org/'),
      network_id: 1001,
      timeoutBlocks: 200,
      confirmations: 5,
    },
  },
  // ...
};

Make sure

YOUR_LUMIA_L2_EXPLORER_API_KEY - this is just an arbtrary key as Blockscout does not need an API key for verification

  1. Deploy your contracts to the Lumia L2 Testnet:

truffle migrate --network lumia_testnet
  1. Verify your contracts using the truffle run verify command:

truffle run verify ConvertLib MetaCoin --network lumia_testnet

Replace ConvertLib and MetaCoin with the names of your contract.

  1. Wait for the verification process to complete. Truffle will display a success message once the contracts are verified.

  2. View your verified contracts on the Lumia L2 Testnet Explorer.

Lumia L2 Mainnet

To verify your contracts on the Lumia L2 Mainnet, follow these steps:

  1. Update your Truffle configuration file (truffle-config.js) with the Lumia L2 Mainnet settings:

module.exports = {
  // ...
  plugins: ['truffle-plugin-verify'],
  api_keys: {
    lumia_l2_explorer: 'YOUR_LUMIA_L2_EXPLORER_API_KEY',
  },
  networks: {
    lumia_mainnet: {
      provider: () => new HDWalletProvider(mnemonic, 'https://mainnet.lumia.org'),
      network_id: 8888,
      timeoutBlocks: 200,
      confirmations: 5,
    },
  },
  // ...
};

Replace 'YOUR_LUMIA_L2_EXPLORER_API_KEY' with your actual Lumia L2 Explorer API key.

  1. Deploy your contracts to the Lumia L2 Mainnet:

truffle migrate --network lumia_mainnet
  1. Verify your contracts using the truffle run verify command:

truffle run verify ConvertLib MetaCoin --network lumia_mainnet
  1. Wait for the verification process to complete. Truffle will display a success message once the contracts are verified.

  2. View your verified contracts on the Lumia L2 Mainnet Explorer.

If you encounter any issues during the verification process, feel free to reach out to the Lumia L2 community on Discord for assistance.

By following this tutorial, you can easily verify your contracts on the Lumia L2 network using Truffle, enhancing the transparency and trust in your decentralized applications.

Last updated