XRPLの主要機能(ウォレット作成/管理、送金、TrustSet、Credential、NFT等)をテストできるシナリオベースのサンプルコード集です。
# 0) リポジトリクローン
git clone https://github.com/XRPLJapan/xrpl-sample-code.git
cd xrpl-sample-code
# 1) 依存関係インストール
npm install
# 2) 環境変数設定
cp .env.example .env
# .envファイルを編集して必要な値を設定
# 3) XRP送金テスト
npx tsx src/xrpl/Payment/sendXRP.ts
# 4) TrustLine設定
npx tsx src/xrpl/TrustSet/trustSet.ts
# 5) IOU送金テスト
npx tsx src/xrpl/Payment/sendIOU.tsクイックスタート後、機能別実行コマンドと簡単なシナリオ理解はGitHubフォルダ別READMEで確認してください。
.envファイルに以下の環境変数を設定してください:
| 環境変数 | 説明 | 例 |
|---|---|---|
NODE_ENV |
XRPLネットワーク環境 | devnet, testnet, mainnet |
IOU_CURRENCY |
IOU通貨コード(3文字) | USD, JPY, EUR |
MPT_ISSUANCE_ID |
MPToken発行ID | 00000001... |
DOMAIN_ID |
Permissioned Domain ID | 10A3C32C... |
ISUEER_SEED |
発行者アカウントのシード | sXXXXXXXX... |
USER_SEED |
ユーザーアカウントのシード(ドメインメンバー) | sXXXXXXXX... |
OUTSIDER_SEED |
外部ユーザーアカウントのシード(非ドメインメンバー、任意) | sXXXXXXXX... |
NODE_ENV=devnet
IOU_CURRENCY=USD
MPT_ISSUANCE_ID=00000001A1B2C3D4E5F6789012345678901234567890123456789012345678
DOMAIN_ID=10A3C32C088698C9A42475CB1869940735F4FFAB0753C5065E4270A2328F672A
ISUEER_SEED=sXXXXXXXXXXXXXXXXXXXXXXXXXXXX
USER_SEED=sYYYYYYYYYYYYYYYYYYYYYYYYYYYY
OUTSIDER_SEED=sZZZZZZZZZZZZZZZZZZZZZZZZZZZZ注意:
DOMAIN_IDはsrc/xrpl/PermissionedDomains/permissionedDomainSet.tsを実行して取得したIDを設定してくださいMPT_ISSUANCE_IDはsrc/xrpl/MPTokens/mptokenIssuanceCreate.tsを実行して取得したIDを設定してくださいOUTSIDER_SEEDはPermissioned DEXの挙動確認に使用します(必須ではありません)- シード値は絶対に公開しないでください(特にMainnetでの使用時)
src/
├── config/ # 設定ファイル
│ ├── env.ts # 環境変数バリデーション
│ └── network.ts # ネットワーク設定
│
├── lib/ # ユーティリティ
│ ├── logger.ts # ログ出力機能
│ └── xrplClient.ts # XRPLクライアント作成
│
└── xrpl/ # XRPL機能実装
├── Batch/ # バッチトランザクション
│ ├── batchAllOrNothing.ts
│ ├── batchOnlyOne.ts
│ ├── batchUntilFailure.ts
│ ├── batchIndependent.ts
│ ├── batchNFTMintAndBurn.ts
│ └── README.md
│
├── AccountSet/ # アカウント設定
│ ├── enableTrustLineLocking.ts
│ └── README.md
│
├── Credentials/ # 検証可能な資格情報
│ ├── credentialCreate.ts
│ ├── credentialAccept.ts
│ ├── credentialDelete.ts
│ └── README.md
│
├── Escrow/ # エスクロー(XRP・トークン)
│ ├── escrowCreate.ts
│ ├── escrowFinish.ts
│ ├── escrowCancel.ts
│ ├── conditionalEscrowCreate.ts
│ ├── conditionalEscrowFinish.ts
│ ├── tokenEscrowCreate.ts
│ ├── tokenEscrowFinish.ts
│ ├── tokenEscrowCancel.ts
│ └── README.md
│
├── MPTokens/ # Multi-Purpose Tokens
│ ├── mptokenIssuanceCreate.ts
│ ├── mptokenAuthorize.ts
│ ├── mptokenPayment.ts
│ ├── mptokenClawback.ts
│ ├── mptokenIssuanceDestroy.ts
│ └── README.md
│
├── NFToken/ # NFT管理
│ ├── nftokenMint.ts
│ ├── nftokenMintOffer.ts
│ ├── nftokenBurn.ts
│ ├── nftokenCreateOffer.ts
│ ├── nftokenAcceptOffer.ts
│ ├── nftokenCancelOffer.ts
│ ├── nftokenDynamic.ts
│ └── README.md
│
├── Payment/ # XRP/IOU送金
│ ├── sendIOU.ts
│ ├── sendIOUOutsider.ts
│ ├── sendXRP.ts
│ └── README.md
│
├── PermissionedDEX/ # 許可型DEX
│ ├── openOffer.ts
│ ├── permissionedOffer.ts
│ ├── hybridOffer.ts
│ ├── outsiderOffer.ts
│ └── README.md
│
├── PermissionedDomains/ # 許可型ドメイン
│ ├── permissionedDomainSet.ts
│ ├── permissionedDomainDelete.ts
│ └── README.md
│
└── TrustSet/ # 信頼線設定
├── trustSet.ts
├── trustSetOutsider.ts
└── README.md
- AccountSet - アカウント設定機能(フラグ管理)
- Batch - バッチトランザクション(複数トランザクションの一括実行)
- Credentials - 検証可能な資格情報管理機能
- Escrow - エスクロー機能(XRP・トークン条件付き支払い)
- MPTokens - Multi-Purpose Tokens(MPT)発行・管理機能
- NFToken - NFT発行・管理機能
- Payment - XRP/IOU送金機能
- PermissionedDEX - 許可型DEX(分散型取引所)機能
- PermissionedDomains - 許可型ドメイン管理機能
- TrustSet - トラストライン設定機能
| 項目 | 値 |
|---|---|
| ネットワーク | XRPL Devnet (wss://s.devnet.rippletest.net:51233) |
| rippled | v2.5.0 |
| xrpl.js | package.json参照 |
| Node.js | LTS推奨 |