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:
- Status: https://status.selendra.org
- RPC: https://rpc-testnet.selendra.org/health
- Explorer: https://explorer-testnet.selendra.org
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:
- Faucet: https://faucet.selendra.org
- Telegram:
@selendratestnetbot→/faucet YOUR_ADDRESS
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.
