Solana本地localhost网络执行空投时出现TCP连接错误(os error 10061)
报错原因
该错误本质是TCP连接被主动拒绝,报错中的葡萄牙语提示对应Windows系统下的标准连接报错:无法建立连接,因为目标计算机主动拒绝了它。触发的核心原因是你配置的http://localhost没有对应正在运行的Solana本地RPC服务,没有程序监听Solana默认的RPC端口,所以请求直接被系统拒收。
排查修复步骤
- 启动本地Solana测试验证节点
你之前的操作步骤遗漏了启动本地节点的环节,先保持终端开启,执行命令:solana-test-validator,启动后不要关闭该终端,节点默认会监听8899(RPC端口)、8900(WebSocket端口)、9900(gossip端口)。 - 修正RPC地址的端口配置
你之前配置的localhost未加端口不符合Solana本地节点的默认规则,需要修改所有相关配置:- 执行CLI配置修改命令:
solana config set --url http://localhost:8899 - 打开Phantom钱包的网络配置,将localhost网络的RPC URL改为
http://localhost:8899,WebSocket URL改为ws://localhost:8900
- 执行CLI配置修改命令:
- 验证节点连通性
新开一个终端执行命令:solana cluster-version,如果正常返回Solana版本号,说明节点连接正常。 - 重新执行空投操作
连接正常后执行空投命令即可,示例:solana airdrop 1 <你的钱包公钥> --url http://localhost:8899,需要指定密钥对的话添加--keypair <密钥文件本地路径>参数即可。
特殊情况处理
如果启动solana-test-validator时提示端口被占用,可以自定义端口启动:solana-test-validator --rpc-port <自定义端口号>,后续所有RPC配置的端口都要对应修改为自定义端口。如果是Windows防火墙拦截了节点请求,需要在防火墙设置中允许solana-test-validator的入站、出站规则。
内容的提问来源于stack exchange,提问作者vit0rr
相关产品推荐
相关产品推荐

