31 lines
1019 B
TypeScript
31 lines
1019 B
TypeScript
|
|
import { createPublicClient, http, formatEther } from 'viem'
|
||
|
|
import { arbitrumSepolia } from 'viem/chains'
|
||
|
|
import { mnemonicToAccount } from 'viem/accounts'
|
||
|
|
|
||
|
|
const client = createPublicClient({
|
||
|
|
chain: arbitrumSepolia,
|
||
|
|
transport: http('https://sepolia-rollup.arbitrum.io/rpc'),
|
||
|
|
})
|
||
|
|
|
||
|
|
const MAIN_ADDRESS = '0xa013422A5918CD099C63c8CC35283EACa99a705d'
|
||
|
|
const TEST_MNEMONIC = 'test test test test test test test test test test test junk'
|
||
|
|
|
||
|
|
async function main() {
|
||
|
|
console.log('📊 所有账户 ETH 余额:\n')
|
||
|
|
|
||
|
|
// 主账户
|
||
|
|
const mainBalance = await client.getBalance({ address: MAIN_ADDRESS })
|
||
|
|
console.log(`主账户: ${MAIN_ADDRESS}`)
|
||
|
|
console.log(` ETH: ${formatEther(mainBalance)}\n`)
|
||
|
|
|
||
|
|
// 测试账户
|
||
|
|
console.log('测试账户:')
|
||
|
|
for (let i = 0; i < 5; i++) {
|
||
|
|
const account = mnemonicToAccount(TEST_MNEMONIC, { addressIndex: i })
|
||
|
|
const balance = await client.getBalance({ address: account.address })
|
||
|
|
console.log(` ${i + 1}. ${account.address}: ${formatEther(balance)} ETH`)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
main()
|