Developer Portal

Lumina Official SDKs

Standard development kits for building on Lumina Blockchain.

Introduction

Connect your app to Lumina with our highly optimized SDKs. We provide full support for ED25519 security and Bech32m addresses.

Installation

npm install lumina-blockchain-sdk

Wallet Management

random_wallet.js
import { LuminaWallet } from 'lumina-blockchain-sdk';

// Generate a new random wallet
const wallet = LuminaWallet.createRandom();
console.log("Address:", wallet.getAddress());
import_mnemonic.js
// Import from BIP39 Mnemonic
const mnemonic = "your twelve words here...";
const wallet = LuminaWallet.fromMnemonic(mnemonic);
console.log("Private Key:", wallet.privateKey);

RPC Client

get_balance.js
const client = new LuminaClient('https://rpc1.bariscode.my.id');

// Get account balance and nonce
const state = await client.getBalance('lumina1...');
console.log("Balance:", state.balance);
network_stats.js
// Monitor network health
const stats = await client.getNetworkStats();
console.log("Current Height:", stats.height);

Sending Transactions

transfer.js
// High-level transfer method
const amount = 100.5;
const result = await client.sendTransaction(
  wallet,
  'lumina1target...',
  amount
);
console.log("TX Hash:", result.hash);

Staking & Validators

1. Hardware Requirements

To maintain "Velocity" (high-performance consensus), nodes must meet these specs:

CPU8+ Cores (Modern)
RAM16GB+ DDR4/5
Disk512GB+ NVMe SSD
Net1Gbps+ Symmetric

2. Deploy Node (Native)

Build and run the Lumina node directly from source using Cargo:

terminal
# 1. Clone the repository
git clone https://github.com/boomsatu/lumina-blockchain
cd lumina-blockchain

# 2. Build the node in release mode
cargo build --release -p lumina-node

# 3. Run the node
./target/release/lumina-node

3. Stake for Validator

Use the SDK to sign and send a staking transaction. 10,000 LUM will be locked in your wallet's staked balance.

Option A: Using Mnemonic (Recommended)
// Option A: User Friendly (Mnemonic)
const wallet = LuminaWallet.fromMnemonic('twelve words...');
const client = new LuminaClient('https://rpc1.bariscode.my.id');

const tx = await wallet.createStakeTransaction(client, {
  amount: "10000",
  nodeId: "node_id"
});
await client.sendTransaction(tx);
Option B: Using Private Key (Hex)
// Option B: Developer/Bot (Private Key Hex)
const wallet = new LuminaWallet('0x...');
const client = new LuminaClient('https://rpc1.bariscode.my.id');

const tx = await wallet.createStakeTransaction(client, {
  amount: "10000",
  nodeId: "node_id"
});
await client.sendTransaction(tx);

Build it your way

Join our developer working group and help us expand the Lumina ecosystem.