gradle依赖
implementation 'org.web3j:core:4.12.0'
maven依赖
<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
<version>4.12.0</version>
</dependency>
java 代码
package com.example.demo;
import org.web3j.protocol.Web3j;
import org.web3j.protocol.core.methods.response.EthTransaction;
import org.web3j.protocol.core.methods.response.Transaction;
import org.web3j.protocol.http.HttpService;
import java.io.IOException;
public class EthereumTransaction {
public static void main(String[] args) {
// 连接到以太坊节点
// Web3j web3 = Web3j.build(new HttpService("https://mainnet.infura.io/v3/YOUR-PROJECT-ID"));
// 币安币 主网
Web3j web3 = Web3j.build(new HttpService("https://bsc-dataseed1.bnbchain.org:443"));
// 交易哈希
String transactionHash2 = "0xa3c3e277a6f4e01c498c9d023384df3c203551e69386da639ed90428b6ad8641";
String transactionHash = "0x1acc8ef7737daea66197fbadb9387e54c60d6829b3eda31c9ae81a35e064e4c6";
try {
// 通过哈希查询交易记录
// EthGetTransactionByHash transactionByHash = web3.ethGetTransactionByHash(transactionHash).send();
EthTransaction transactionByHash = web3.ethGetTransactionByHash(transactionHash).send();
// System.out.println("transactionByHash:" + JSON.toJSONString(transactionByHash));
// 获取交易详情
// EthGetTransactionByHash.Transaction transaction = transactionByHash.getTransaction().get();
Transaction transaction = transactionByHash.getTransaction().get();
// System.out.println("transaction:" + JSON.toJSONString(transactionByHash));
// 输出交易详情
System.out.println("hash 交易哈希: " + transaction.getHash());
System.out.println("send address 发送者地址: " + transaction.getFrom());
System.out.println("接收者地址: " + transaction.getTo());
System.out.println("交易价值: " + transaction.getValue());
System.out.println("交易费用: " + transaction.getGasPrice().multiply(transaction.getGas()));
System.out.println("交易状态: " + transaction.getBlockNumberRaw());
System.out.println("交易状态: " + (transaction.getBlockNumberRaw() != null ? "已确认" : "未确认"));
} catch (IOException e) {
e.printStackTrace();
}
}
}