Selendra

Documentation

Testnet Troubleshooting

Solve common issues when connecting to and using Selendra testnet

Troubleshooting guide for Selendra testnet connection, deployment, and transaction issues.

Quick Diagnosis

Check Status:

Test RPC:

curl -X POST -H "Content-Type: application/json" \
  --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
  https://rpc-testnet.selendra.org

Connection Issues

MetaMask Network Setup

Config:

  • Network: Selendra Testnet
  • RPC: https://rpc-testnet.selendra.org
  • Chain ID: 1953 (hex: 0x7a1)
  • Symbol: tSEL
  • Explorer: https://explorer-testnet.selendra.org

Programmatic:

await window.ethereum.request({
  method: "wallet_addEthereumChain",
  params: [
    {
      chainId: "0x7a1",
      chainName: "Selendra Testnet",
      rpcUrls: ["https://rpc-testnet.selendra.org"],
      nativeCurrency: { name: "Test SEL", symbol: "tSEL", decimals: 18 },
      blockExplorerUrls: ["https://explorer-testnet.selendra.org"],
    },
  ],
});

Wrong Chain ID

Reset: Settings → Advanced → Reset Account, then re-add with Chain ID 1953

Verify:

const chainId = await window.ethereum.request({ method: "eth_chainId" });
console.log(chainId); // Should be "0x7a1"

RPC Timeout

Increase Hardhat timeout:

module.exports = {
  networks: {
    testnet: {
      url: "https://rpc-testnet.selendra.org",
      timeout: 60000,
    },
  },
};

Token Issues

Insufficient Funds

Get tSEL:

Check balance:

const balance = await provider.getBalance("YOUR_ADDRESS");
console.log(ethers.formatEther(balance), "tSEL");

Faucet Limits

  • 3 requests per 24 hours
  • Requires minimum 0.01 tSEL (anti-spam)
  • Use different address if limit reached

Deployment Issues

Gas Estimation

const estimatedGas = await provider.estimateGas(deployTx);

// Deploy with higher limit
const contract = await ContractFactory.deploy({
  gasLimit: 3000000,
  gasPrice: ethers.parseUnits("2", "gwei"),
});

Transaction Underpriced

const gasPrice = await provider.getFeeData();
const tx = await contract.myFunction({
  gasPrice: ethers.parseUnits("5", "gwei"),
});

Transaction Issues

Stuck Pending

Check nonce:

const nonce = await provider.getTransactionCount(address, "pending");

Replace with higher gas:

await sender.sendTransaction({
  to: "0x0000000000000000000000000000000000000000",
  value: 0,
  nonce: nonce,
  gasPrice: ethers.parseUnits("10", "gwei"),
});

Nonce Too Low

Reset MetaMask: Settings → Advanced → Reset Account

Manual nonce:

const nonce = await provider.getTransactionCount(address);
const tx = await contract.myFunction({ nonce });

Hardhat Issues

Network Detection

Verify config:

module.exports = {
  networks: {
    testnet: {
      url: "https://rpc-testnet.selendra.org",
      chainId: 1953,
      accounts: [process.env.PRIVATE_KEY],
      gasPrice: 1000000000,
    },
  },
};

Test:

npx hardhat console --network testnet

Module Errors

rm -rf node_modules package-lock.json
npm install

# Verify Node.js 18+
node --version

Browser Issues

MetaMask Connection

Enable access: MetaMask → Settings → Connections

Request accounts:

await window.ethereum.request({ method: "eth_requestAccounts" });

Wrong Account

const accounts = await window.ethereum.request({
  method: "eth_requestAccounts",
});
console.log("Active:", accounts[0]);

Performance

Slow Deployments

Test locally first:

selendra --dev --tmp
npx hardhat test

Optimize contract:

uint256 public immutable TOTAL_SUPPLY; // Use immutable
event DebugInfo(string message);       // Use events

Getting Help

Support:

  • Telegram: t.me/selendranetwork
  • GitHub: github.com/selendra/selendra/issues
  • Docs: Connect Guide

Include when reporting:

{
  "chainId": 1953,
  "error": "Exact error message",
  "environment": "Node 18, Hardhat 2.x",
  "transactionHash": "If applicable"
}

Checklist

Before asking for help:

  • Testnet status shows operational
  • RPC responds to eth_blockNumber
  • Chain ID is 1953 in MetaMask
  • Wallet has sufficient tSEL
  • Code works on local node
  • Private key has 0x prefix

Best Practices

  • Always test locally first
  • Use .env for private keys (never commit)
  • Monitor gas usage
  • Don't use mainnet keys on testnet
  • Document test addresses per project
Contribute

Found an issue or want to contribute?

Help us improve this documentation by editing this page on GitHub.

Edit this page on GitHub