Skip to Content

XRPL(XRP Ledger)

XRPL(XRP Ledger)与以太坊、Solana 等其他公链有着本质的区别。如果用一句话概括:其他链是“通用计算机”,而 XRPL 是“内置功能的银行系统”。在 XRPL(XRP Ledger)中,准备金信任线 是两个最核心、且与其他链完全不同的金融机制。它们的设计初衷是为了保证账本的整洁并防止垃圾资产注入。

  • 准备金: XRPL 的账户是有“成本”的。为了防止恶意创建海量地址来塞满节点的内存(防止账本膨胀攻击),XRPL 引入了准备金机制:

    1. 基础准备金:目前激活一个新账户需要 10 XRP。当你向一个新地址转账时,第一笔账必须不少于 10 XRP,否则交易会失败。注意:这 10 XRP 会被锁死在账本上,不可转出(除非你选择销毁并注销该账户,届时可退回一部分)。
    2. 对象准备金:每当你在这个账户上“挂载”一个新东西,都需要额外锁定 2 XRP。这些“东西”包括:一条信任线、一个 DEX 挂单、一个 NFT 页面或一个多签设置。逻辑:如果你有 3 条信任线(持有 3 种代币),你的账户里就有 $10 + (3 \times 2) = 16$ XRP 是处于锁定状态、无法消费的。
  • 信任线: 这是 XRPL 安全性的基石。在以太坊(EVM)上,任何人都可以往你的钱包里乱发空气币;但在 XRPL 上,你不同意,没人能给你发币

    1. 双向授权:如果你想持有某种代币(比如发行方 A 发行的 USDT),你必须先发送一笔 TrustSet 交易。这笔交易的意思是:“我信任发行方 A 提供的 USDT 资产,并允许我的账户持有它”。
    2. 额度限制:在建立信任线时,你可以设置一个上限(例如:我最多愿意持有 100 万个该代币)。
    3. 资产隔离:在 XRPL 中,代币的定义是 代码 (Currency) + 发行方地址 (Issuer)。即便两个代币都叫 “CNY”,如果发行方地址不同,它们就是完全隔离的两种资产,互不干扰。

Wallet Standard

MethodSupported
connect
network
isConnected
disconnect
signMessage
signTransaction
sendTransaction

Connect to Bitget Wallet

Provider

const provider = window.bitkeep.xrp;

Connect

Preview

Usage

const provider = window.bitkeep?.xrp; await provider?.connect();

Try It

Loading live editor...

Sign Message

Preview

Parameters

type signedMessageInput string;

Returns

type signedMessageOutput string;

Usage

// @param signedMessageInput // @return signedMessageOutput const provider = window.bitkeep?.xrp; await provider?.signMessage(message);

Try It

Loading live editor...

Sign And Send Transaction

Chrome
App
Preview
Preview
const TrustSetTx = { TransactionType: "TrustSet", Account: address, LimitAmount: { currency: "524C555344000000000000000000000000000000", issuer: `rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De`, value: "100000000", }, }; const provider = window.bitkeep?.xrp; const sig = await provider.sendTransaction(TrustSetTx); console.log(sig); const dropsPerXrp = "1000000"; const paymentTx = { TransactionType: "Payment", Account: senderWallet.classicAddress, Destination: destWallet.classicAddress, Amount: (1 * Number(dropsPerXrp)).toString(), // 1 XRP }; const provider = window.bitkeep?.xrp; const txid = await provider.sendTransaction(paymentTx); console.log(txid);
Last updated on