当前位置: 首页 > 知识库问答 >
问题:

Web3j:如何获取以太坊事务信息(Java而非JS)

施选
2023-03-14

我刚开始使用Web3j,遇到了一些基本问题。

我已经成功地弄清楚了如何获得一个ethBlock并检索其中的所有信息。我想查看块中的交易列表,但我不知道如何。

我可以打电话

 List<TransactionResult> transactions = ethBlock.getBlock().getTransactions();

我应该能够查看此列表并获得有关每笔交易的信息。但我似乎对TransactionResult所能做的就是将其转换为非常无用的TransactionHash。我想要的是一个TransactionObject,我可以从中提取大量信息。

如何获取真实的交易数据?

还有一点需要注意:有没有任何原因可以解释为什么没有任何Web3j JavaDoc??

共有1个答案

谷彦君
2023-03-14

就在那里,因为他们是如何使用泛型的,所以对如何获得它很困惑。下面的示例将在最新的块中输出每个交易的发送方:

List<EthBlock.TransactionResult> txs = web3j.ethGetBlockByNumber(DefaultBlockParameterName.LATEST, true).send().getBlock().getTransactions();
txs.forEach(tx -> {
  EthBlock.TransactionObject transaction = (EthBlock.TransactionObject) tx.get();

  System.out.println(transaction.getFrom());
});

请记住,这是TransactionObject(发送的tx),而不是包含正在挖掘的tx结果的生成的TransactionReceipt

 类似资料:
  • Web3j 是一个轻量级、高度模块化、响应式、类型安全的 Java 和 Android 类库提供丰富 API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。

  • 当我尝试下载事件从Block hain: 我得到了豁免: .... 组织。web3j。协议rx。JsonRpc2_0Rx。lambda$ethLogObservable$10(JsonRpc2_0Rx.java:65)在rx。看得见。订阅(Observable.java:10238)。。。还有3个 如何修复此问题并下载NewContract事件?

  • 以太坊(Ethereum)是一个支持智能合约的区块链平台,它与比特币最大的不同是,以太坊通过一个虚拟机(EVM)可以运行智能合约。 以太坊是Vitalik Buterin(维塔利克·布特林,人称V神)在2013年提出的概念,Vitalik最早参与了比特币社区的开发,并希望比特币把功能受限的脚本扩展成图灵完全的编程环境,但没有得到比特币开发社区的认同,于是他决定另起炉灶,打造一个新的区块链平台,目标

  • 我能够使用和在以太坊进行交易。 现在我希望能够与互动。但是,由于构建

  • 以太坊名称服务(ENS)提供了一个人们可读的名称,以识别在以太坊网络上的地址。它类似于互联网的域名服务(DNS),它提供了被映射到IP地址的人们可读域名。 在提供以太坊名称服务(ENS)的情况下,地址要么是钱包,要么是以太坊智能合约地址。 例如,你可以使用web3j.eth来代替钱包地址0x19e03255f667bdfd50a32722df860b1eeaf4d635。

  • 我们已经整合贝宝支付网关在我们的网站和交易是工作良好的沙盒帐户在INR(不是美元)。但在支付成功后,paypal重定向到我们的网站,并在其上附加重定向url和查询字符串,如paymentId、token、PayerID,我们还从C#代码中获得交易ID。