检查 ETH 地址的余额并使用 Node js 导出到文件

问题描述 投票:0回答:1

我有一个文件,其中包含超过 100 万个以上的以太坊地址和私钥,它们组合在一个文件中,仅使用“,”分隔。

示例:

0x7256bCf73C2309893AA12d6b26A142AB3097560c,0x5281130a3a84f531a1e30649a881207a65ce17fae084e0ae6e78xxxxxxxxxxxx

我想使用nodejs检查该行中每个地址的余额是否大于0.000,然后将有效地址连同私钥导出到另一个文件。

每当运行脚本时,我总是遇到此错误。


        var error = new Error(message);
                    ^

Error: could not detect network (event="noNetwork", code=NETWORK_ERROR, version=providers/5.6.8)
    at Logger.makeError (C:\Users\Asus\Downloads\eth-fast-mnemonic-checker-main\eth-fast-mnemonic-checker-main\node_modules\@ethersproject\logger\lib\index.js:233:21)
    at Logger.throwError (C:\Users\Asus\Downloads\eth-fast-mnemonic-checker-main\eth-fast-mnemonic-checker-main\node_modules\@ethersproject\logger\lib\index.js:242:20)
    at WebSocketProvider.<anonymous> (C:\Users\Asus\Downloads\eth-fast-mnemonic-checker-main\eth-fast-mnemonic-checker-main\node_modules\@ethersproject\providers\lib\json-rpc-provider.js:561:54)
    at step (C:\Users\Asus\Downloads\eth-fast-mnemonic-checker-main\eth-fast-mnemonic-checker-main\node_modules\@ethersproject\providers\lib\json-rpc-provider.js:48:23)
    at Object.throw (C:\Users\Asus\Downloads\eth-fast-mnemonic-checker-main\eth-fast-mnemonic-checker-main\node_modules\@ethersproject\providers\lib\json-rpc-provider.js:29:53)
    at rejected (C:\Users\Asus\Downloads\eth-fast-mnemonic-checker-main\eth-fast-mnemonic-checker-main\node_modules\@ethersproject\providers\lib\json-rpc-provider.js:21:65)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  reason: 'could not detect network',
  code: 'NETWORK_ERROR',
  event: 'noNetwork'
}

这是初始脚本,如果您能为我修复错误,我将不胜感激,谢谢。

const fs = require('fs')
const ethers = require('ethers')
require('colors')

const provider = new ethers.providers.WebSocketProvider(
    'wss://eth-mainnet.g.alchemy.com/v2/k5d8RoDGOyxZmVWy2UPNowQlqFoZM3TX'
)

const addresses = fs
    .readFileSync('hits.txt', 'utf8')
    .split('\n')
    .map((val) => {
        return val.split(',')
    })

;(async () => {
    for (let i = 0; i < addresses.length; i++) {
        const address = addresses[i][0]
        const balance = await provider.getBalance(address)

        if (balance.gt(0)) {
            console.log(address.bgGreen.black, balance.toString().bgGreen.black)
            console.log('Private Key: '.yellow, addresses[i][1])
        } else {
            console.log(address, 0)
        }
    }
})()
node.js ethereum node-modules ethers.js alchemy
1个回答
0
投票

您使用了错误的端点域。

根据 文档,WebSocket 连接端点的域是 eth-mainnet.ws.g.alchemy.com(注意其中额外的

ws
)。

© www.soinside.com 2019 - 2024. All rights reserved.