LUMIA Migration Sepolia -> Beam

Overview

Lumia is transitioning its LUMIA testnet token from the Sepolia Ethereum testnet to the Beam Network. This includes deploying bridging infrastructure and token contracts on Beam to support testnet users and developers in the new environment.

Bridging LUMIA Tokens from Sepolia to Beam

To bridge your testnet LUMIA tokens:

  1. Visit the official Lumia Beam Bridge.

  2. Click Connect a wallet and proceed to connect your wallet on the Sepolia network.

  3. Select the amount of LUMIA tokens to bridge and click Continue.

  4. Confirm the approval transaction in your wallet and confirm the sending transaction.

  5. At the Lumia Beam Bridge click Add a network and confirm adding Beam network to your wallet.

  6. You will see your bridged LUMIA on the Beam testnet wallet once the transaction is finalized.

URLs

Blockscout: https://beam-explorer.lumia.org RPC: https://beam-rpc.lumia.org Faucet: https://beam-faucet.lumia.org Bridge: https://beam-bridge.lumia.org

Lumia on Beam Contract Addresses & Roles

Contract
Address
Purpose

0x528e26b25a34a4A5d0dbDa1d57D318153d2ED582

Handles bridging of LUMIA between Sepolia and Beam

0x660100aA52d5A2B1dF9b57680CeCaE15EBD5d413

Address responsible for ordering transactions in the Beam rollup

ClaimTxManager (Layer 2)

0x1f4081a1b03472bcEC12aa15deEa2Edd117D4CE1

Address that submits claim transactions

CoinBase (Fee Collector)

0x6089EA70f401Df85Aa3fCE90CE3ffbA6C4206eE8

Address that accumulates gas fees collected on Beam

0x078413b8b5a2614081813619c594fE84Ef839535

Handles LUMIA token burning logic


Interacting with the Contracts

Developers and Advanced Users can interact directly with the contracts. Code examples for interaction: Solidity

// SPDX-License-Identifier: MIT pragma solidity ^0.8.19;

import "forge-std/Script.sol";

interface ILumiaBridge { 
    function sendToBeam(address recipient, uint256 amount) external; 
}

contract BridgeLumia is Script { 
    address constant BRIDGE = 0x528e26b25a34a4A5d0dbDa1d57D318153d2ED582; 
    address constant TOKEN = /* Sepolia token contract address, if needed for approve */;

    function run() external {
        address user = vm.envAddress("USER_ADDRESS");
        uint256 amount = 1e18; // 1 LUMIA

        vm.startBroadcast();

        ILumiaBridge(BRIDGE).sendToBeam(user, amount);

        vm.stopBroadcast();
    }
}

ethers.js

const { ethers } = require("ethers");

const BRIDGE_ADDRESS = "0x528e26b25a34a4A5d0dbDa1d57D318153d2ED582";
const BRIDGE_ABI = [
  "function sendToBeam(address recipient, uint256 amount) external"
];

async function main() {
  const provider = new ethers.JsonRpcProvider("https://rpc.sepolia.org");
  const wallet = new ethers.Wallet("YOUR_PRIVATE_KEY", provider);

  const bridge = new ethers.Contract(BRIDGE_ADDRESS, BRIDGE_ABI, wallet);

  const recipient = "0xYourBeamWalletAddress";
  const amount = ethers.parseUnits("1", 18); // 1 LUMIA

  const tx = await bridge.sendToBeam(recipient, amount);
  console.log("Tx sent:", tx.hash);

  await tx.wait();
  console.log("Bridged successfully");
}

main().catch(console.error);

Recommendations

  • If needed, add Beam Testnet to MetaMask using provided RPC/ChainID:

    RPC URL: https://beam-rpc.lumia.org
    Chain ID: 2030232745
    Explorer: https://beam-explorer.lumia.org
  • Bridge only small amounts of test tokens first to validate the process.

  • Monitor transactions on the explorer: https://beam-explorer.lumia.org.

  • If you're building on top of Lumia/Beam, consider:

    • Verifying custom contracts on the Beam Blockscout.

    • Registering your Chain ID in global registries to ensure broader tool compatibility.

  • Token Faucet: Use https://beam-faucet.lumia.org for testnet tokens to cover gas fees.

  • Security: Ensure you verify contract interactions and ABIs before executing write functions directly.

Last updated

Was this helpful?