Overview
Configure Paxeer Network in your applications using wagmi, viem, ethers.js, or web3.js.Network Details
| Parameter | Value |
|---|---|
| Chain ID | 229 |
| Network Name | Paxeer Network |
| Native Currency | PAX (Paxeer) |
| Decimals | 18 |
| RPC Endpoint | https://public-rpc.paxeer.app/rpc |
| Block Explorer | https://scan.paxeer.app |
| Explorer API | https://scan.paxeer.app/api |
Configuration by Library
- wagmi
- viem
- ethers.js
- web3.js
wagmi Configuration
Setup Paxeer Network with wagmi for React applications.wagmi-config.ts
Copy
import { createConfig, http } from 'wagmi'
import { defineChain } from 'viem'
export const paxeer = defineChain({
id: 229,
name: 'Paxeer Network',
network: 'paxeer',
nativeCurrency: {
decimals: 18,
name: 'Paxeer',
symbol: 'PAX',
},
rpcUrls: {
default: {
http: ['https://public-rpc.paxeer.app/rpc'],
},
public: {
http: ['https://public-rpc.paxeer.app/rpc'],
},
},
blockExplorers: {
default: {
name: 'PaxeerScan',
url: 'https://scan.paxeer.app',
apiUrl: 'https://scan.paxeer.app/api',
},
},
})
export const config = createConfig({
chains: [paxeer],
transports: {
[paxeer.id]: http(),
},
})
Usage in React
App.tsx
Copy
import { WagmiProvider } from 'wagmi'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { config } from './wagmi-config'
const queryClient = new QueryClient()
function App() {
return (
<WagmiProvider config={config}>
<QueryClientProvider client={queryClient}>
<YourApp />
</QueryClientProvider>
</WagmiProvider>
)
}
Install required packages:
npm install wagmi viem @tanstack/react-queryviem Configuration
Setup Paxeer Network with viem for TypeScript applications.viem-config.ts
Copy
import { createPublicClient, http, defineChain } from 'viem'
export const paxeer = defineChain({
id: 229,
name: 'Paxeer Network',
network: 'paxeer',
nativeCurrency: {
decimals: 18,
name: 'Paxeer',
symbol: 'PAX',
},
rpcUrls: {
default: {
http: ['https://public-rpc.paxeer.app/rpc'],
},
},
blockExplorers: {
default: {
name: 'PaxeerScan',
url: 'https://scan.paxeer.app',
},
},
})
export const publicClient = createPublicClient({
chain: paxeer,
transport: http(),
})
Usage
Copy
import { publicClient } from './viem-config'
// Get block number
const blockNumber = await publicClient.getBlockNumber()
// Get balance
const balance = await publicClient.getBalance({
address: '0x...',
})
// Read contract
const data = await publicClient.readContract({
address: '0x...',
abi: contractAbi,
functionName: 'balanceOf',
args: ['0x...'],
})
Install viem:
npm install viemethers.js Configuration
Setup Paxeer Network with ethers.js v6.ethers-config.js
Copy
import { ethers } from 'ethers'
const paxeerNetwork = {
chainId: 229,
name: 'Paxeer Network',
}
// Connect to Paxeer Network
const provider = new ethers.JsonRpcProvider(
'https://public-rpc.paxeer.app/rpc',
paxeerNetwork
)
export { provider }
Usage
Copy
import { provider } from './ethers-config'
// Get block number
const blockNumber = await provider.getBlockNumber()
console.log('Current block:', blockNumber)
// Get balance
const balance = await provider.getBalance('0x...')
console.log('Balance:', ethers.formatEther(balance), 'PAX')
// Get signer from MetaMask
const signer = await provider.getSigner()
// Send transaction
const tx = await signer.sendTransaction({
to: '0x...',
value: ethers.parseEther('1.0'),
})
await tx.wait()
// Interact with contract
const contract = new ethers.Contract(
contractAddress,
contractABI,
signer
)
await contract.transfer('0x...', ethers.parseEther('10'))
Install ethers:
npm install ethers@6web3.js Configuration
Setup Paxeer Network with web3.js v4.web3-config.js
Copy
import Web3 from 'web3'
// Connect to Paxeer Network
const web3 = new Web3('https://public-rpc.paxeer.app/rpc')
export { web3 }
Usage
Copy
import { web3 } from './web3-config'
// Get network ID
const networkId = await web3.eth.net.getId()
console.log('Network ID:', networkId) // 229
// Get current block number
const blockNumber = await web3.eth.getBlockNumber()
console.log('Current block:', blockNumber)
// Get balance
const balance = await web3.eth.getBalance(address)
console.log('Balance:', web3.utils.fromWei(balance, 'ether'), 'PAX')
// Send transaction
const receipt = await web3.eth.sendTransaction({
from: fromAddress,
to: toAddress,
value: web3.utils.toWei('1', 'ether'),
})
// Interact with contract
const contract = new web3.eth.Contract(contractABI, contractAddress)
await contract.methods.transfer(toAddress, amount).send({
from: fromAddress,
})
Install web3.js:
npm install web3@4MetaMask Configuration
Add Paxeer Network to MetaMask programmatically:Copy
async function addPaxeerNetwork() {
try {
await window.ethereum.request({
method: 'wallet_addEthereumChain',
params: [
{
chainId: '0xe5', // 229 in hex
chainName: 'Paxeer Network',
nativeCurrency: {
name: 'Paxeer',
symbol: 'PAX',
decimals: 18,
},
rpcUrls: ['https://public-rpc.paxeer.app/rpc'],
blockExplorerUrls: ['https://scan.paxeer.app'],
},
],
});
console.log('Paxeer Network added to MetaMask');
} catch (error) {
console.error('Error adding network:', error);
}
}
Environment Variables
Store your configuration in environment variables:.env
Copy
# Paxeer Network Configuration
PAXEER_RPC_URL=https://public-rpc.paxeer.app/rpc
PAXEER_CHAIN_ID=229
PAXEER_EXPLORER=https://scan.paxeer.app
# Your private key (NEVER commit this!)
PRIVATE_KEY=your_private_key_here
Never commit private keys or sensitive credentials to version control. Use environment variables and add
.env to your .gitignore.Hardhat Configuration
hardhat.config.js
Copy
require("@nomicfoundation/hardhat-toolbox");
require('dotenv').config();
module.exports = {
solidity: "0.8.20",
networks: {
paxeer: {
url: process.env.PAXEER_RPC_URL,
chainId: parseInt(process.env.PAXEER_CHAIN_ID),
accounts: [process.env.PRIVATE_KEY],
},
},
etherscan: {
apiKey: {
paxeer: process.env.ETHERSCAN_API_KEY || "YOUR_API_KEY",
},
customChains: [
{
network: "paxeer",
chainId: 229,
urls: {
apiURL: "https://scan.paxeer.app/api",
browserURL: "https://scan.paxeer.app",
},
},
],
},
};
Foundry Configuration
foundry.toml
Copy
[profile.default]
src = "src"
out = "out"
libs = ["lib"]
solc_version = "0.8.20"
[rpc_endpoints]
paxeer = "https://public-rpc.paxeer.app/rpc"
[etherscan]
paxeer = { key = "${ETHERSCAN_API_KEY}", url = "https://scan.paxeer.app/api" }
Testing Connection
Verify your configuration is working:Copy
import { publicClient } from './viem-config'
async function testConnection() {
try {
const blockNumber = await publicClient.getBlockNumber()
console.log('✅ Connected! Current block:', blockNumber)
console.log('✅ Chain ID:', publicClient.chain.id)
} catch (error) {
console.error('❌ Connection failed:', error)
}
}
testConnection()