You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XRPL4J v3.2与Java入门教程不匹配,类缺失问题求助

XRPL4J版本适配与Wallet类替代方案

1. 匹配入门教程的早期版本

官方《Get Started Using Java》教程对应的是xrpl4j v2.x系列版本(推荐v2.4.0),这个版本保留了org.xrpl.xrpl4j.core.wallet.Wallet类及教程中用到的所有相关API,完全适配教程代码。无需手动克隆源码,直接通过依赖管理工具引入对应版本即可:

  • Maven:在pom.xml中添加依赖
<dependency>
  <groupId>org.xrpl</groupId>
  <artifactId>xrpl4j-core</artifactId>
  <version>2.4.0</version>
</dependency>
  • Gradle:在build.gradle中添加依赖
implementation 'org.xrpl:xrpl4j-core:2.4.0'

2. xrpl4j v3.2中替代Wallet类的方案

v3.x版本对核心API做了大幅重构,移除了原有的Wallet类,改用密钥对相关类实现相同功能,具体步骤如下:

生成密钥对与Classic Address

使用Ed25519KeyPair生成密钥对,并转换为教程所需的classic地址:

import org.xrpl.xrpl4j.crypto.keys.KeyPairGenerator;
import org.xrpl.xrpl4j.crypto.keys.Ed25519KeyPair;
import org.xrpl.xrpl4j.model.transactions.ClassicAddress;

// 生成Ed25519密钥对
Ed25519KeyPair keyPair = KeyPairGenerator.ed25519().generateKeyPair();
// 转换为Classic Address
ClassicAddress classicAddress = ClassicAddress.of(keyPair.publicKey());

签名交易

用TransactionSigner配合密钥对完成交易签名,替代原Wallet的签名方法:

import org.xrpl.xrpl4j.crypto.signing.TransactionSigner;
import org.xrpl.xrpl4j.model.transactions.Payment;

// 初始化签名器
TransactionSigner transactionSigner = TransactionSigner.ed25519();
// 对交易进行签名
Payment signedPayment = transactionSigner.sign(keyPair, unsignedPayment);

给FaucetClient提供classicAddress

上面生成的classicAddress直接可以传给FaucetClient的fundAccount方法,用于获取测试网XRP:

faucetClient.fundAccount(classicAddress);

补充:v3.x中类结构的变化说明

  • 原org.xrpl.xrpl4j.model.transactions.Address类被拆分为ClassicAddress、XAddress等更细分的地址类,按需使用即可。
  • 原Marker类移至org.xrpl.xrpl4j.model.client.common包下,可直接引入该包使用。

内容的提问来源于stack exchange,提问作者John Ormerod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 15:00:06