Java 订阅ERC20传输事件
我一直试图观察在mainnet上发生的特定合同的交易,特别是Tether(USDT)。我能够下载合同并用Web3(Java)编译solidity代码。但是,我无法订阅传输事件。它只是超时了。。我有什么遗漏吗?我正在使用下面的代码,但得到一个超时 我看不出这有什么理由不起作用,我通过Infura通过wss://mainnet.infura.io/ws/v3/Java 订阅ERC20传输事件,java,ethereum,erc20,web3-java,Java,Ethereum,Erc20,Web3 Java,我一直试图观察在mainnet上发生的特定合同的交易,特别是Tether(USDT)。我能够下载合同并用Web3(Java)编译solidity代码。但是,我无法订阅传输事件。它只是超时了。。我有什么遗漏吗?我正在使用下面的代码,但得到一个超时 我看不出这有什么理由不起作用,我通过Infura通过wss://mainnet.infura.io/ws/v3/ 任何帮助都将不胜感激。事实证明,Web3j框架隐藏了Infura响应的问题。如果eth日志过滤器的结果大于10000个结果,则Infura会
任何帮助都将不胜感激。事实证明,Web3j框架隐藏了Infura响应的问题。如果eth日志过滤器的结果大于10000个结果,则Infura会响应:
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32005,
"message": "query returned more than 10000 results"
}
}
你的问题和回答使我走上了正确的轨道。我想知道为什么我的连接超时了,结果就是这样。如果您首先想要收听经过的事件,那么使用DefaultBlockParameterName.EARLIEST并不是一个好主意。谢谢。如果我可以问一下,关于如何将下载的JSON编译成ABI的信息,您在哪里找到的?
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32005,
"message": "query returned more than 10000 results"
}
}