这是让我想在自己脸上猛击键盘的问题之一。
我一直在编写一个接受加密支付以更新用户余额的机器人。检查余额很好,效果很好。
当它运行检查命令以检查是否为正余额时,它需要将该余额转移到另一个钱包。
我正在使用两个地址,我控制其中的两个私钥进行测试。我已经充值了 5 美元的 ETH。
当它运行发送事务命令时,我收到以下错误:
1/2 内部异常
HttpRequestException: 由于目标机器主动拒绝,无法建立连接。
2/2 内部异常
SocketException: 由于目标机器主动拒绝,无法建立连接。
这是我正在运行的方法:
private static async void check(String id)
{
string[] data = readdata(id);
var publicKey = data[2];
var privateKey = data[3];
var web3 = new Nethereum.Web3.Web3("https://mainnet.infura.io/v3/APIKEY");
var txCount = web3.Eth.Transactions.GetTransactionByHash.SendRequestAsync(publicKey);
var balance = web3.Eth.GetBalance.SendRequestAsync(publicKey);
var etherAmount = Web3.Convert.FromWei(balance.Result);
Console.WriteLine(etherAmount);
var account = new Account(privateKey);
var web33 = new Web3(account);
var toAddress = "0xEee945DE85Af571940324De312D5077843767A1F";
var transaction = await web33.Eth.GetEtherTransferService().TransferEtherAndWaitForReceiptAsync(toAddress, 1.11m);
Console.WriteLine(transaction.Status);
}
提前感谢您保存我的程序、键盘和面部。
编辑:
对于任何有同样问题的人,我通过再次将 RPC 指向 infura 来解决它,就像上面的一样,我不知道它必须运行本地节点或指向外部 api
我这样解决了:
var web33 = new Web3(account, "https://mainnet.infura.io/v3/APIKEY