mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-12 07:45:50 +00:00
Compare commits
316 Commits
contentful
...
events-jso
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
abb7f1e313 | ||
|
|
088812f438 | ||
|
|
345971f922 | ||
|
|
54e27d8764 | ||
|
|
6300a38c51 | ||
|
|
cccd5ac7ef | ||
|
|
7b73bb119b | ||
|
|
8cfe6f859e | ||
|
|
dd73b24daf | ||
|
|
a9ae090636 | ||
|
|
4396469514 | ||
|
|
66ca8271c8 | ||
|
|
57075b3b25 | ||
|
|
c29e62b17f | ||
|
|
d452f8506a | ||
|
|
012aefec29 | ||
|
|
8d69759a19 | ||
|
|
bda6ae7cf0 | ||
|
|
c77a4f39b6 | ||
|
|
fb0877d01f | ||
|
|
1986131019 | ||
|
|
207758526f | ||
|
|
0ba928be43 | ||
|
|
bc8f33b066 | ||
|
|
6e3e969e1c | ||
|
|
ba907c3d28 | ||
|
|
8b927a4d1c | ||
|
|
ee410de46c | ||
|
|
75f87bbc95 | ||
|
|
acd3eefebc | ||
|
|
c69f987b55 | ||
|
|
bcdbde4655 | ||
|
|
e4a70b770d | ||
|
|
bb0c6dcd01 | ||
|
|
ac042e969d | ||
|
|
516b862974 | ||
|
|
583e61b8d0 | ||
|
|
0f1cb9a81e | ||
|
|
f40cd4e076 | ||
|
|
d63f904c00 | ||
|
|
d7e9d2c32c | ||
|
|
c0f1b69be8 | ||
|
|
bf95fbcd46 | ||
|
|
d11720adf0 | ||
|
|
32b9d4141e | ||
|
|
af6c8f7df6 | ||
|
|
cb2620ca0c | ||
|
|
cc0ec78aac | ||
|
|
46f192474a | ||
|
|
d213008923 | ||
|
|
8662346b9c | ||
|
|
1cae871ea9 | ||
|
|
fccfa1460a | ||
|
|
642d29c2e5 | ||
|
|
f42a746bc0 | ||
|
|
5ce58a83f3 | ||
|
|
75d39434cf | ||
|
|
e5a96a47b2 | ||
|
|
9029560daa | ||
|
|
289f4058b0 | ||
|
|
c24e6d82d3 | ||
|
|
b8eebe4256 | ||
|
|
6436a81347 | ||
|
|
4ff1ac7fe8 | ||
|
|
c945ecd039 | ||
|
|
ab2aac664e | ||
|
|
6356f0a8b5 | ||
|
|
18ef3e0b3e | ||
|
|
a4681aeb48 | ||
|
|
bdd099e683 | ||
|
|
72970ec0be | ||
|
|
0fe3f9245e | ||
|
|
252a5c5931 | ||
|
|
34ad6e8e8e | ||
|
|
74a1af152f | ||
|
|
ff8ae9d6d4 | ||
|
|
9459296565 | ||
|
|
20afacf216 | ||
|
|
d9478bacba | ||
|
|
334711ac8e | ||
|
|
40cb258615 | ||
|
|
454c4b1d1e | ||
|
|
b6425c134a | ||
|
|
4a32478ac0 | ||
|
|
8c67f9ab89 | ||
|
|
d439eb72d4 | ||
|
|
4ebc6fe20f | ||
|
|
e30f8c2ace | ||
|
|
e33e14869d | ||
|
|
b45922edcc | ||
|
|
070e688bab | ||
|
|
d0b06ad70e | ||
|
|
63e5e2f122 | ||
|
|
434c6f6518 | ||
|
|
6ede5bfb11 | ||
|
|
505357ae2c | ||
|
|
4484a5e6a2 | ||
|
|
15aa8d83b1 | ||
|
|
d200117327 | ||
|
|
b1d9b11b40 | ||
|
|
b3632c4b85 | ||
|
|
fde485b947 | ||
|
|
4c48121f27 | ||
|
|
375cea5f8e | ||
|
|
e3a4986124 | ||
|
|
aa81ff1a6b | ||
|
|
880eedfbb3 | ||
|
|
a8d8d4e024 | ||
|
|
c541f0370d | ||
|
|
1f1942b371 | ||
|
|
3eb9131cbc | ||
|
|
30fc1f54d0 | ||
|
|
2767777348 | ||
|
|
9223bd07fa | ||
|
|
dd95cd3660 | ||
|
|
21efcd758d | ||
|
|
e520211135 | ||
|
|
629a0a33e3 | ||
|
|
cad8664fc3 | ||
|
|
446d70b982 | ||
|
|
4f96c05b03 | ||
|
|
52e6cadec1 | ||
|
|
d3c15a8a92 | ||
|
|
d23a7a9b40 | ||
|
|
95319ba578 | ||
|
|
c071f03668 | ||
|
|
e54ed22740 | ||
|
|
14d0a81149 | ||
|
|
79c3d0ae0f | ||
|
|
27bcca71a9 | ||
|
|
e9ea9b965e | ||
|
|
6c790057bd | ||
|
|
d42d86ac4f | ||
|
|
b1613bd3dc | ||
|
|
9a0c010600 | ||
|
|
041e991643 | ||
|
|
cceb61dd4e | ||
|
|
74078fdbfd | ||
|
|
1b9af1d6dd | ||
|
|
0e94d5e424 | ||
|
|
07011d9dd5 | ||
|
|
6cbb3a036f | ||
|
|
8aaabb3ba6 | ||
|
|
d89bf10560 | ||
|
|
a639ff1f42 | ||
|
|
63deabcc6e | ||
|
|
8656818711 | ||
|
|
35ab7767c7 | ||
|
|
2e79c1a87a | ||
|
|
351afff34f | ||
|
|
dabf521435 | ||
|
|
48504594d3 | ||
|
|
0c7a4036ec | ||
|
|
5b3f66946a | ||
|
|
d093c69ae5 | ||
|
|
67a5ea8252 | ||
|
|
9c6fcb5d0f | ||
|
|
3c52436b33 | ||
|
|
9be1d41a96 | ||
|
|
8e30eba971 | ||
|
|
6ca55fb1f4 | ||
|
|
b99bcd3dfe | ||
|
|
114b1afd74 | ||
|
|
31accafb66 | ||
|
|
f89293a3b4 | ||
|
|
e6c3719e95 | ||
|
|
b38aebe08e | ||
|
|
07adf977d0 | ||
|
|
206d0b4bc3 | ||
|
|
3c3f7cbe04 | ||
|
|
a76fed00e4 | ||
|
|
c0cee846d5 | ||
|
|
06250caeb2 | ||
|
|
92a7a065db | ||
|
|
ab177e6f5e | ||
|
|
f627156e47 | ||
|
|
0bd13f9ce9 | ||
|
|
1b043086e3 | ||
|
|
87f555b054 | ||
|
|
54bda7ef38 | ||
|
|
748297eb49 | ||
|
|
7cc34ad989 | ||
|
|
b05afd46a8 | ||
|
|
d755158812 | ||
|
|
48fd5f8942 | ||
|
|
687445ebf6 | ||
|
|
afa179f0f7 | ||
|
|
8cf07c32d5 | ||
|
|
82ff22af11 | ||
|
|
7f892f05db | ||
|
|
fb6f278361 | ||
|
|
06fc2ccc19 | ||
|
|
52dd3758db | ||
|
|
a24d15fde6 | ||
|
|
946ebdb41f | ||
|
|
610a5e7d29 | ||
|
|
f42bb6c813 | ||
|
|
4d3d3edece | ||
|
|
8a2e8c8050 | ||
|
|
bccd5878e1 | ||
|
|
bcecfa1c95 | ||
|
|
e74072b8ef | ||
|
|
c08880ee25 | ||
|
|
40e3aea13a | ||
|
|
ddf999d7e4 | ||
|
|
04a04e1907 | ||
|
|
5203bf6ba9 | ||
|
|
2ccce00436 | ||
|
|
7c35a9a3b6 | ||
|
|
2a5523d46e | ||
|
|
ec8446aa90 | ||
|
|
93082e1f4a | ||
|
|
1edc9dfbc7 | ||
|
|
65f13e5d62 | ||
|
|
742402bfed | ||
|
|
f785847d03 | ||
|
|
c6194082f9 | ||
|
|
160d2427c3 | ||
|
|
6b0bdc3c22 | ||
|
|
009ca6a03d | ||
|
|
187bce8f01 | ||
|
|
1237929402 | ||
|
|
5ecfee6377 | ||
|
|
1932b47f81 | ||
|
|
c3781cb87d | ||
|
|
4f3836984f | ||
|
|
5835468611 | ||
|
|
1e9fa9de69 | ||
|
|
066fa354cc | ||
|
|
a35667af77 | ||
|
|
930ac9af84 | ||
|
|
13d2b06d8e | ||
|
|
f30e465583 | ||
|
|
e9fd6827cf | ||
|
|
6d8049e8e2 | ||
|
|
a83f0fdb5f | ||
|
|
243d450118 | ||
|
|
4bdf0cc5f7 | ||
|
|
0ad915c987 | ||
|
|
4fd365d54a | ||
|
|
23bc116159 | ||
|
|
21227d816d | ||
|
|
a89ed0f32b | ||
|
|
f0971605bf | ||
|
|
cb3290db3c | ||
|
|
7a7c701cc2 | ||
|
|
cf4d319f5d | ||
|
|
eef989e1e2 | ||
|
|
9c00351d42 | ||
|
|
95ba8dbe80 | ||
|
|
4683ec5af5 | ||
|
|
c9f6292f2f | ||
|
|
dde246b250 | ||
|
|
f943c4b3ce | ||
|
|
0e4badd256 | ||
|
|
1ec813f0a5 | ||
|
|
7f47f7c404 | ||
|
|
0fb8fe506c | ||
|
|
301c19a6c0 | ||
|
|
0e6e883c39 | ||
|
|
e46bf25abc | ||
|
|
71536dbf03 | ||
|
|
1c17ba34a7 | ||
|
|
8cca0c52e6 | ||
|
|
35f716c6f6 | ||
|
|
a239936cbc | ||
|
|
8fb12213e0 | ||
|
|
50ba4423d6 | ||
|
|
a0256e9703 | ||
|
|
ffe3561add | ||
|
|
0165cee9ee | ||
|
|
10059d0a3a | ||
|
|
4d4683d55a | ||
|
|
377bb205d7 | ||
|
|
3bad038b77 | ||
|
|
f0c46dab87 | ||
|
|
990ac6d846 | ||
|
|
206cd5bddb | ||
|
|
62d05457bc | ||
|
|
a529793885 | ||
|
|
ddc8c482f0 | ||
|
|
bbc6cf5d0d | ||
|
|
a8a28b3631 | ||
|
|
a702feb092 | ||
|
|
358314c8c1 | ||
|
|
1e81b19772 | ||
|
|
b9ac85b8a1 | ||
|
|
d410d0ad18 | ||
|
|
69b44f6259 | ||
|
|
5336ef7e8d | ||
|
|
ec0f971da9 | ||
|
|
d5a978c196 | ||
|
|
546ea9f609 | ||
|
|
5da97a798b | ||
|
|
a3fe3877b5 | ||
|
|
4a688c6990 | ||
|
|
6f0e460be4 | ||
|
|
4f25814394 | ||
|
|
069a218ff8 | ||
|
|
fd381033fc | ||
|
|
5bec54f0cb | ||
|
|
ea1621a0aa | ||
|
|
218ab367a6 | ||
|
|
599256a81b | ||
|
|
c9bb4102e0 | ||
|
|
48fe812c9a | ||
|
|
07310b108c | ||
|
|
083aef8aa0 | ||
|
|
412e93cb46 | ||
|
|
fe7d0c71d7 | ||
|
|
778a589b5e | ||
|
|
cc16be9066 | ||
|
|
5358b7170c | ||
|
|
790e89a360 | ||
|
|
9b756d0bb6 | ||
|
|
549378f681 |
79
.github/workflows/update-contentful-data.yml
vendored
Normal file
79
.github/workflows/update-contentful-data.yml
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
name: Update Contentful Data
|
||||
|
||||
on:
|
||||
repository_dispatch:
|
||||
types: [contentful_update]
|
||||
|
||||
jobs:
|
||||
update-data:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '16'
|
||||
|
||||
- name: Install Dependencies
|
||||
run: npm install
|
||||
|
||||
- name: Set Branch Name with Date
|
||||
id: set-branch-name
|
||||
run: echo "BRANCH_NAME=contentful-updates-$(date +'%Y-%m-%d-%H-%M')" >> $GITHUB_ENV
|
||||
|
||||
- name: Fetch Data from Contentful
|
||||
env:
|
||||
CONTENTFUL_SPACE_ID: ${{ secrets.CONTENTFUL_SPACE_ID }}
|
||||
CONTENTFUL_ACCESS_TOKEN: ${{ secrets.CONTENTFUL_ACCESS_TOKEN }}
|
||||
run: node scripts/fetchContentfulData.cjs
|
||||
|
||||
- name: Check for changes
|
||||
id: check_changes
|
||||
run: |
|
||||
if [ -z "$(git status --porcelain)" ]; then
|
||||
echo "no_changes=true" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "no_changes=false" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- name: No changes found
|
||||
if: steps.check_changes.outputs.no_changes == 'true'
|
||||
run: echo "No changes found. Skipping commit and pull request steps."
|
||||
|
||||
- name: Commit and Push Changes
|
||||
if: steps.check_changes.outputs.no_changes == 'false'
|
||||
uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
commit_message: 'Update data from Contentful'
|
||||
branch: ${{ env.BRANCH_NAME }}
|
||||
create_branch: true
|
||||
|
||||
- name: Create Pull Request
|
||||
if: steps.check_changes.outputs.no_changes == 'false'
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
script: |
|
||||
const { data: existingPulls } = await github.rest.pulls.list({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
head: `${context.repo.owner}:${process.env.BRANCH_NAME}`,
|
||||
state: 'open',
|
||||
});
|
||||
|
||||
if (existingPulls.length === 0) {
|
||||
const { data: pullRequest } = await github.rest.pulls.create({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
head: process.env.BRANCH_NAME,
|
||||
base: 'master',
|
||||
title: 'Update data from Contentful',
|
||||
body: 'Automated update of data from Contentful.',
|
||||
});
|
||||
console.log(`Pull request created: ${pullRequest.html_url}`);
|
||||
} else {
|
||||
console.log('Pull request already exists:', existingPulls[0].html_url);
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{% interactive-block label=default($label, "Generate") steps=$frontmatter.steps %}
|
||||
|
||||
<button id="generate-creds-button" class="btn btn-primary" data-fauceturl="https://faucet.altnet.rippletest.net/accounts">Testnetの暗号鍵を作成する</button>
|
||||
{% loading-icon message="暗号鍵を作成しています…" /%}
|
||||
<div class="output-area"></div>
|
||||
|
||||
{% /interactive-block %}
|
||||
|
||||
**注意:** Rippleは[TestnetとDevnet](../../concepts/networks-and-servers/parallel-networks.md)をテストの目的でのみ運用しており、その状態とすべての残高を定期的にリセットしています。予防措置として、Testnet、DevnetとMainnetで同じアドレスを使用**しない**ことをお勧めします。
|
||||
@@ -1,71 +0,0 @@
|
||||
---
|
||||
html: xrpl-sidechains.html
|
||||
parent: concepts.html
|
||||
seo:
|
||||
description: XRPLサイドチェーンは、独自のコンセンサスアルゴリズム、トランザクションタイプ、ルールを持つ独立した台帳です。
|
||||
labels:
|
||||
- ブロックチェーン
|
||||
- 相互運用性
|
||||
---
|
||||
# XRPLサイドチェーン
|
||||
|
||||
_([XChainBridge Amendment][] {% not-enabled /%} が必要です)_
|
||||
|
||||
サイドチェーンは、独自のコンセンサスアルゴリズム、トランザクションタイプ、ルール、ノードを持つ独立した台帳です。サイドチェーンは、メインチェーン(XRP Ledger)と並行して動作する独自のブロックチェーンとして機能し、メインチェーンのスピード、効率性、スループットを損なうことなく、両者の間で価値の移動を可能にします。
|
||||
|
||||
サイドチェーンは、XRP Ledgerのプロトコルを特定のユースケースやプロジェクトのニーズに合わせてカスタマイズし、独自のブロックチェーンとして運用することができます。いくつかの例を紹介します。
|
||||
|
||||
* スマートコントラクト層の追加: [Xahau](https://xahau.network/)をご覧ください。
|
||||
* イーサリアム仮想マシン(EVM)互換性の追加: [EVMサイドチェーン](https://opensource.ripple.com/docs/evm-sidechain/intro-to-evm-sidechain/)をご覧ください。
|
||||
* 独自のアルゴリズムによるステーブルコインの構築。
|
||||
* メインネットの[分散型取引所](../tokens/decentralized-exchange/index.md)で資産を取引できる、パーミッションあり、またはほぼパーミッションレス、中央集権型、または大部分が分散されている台帳の構築。
|
||||
|
||||
|
||||
**ノート:**
|
||||
|
||||
- サイドチェーンは独自のバリデータを使い、メインチェーンの `rippled` UNL とは別のUNLを必要とします。
|
||||
- メインチェーンとサイドチェーンのノードはお互いを認識していません。
|
||||
|
||||
|
||||
## よくある質問
|
||||
|
||||
### サイドチェーンとは?
|
||||
|
||||
サイドチェーンとは、XRPLメインネットチェーン(以下「メインチェーン」)とサイドチェーン(それぞれ「サイドチェーン」)をつなぐ別のブロックチェーンで、資産や 情報のクロスチェーン交換を可能にします。
|
||||
|
||||
|
||||
### Witnessサーバとは?
|
||||
|
||||
「Witnessサーバ」(証人サーバ)は、メインチェーンと各サイドチェーンをつなぐ「ドアアカウント」間の送金を検証します。 一連の非中央集権的な組織や個人がWitnessサーバを運営します。
|
||||
|
||||
|
||||
### Witnessサーバの運用に伴うリスクはありますか?
|
||||
|
||||
サイドチェーンのWitnessサーバの運用には、次のようなリスクがあります。
|
||||
|
||||
_規制上の考慮事項_ : Witnessサーバの運用には規制上のリスクが伴います。以下にいくつかのリスクを示しますが、そのうちのいくつかは、米国に所在する人々にサービスを提供するプロジェクトにのみ適用される規制制度に関するものです。
|
||||
|
||||
米国では、マネーサービスビジネス(「MSB」)としての連邦政府の登録と州のマネートランスミッタライセンス(「MTL」)を必要とする「マネートランスミッタビジネス」の運営に関する規制体制が、Witnessサーバの運営に適用されるかどうか不明確です。Witnessサーバは、一連の分散化された事業体および個人によって運営されることを意図しています。このような意図にもかかわらず、規制当局が、特定の事業体または調整グループによるWitnessサーバの「中央集権的な」コントロールがあると判断した場合、そのような活動を資金移動とみなす可能性があります。米国財務省は最近、特定のプロジェクトが"分散型"かどうかを判断する際に考慮する一連の要素を特定する報告書を発表しました。[2023 DeFi Illicit Finance Risk Assessment](https://home.treasury.gov/news/press-releases/jy1391)をご覧ください。この最新の規制ガイダンスは、米国財務省が特定のプロジェクトが"分散型"である可能性があり、Witnessサーバの運用が"分散型"である場合、"資金移動業”とみなされない可能性があることを認識していることを示すものであり、重要です。
|
||||
|
||||
米国の暗号規制は一貫して最も厳しく、積極的に運用されていますが、他の法域でも「資金」やその他の価値の移転に関する規制や法律が存在します。例えば、英国の規制当局は2022年3月、暗号と分散型金融に関する一連の文書ガイダンスを発表しました。[Financial Stability in Focus: Cryptoassets and Decentralized Finance](https://www.bankofengland.co.uk/financial-stability-in-focus/2022/march-2022)をご覧ください。さらに最近では、2023年6月、E.U.は、分散型暗号プラットフォームに関連する成文化された規則や規制を一部課す規制枠組みを正式に採択しました。[Markets in Crypto-Assets Regulation](https://www.esma.europa.eu/esmas-activities/digital-finance-and-innovation/markets-crypto-assets-regulation-mica)をご覧ください。Witnessサーバの運用を検討されている方は、関連するリスクへ適切に対処するため、関係する各法域の具体的な要件について常に情報を入手し、遵守することが重要です。
|
||||
|
||||
_テクノロジーおよびネットワークセキュリティ_:Witnessサーバを運用しようとする者は、その技術的およびセキュリティ的な側面を熟知している必要があります。Witnessサーバの運用に参加する前に、その機能、潜在的な脆弱性、必要な技術的およびセキュリティ対策について十分に理解しておく必要があります。
|
||||
|
||||
_民事責任_ : 米国やその他の管轄区域では原告による訴訟が急増しており、特定の原告側弁護士が民事訴訟でどのような理論を実行するかを評価することは困難です。現実の民事責任リスクと認識されている民事責任リスクの如何にかかわらず、軽薄な訴訟であっても対応に時間と費用がかかる可能性があることに留意する必要があります。
|
||||
|
||||
|
||||
### Witnessサーバの運営に参加する前に、第三者の助言を求めるべきでしょうか?
|
||||
|
||||
はい。Witnessサーバの運営を検討している当事者は、経験豊富な専門家から独立した法律上および税務上のアドバイスを受ける必要があります。Witnessサーバは、クロスチェーン送金を確認するために相互に検証する必要があるため、米国の規制当局によって定義されている共通企業として運営されていると理解される可能性があることにご注意ください。共通企業では、連帯責任が適用される場合があります。つまり、各Witnessサーバは、発生したすべての責任または損害に対して個別に責任を負う可能性があります。今後ますます変化する規制の状況を考慮すると、Witnessサーバを運営する上での期待や義務に関連する複雑で変化する世界的な規制の状況をナビゲートできる法律の専門家に相談することが非常に重要です。他のブロックチェーンプロジェクトと同様、ご自身で調査を行ってください。これらのFAQは一般的なガイダンスであり、法律や税務に関するアドバイスではありません。
|
||||
|
||||
|
||||
### Witnessサーバを運用すべきでないのはどのような人ですか?
|
||||
|
||||
ブロックチェーン、MSBおよびMTLの規制、その他の適用される規制および法律に関する経験がない(または経験豊富なサポートを利用できない)場合は、Witnessサーバを運用しないでください。また、技術およびコンプライアンスに関する専門知識を有する経験豊富な個人または団体でない場合も、Witnessサーバを運用しないでください。個人でWitnessサーバを運用するのに十分な資格と経験を持つ人はほとんどいません。また、独立した法律上および税務上の助言を求め、得ていない場合は、Witnessサーバを運用しないでください。
|
||||
|
||||
|
||||
### これらのFAQは包括的で明確なアドバイスですか?
|
||||
|
||||
これらのFAQは、一般的なガイダンスを提供することを目的としており、技術的、財務的、または法的なアドバイスを提供するものではありません。これらのFAQは、各自の具体的な状況に合わせた専門的なアドバイスの代わりとして使用すべきではありません。ブロックチェーンとデジタル資産の状況は複雑で常に変化しているため、常に最新の情報を入手し、専門家の助言を求める必要があります。サイドチェーンに関わる者は、政府や規制機関のWebサイトなどの公式リソースを定期的にチェックすることをお勧めします。とはいえ、ブロックチェーンや暗号通貨を専門とする法律専門家に相談することが、正確で個別のアドバイスを得るための最も信頼できる方法です。
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -1,78 +0,0 @@
|
||||
---
|
||||
html: amendments-object.html #amendments.html is taken by the concept page
|
||||
parent: ledger-entry-types.html
|
||||
seo:
|
||||
description: 有効化されているAmendmentと保留中のAmendmentのステータスを持つシングルトンオブジェクトです。
|
||||
labels:
|
||||
- ブロックチェーン
|
||||
---
|
||||
# Amendments
|
||||
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L110-L113 "Source")
|
||||
|
||||
`Amendments`オブジェクトタイプには、現在アクティブな[Amendment](../../../../concepts/networks-and-servers/amendments.md)のリストが含まれています。各レジャーバージョンには**最大で1つの**`Amendments`オブジェクトが含まれています。
|
||||
|
||||
## {% $frontmatter.seo.title %}のJSONの例
|
||||
|
||||
```json
|
||||
{
|
||||
"Majorities": [
|
||||
{
|
||||
"Majority": {
|
||||
"Amendment": "1562511F573A19AE9BD103B5D6B9E01B3B46805AEC5D3C4805C902B514399146",
|
||||
"CloseTime": 535589001
|
||||
}
|
||||
}
|
||||
],
|
||||
"Amendments": [
|
||||
"42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE",
|
||||
"4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373",
|
||||
"6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC",
|
||||
"740352F2412A9909880C23A559FCECEDA3BE2126FED62FC7660D628A06927F11"
|
||||
],
|
||||
"Flags": 0,
|
||||
"LedgerEntryType": "Amendments",
|
||||
"index": "7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4"
|
||||
}
|
||||
```
|
||||
|
||||
## {% $frontmatter.seo.title %}のフィールド
|
||||
|
||||
[共通フィールド][]に加えて、{% $frontmatter.seo.title %}エントリは以下のフィールドを使用します。
|
||||
|
||||
| 名前 | JSONの型 | [内部の型][] | 必須? | 説明 |
|
||||
|-------------------|---------|------------|-------|------|
|
||||
| `Amendments` | 配列 | VECTOR256 | いいえ | _(省略可)_ 現在有効なすべてのAmendmentの256ビット[Amendment ID](../../../../concepts/networks-and-servers/amendments.md)からなる配列。省略されている場合は、有効なAmendmentがありません。 |
|
||||
| `Flags` | 数値 | UInt32 | はい | ブール値フラグのビットマップ。Amendmentオブジェクトタイプにはフラグが定義されていないため、この値は常に`0`です。 |
|
||||
| `LedgerEntryType` | 文字列 | UInt16 | はい | 値が`0x0066`(文字列`Amendments`にマッピング)の場合は、このオブジェクトがXRP Ledgerに対するAmendmentのステータスを記述していることを示します。 |
|
||||
| `Majorities` | 配列 | STArray | いいえ | _(省略可)_ 過半数の支持を得ているがまだ有効になっていないAmendmentのステータスを記述するオブジェクトの配列。省略されている場合は、過半数の支持を得ている保留中のAmendmentがありません。 |
|
||||
|
||||
`Majorities`フィールドにメンバーが含まれている場合、各メンバーは`Majority`フィールドのみが含まれているオブジェクトです。このフィールドの内容は、以下のフィールドからなるネストオブジェクトです。
|
||||
|
||||
| 名前 | JSONの型 | [内部の型][] | 説明 |
|
||||
|-------------------|---------|------------|-------------|
|
||||
| `Amendment` | 文字列 | Hash256 | 保留中のAmendmentのAmendment ID。 |
|
||||
| `CloseTime` | 数値 | UInt32 | このAmendmentが最後に過半数の支持を得たレジャーバージョンの[`close_time`フィールド](../ledger-header.md)。 |
|
||||
|
||||
[Amendmentプロセス](../../../../concepts/networks-and-servers/amendments.md#amendmentプロセス)では、80%以上のバリデータが新しいAmendmentを支持してバリデータのコンセンサスが得られると、`tfGotMajority`フラグを指定した[EnableAmendment][]疑似トランザクションを使用してこの新しいAmendmentが`Majorities`フィールドに追加されます。保留中のAmendmentの支持が80%を下回ると、`tfLostMajority`フラグが指定された[EnableAmendment][]疑似トランザクションによりそのAmendmentが`Majorities`配列から削除されます。Amendmentが`Majorities`フィールドに含まれている状態が2週間以上継続している場合、フラグが指定されていない[EnableAmendment][]疑似トランザクションによってそのAmendmentは`Majorities`から削除され、`Amendments`フィールドに恒久的に追加されます。
|
||||
|
||||
**注記:** 実際には、レジャー内のすべてのトランザクションは、その直前のレジャーバージョンで有効になっているAmendmentに基づいて処理されます。Amendmentが有効になったレジャーバージョンにトランザクションを適用する場合、このルールでは中間レジャーは変更されません。レジャーの閉鎖後、適用された新しいAmendmentにより定義される新しいルールが次のレジャーで使用されます。
|
||||
|
||||
## {% $frontmatter.seo.title %}のフラグ
|
||||
|
||||
{% code-page-name /%}エントリに定義されているフラグはありません。
|
||||
|
||||
## {% $frontmatter.seo.title %}の準備金
|
||||
|
||||
{% code-page-name /%}エントリは準備金が不要です。
|
||||
|
||||
## Amendment IDのフォーマット
|
||||
|
||||
`Amendments`オブジェクトIDは、`Amendments`スペースキー(`0x0066`)のハッシュのみです。つまり、レジャーの`Amendments`オブジェクトのIDは常に次の値になります:
|
||||
|
||||
```
|
||||
7DB0788C020F02780A673DC74757F23823FA3014C1866E72CC4CD8B226CD6EF4
|
||||
```
|
||||
|
||||
(`Amendments`レジャーオブジェクトタイプのIDと、個々のAmendmentのAmendment IDを混同しないでください。)
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -1,141 +0,0 @@
|
||||
---
|
||||
seo:
|
||||
description: 他のオブジェクトへのリンクを保持します。
|
||||
labels:
|
||||
- データ保持
|
||||
- 分散型取引所
|
||||
---
|
||||
# DirectoryNode
|
||||
[[ソース]](https://github.com/XRPLF/rippled/blob/5d2d88209f1732a0f8d592012094e345cbe3e675/src/ripple/protocol/impl/LedgerFormats.cpp#L44 "Source")
|
||||
|
||||
`DirectoryNode`オブジェクトタイプは、レジャーの状態ツリー内の他オブジェクトへのリンクのリストを提供します。概念上の1つの _ディレクトリ_ は、1つ以上の各DirectoryNodeオブジェクトが含まれる二重リンクリストの形式になっています。各DirectoryNodeオブジェクトには、他オブジェクトの[ID](../common-fields.md)が最大32個まで含まれています。1番目のオブジェクトはディレクトリのルートと呼ばれ、ルートオブジェクト以外のオブジェクトはすべて必要に応じて自由に追加または削除できます。
|
||||
|
||||
ディレクトリには3種類があります。
|
||||
|
||||
* _所有者ディレクトリ_ は、[`RippleState`(トラストライン)](ripplestate.md)エントリや[`Offer`](offer.md)エントリなどアカウントが所有するその他のエントリの一覧です。
|
||||
* _オファーディレクトリ_ は、[分散型取引所(DEX)](../../../../concepts/tokens/decentralized-exchange/index.md)で利用可能なオファーの一覧です。1つのオファーディレクトリには、同一トークン(通貨コードと発行者)に同一の取引レートが設定されているすべてのオファーが含まれます。
|
||||
* _NFTオファーディレクトリ_ は、NFTの買いオファーと売りオファーの一覧です。各NFTには、買いオファー用と売りオファー用の2つのディレクトリがあります。
|
||||
|
||||
## {% $frontmatter.seo.title %}のJSONの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="オファーディレクトリ" %}
|
||||
```json
|
||||
{
|
||||
"ExchangeRate": "4F069BA8FF484000",
|
||||
"Flags": 0,
|
||||
"Indexes": [
|
||||
"AD7EAE148287EF12D213A251015F86E6D4BD34B3C4A0A1ED9A17198373F908AD"
|
||||
],
|
||||
"LedgerEntryType": "DirectoryNode",
|
||||
"RootIndex": "1BBEF97EDE88D40CEE2ADE6FEF121166AFE80D99EBADB01A4F069BA8FF484000",
|
||||
"TakerGetsCurrency": "0000000000000000000000000000000000000000",
|
||||
"TakerGetsIssuer": "0000000000000000000000000000000000000000",
|
||||
"TakerPaysCurrency": "0000000000000000000000004A50590000000000",
|
||||
"TakerPaysIssuer": "5BBC0F22F61D9224A110650CFE21CC0C4BE13098",
|
||||
"index": "1BBEF97EDE88D40CEE2ADE6FEF121166AFE80D99EBADB01A4F069BA8FF484000"
|
||||
}
|
||||
```
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="所有者ディレクトリ" %}
|
||||
```json
|
||||
{
|
||||
"Flags": 0,
|
||||
"Indexes": [
|
||||
"AD7EAE148287EF12D213A251015F86E6D4BD34B3C4A0A1ED9A17198373F908AD",
|
||||
"E83BBB58949A8303DF07172B16FB8EFBA66B9191F3836EC27A4568ED5997BAC5"
|
||||
],
|
||||
"LedgerEntryType": "DirectoryNode",
|
||||
"Owner": "rpR95n1iFkTqpoy1e878f4Z1pVHVtWKMNQ",
|
||||
"RootIndex": "193C591BF62482468422313F9D3274B5927CA80B4DD3707E42015DD609E39C94",
|
||||
"index": "193C591BF62482468422313F9D3274B5927CA80B4DD3707E42015DD609E39C94"
|
||||
}
|
||||
```
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="NFTオファーディレクトリ" %}
|
||||
```json
|
||||
{
|
||||
"result": {
|
||||
"index": "CC45A27DAF06BFA45E8AFC92801AD06A06B7004DAD0F7022E439B3A2F6FA5B5A",
|
||||
"ledger_current_index": 310,
|
||||
"node": {
|
||||
"Flags": 2,
|
||||
"Indexes": [
|
||||
"83C81AC39F9771DDBCD66F6C225FC76EFC0971384EC6148BAFA5BD18019FC495"
|
||||
],
|
||||
"LedgerEntryType": "DirectoryNode",
|
||||
"NFTokenID": "000800009988C43C563A7BB35AF34D642990CDF089F11B445EB3DCCD00000132",
|
||||
"RootIndex": "CC45A27DAF06BFA45E8AFC92801AD06A06B7004DAD0F7022E439B3A2F6FA5B5A",
|
||||
"index": "CC45A27DAF06BFA45E8AFC92801AD06A06B7004DAD0F7022E439B3A2F6FA5B5A"
|
||||
},
|
||||
"status": "success",
|
||||
"validated": false
|
||||
}
|
||||
}
|
||||
```
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
## {% $frontmatter.seo.title %}のフィールド
|
||||
|
||||
| 名前 | JSONの型 | [内部の型][] | 必須? | 説明 |
|
||||
|---------------------|-----------|------------|:------|-------------|
|
||||
| `ExchangeRate` | 数値 | UInt64 | いいえ | (オファーディレクトリのみ)**廃止予定**。使用しないでください。 |
|
||||
| `Flags` | 数値 | UInt32 | はい | このディレクトリに対して有効になっているブール値フラグのビットマップ。現在、プロトコルではDirectoryNodeオブジェクトのフラグは定義されていません。 |
|
||||
| `Indexes` | 配列 | Vector256 | はい | このディレクトリの内容: 他のオブジェクトのIDの配列。 |
|
||||
| `IndexNext` | 数値 | UInt64 | いいえ | (省略可)このディレクトリに複数のページが含まれている場合、このIDはチェーン内の次のオブジェクトにリンクし、末尾でラップアラウンドします。 |
|
||||
| `IndexPrevious` | 数値 | UInt64 | いいえ | (省略可)このディレクトリに複数のページが含まれている場合、このIDはチェーン内の前のオブジェクトにリンクし、先頭でラップアラウンドします。 |
|
||||
| `LedgerEntryType` | 文字列 | UInt16 | はい | 値が`0x0064`(文字列`DirectoryNode`にマッピング)の場合は、このオブジェクトがディレクトリの一部であることを示します。 |
|
||||
| `NFTokenID` | 文字列 | Hash25 | No |(NFTオファーディレクトリのみ) 購入または売却オファーに紐づくNFTのID。. |
|
||||
| `Owner` | 文字列 | AccountID | いいえ | (所有者ディレクトリのみ)このディレクトリ内のオブジェクトを所有するアカウントのアドレス。 |
|
||||
| `RootIndex` | 文字列 | Hash256 | はい | このディレクトリのルートオブジェクトのID。 |
|
||||
| `TakerGetsCurrency` | 文字列 | Hash160 | いいえ | (オファーディレクトリのみ)このディレクトリのオファーのTakerGetsの額の通貨コード。 |
|
||||
| `TakerGetsIssuer` | 文字列 | Hash160 | いいえ | (オファーディレクトリのみ)このディレクトリのオファーのTakerGetsの額のイシュアー。 |
|
||||
| `TakerPaysCurrency` | 文字列 | Hash160 | いいえ | (オファーディレクトリのみ)このディレクトリのオファーのTakerPaysの額の通貨コード。 |
|
||||
| `TakerPaysIssuer` | 文字列 | Hash160 | いいえ | (オファーディレクトリのみ)このディレクトリのオファーのTakerPaysの額のイシュアー。 |
|
||||
|
||||
|
||||
## {% $frontmatter.seo.title %}のフラグ
|
||||
|
||||
{% code-page-name /%}エントリに定義されているフラグはありません。
|
||||
|
||||
|
||||
## {% $frontmatter.seo.title %}の準備金
|
||||
|
||||
{% code-page-name /%}エントリは準備金が不要です。
|
||||
|
||||
|
||||
## ディレクトリ IDのフォーマット
|
||||
|
||||
DirectoryNodeのIDを作成するときには、DirectoryNodeが以下のどのページを表しているかに応じて3種類の方式があります。
|
||||
|
||||
* 所有者ディレクトリまたはNFTオファーディレクトリの1番目のページ(ルートとも呼ばれます)
|
||||
* オファーディレクトリの1番目のページ
|
||||
* いずれかのディレクトリの以降のページ
|
||||
|
||||
**所有者ディレクトリまたはNFTオファーディレクトリの1番目のページ**のIDは、以下の値がこの順序で連結されている[SHA-512ハーフ][]です。
|
||||
|
||||
* 所有者ディレクトリのスペースキー(`0x004F`)
|
||||
* `Owner`フィールドのAccountID。
|
||||
|
||||
**オファーディレクトリの1番目のページ**には特殊なIDがあります。このIDの上位192ビットはオーダーブックを定義し、それ以降の64ビットはこのディレクトリ内のオファーの為替レートを定義します。(IDはビッグエンディアンであるため、最初に位置する上位ビットにブックが含まれ、後に位置する下位ビットにクオリティが含まれます。)これにより、最適なオファーから最低のオファーへの順にオーダーブックを反復できます。具体的には、先頭192ビットとは、以下の値がこの順序で連結されている[SHA-512ハーフ][]の先頭192ビットです。
|
||||
|
||||
* ブックディレクトリのスペースキー(`0x0042`)
|
||||
* `TakerPaysCurrency`の160ビットの通貨コード
|
||||
* `TakerGetsCurrency`の160ビットの通貨コード
|
||||
* `TakerPaysIssuer`のAccountID
|
||||
* `TakerGetsIssuer`のAccountID
|
||||
|
||||
オファーディレクトリのIDの下位64ビットは、そのディレクトリ内のオファーのTakerPaysの額をTakerGetsの額で割った結果を、XRP Ledgerの内部金額フォーマットの64ビット数値で表したものです。
|
||||
|
||||
**DirectoryNodeがディレクトリの1番目のページではない場合**、DirectoryNodeのIDは、以下の値をこの順序で連結した[SHA-512ハーフ][]です。
|
||||
|
||||
* DirectoryNodeスペースキー(`0x0064`)
|
||||
* ルートDirectoryNodeのID
|
||||
* このオブジェクトのページ番号(ルートDirectoryNodeは0であるため、この値は1以上の整数値です。)
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -1,54 +0,0 @@
|
||||
---
|
||||
html: feesettings.html
|
||||
parent: ledger-entry-types.html
|
||||
seo:
|
||||
description: コンセンサスで承認された基本トランザクションコストと必要準備金があるシングルトンオブジェクトです。
|
||||
labels:
|
||||
- 手数料
|
||||
---
|
||||
# FeeSettings
|
||||
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/LedgerFormats.cpp#L115-L120 "Source")
|
||||
|
||||
`FeeSettings`オブジェク
|
||||
トタイプには、現在の基本[トランザクションコスト](../../../../concepts/transactions/transaction-cost.md)と、[手数料投票](../../../../concepts/consensus-protocol/fee-voting.md)により決定する[準備金の額](../../../../concepts/accounts/reserves.md)が含まれています。各レジャーバージョンには**最大で1つの** `FeeSettings`オブジェクトが含まれています。
|
||||
|
||||
## {% $frontmatter.seo.title %} JSONの例
|
||||
|
||||
`FeeSettings`オブジェクトの例。
|
||||
|
||||
```json
|
||||
{
|
||||
"BaseFee": "000000000000000A",
|
||||
"Flags": 0,
|
||||
"LedgerEntryType": "FeeSettings",
|
||||
"ReferenceFeeUnits": 10,
|
||||
"ReserveBase": 20000000,
|
||||
"ReserveIncrement": 5000000,
|
||||
"index": "4BC50C9B0D8515D3EAAE1E74B29A95804346C491EE1A95BF25E4AAB854A6A651"
|
||||
}
|
||||
```
|
||||
|
||||
## {% $frontmatter.seo.title %}フィールド
|
||||
|
||||
`FeeSettings`オブジェクトのフィールドは次のとおりです。
|
||||
|
||||
| 名前 | JSONの型 | [内部の型][] | 説明 |
|
||||
|:--------------------|:----------|:------------------|:-----------------------|
|
||||
| `LedgerEntryType` | 文字列 | UInt16 | 値`0x0073`が文字列`FeeSettings`にマッピングされている場合は、このオブジェクトにレジャーの手数料設定が含まれていることを示します。 |
|
||||
| `BaseFee` | 文字列 | UInt64 | 「リファレンストランザクション」の[トランザクションコスト](../../../../concepts/transactions/transaction-cost.md)(XRPのdrop数、16進数) |
|
||||
| `ReferenceFeeUnits` | 数値 | UInt32 | 「手数料単位」に変換された`BaseFee` |
|
||||
| `ReserveBase` | 数値 | UInt32 | XRP Ledgerのアカウントの[基本準備金](../../../../concepts/accounts/reserves.md#基本準備金と所有者準備金)(XRPのdrop数)。 |
|
||||
| `ReserveIncrement` | 数値 | UInt32 | 所有するオブジェクトごとに増加する[所有者準備金](../../../../concepts/accounts/reserves.md#基本準備金と所有者準備金)(XRPのdrop数)。 |
|
||||
| `Flags` | 数値 | UInt32 | このオブジェクトのブールフラグのビットマップ。このタイプではフラグは定義されていません。 |
|
||||
|
||||
**警告:** このレジャーオブジェクトのJSONフォーマットは一般的ではありません。`BaseFee`、`ReserveBase`、および`ReserveIncrement`はXRPのdrop数を示しますが、通常の[XRP指定][通貨額]フォーマットでは***ありません*** 。
|
||||
|
||||
## FeeSettings IDのフォーマット
|
||||
|
||||
`FeeSettings`オブジェクトIDは、`FeeSettings`スペースキー(`0x0065`)のハッシュのみです。つまり、レジャーの`FeeSettings`オブジェクトのIDは常に次の値になります。
|
||||
|
||||
```
|
||||
4BC50C9B0D8515D3EAAE1E74B29A95804346C491EE1A95BF25E4AAB854A6A651
|
||||
```
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -1,58 +0,0 @@
|
||||
---
|
||||
html: tec-codes.html
|
||||
parent: transaction-results.html
|
||||
seo:
|
||||
description: tecコードは、トランザクションは失敗したものの、トランザクションコストを適用するために、このトランザクションがレジャーに適用されたことを示します。
|
||||
labels:
|
||||
- トランザクション送信
|
||||
---
|
||||
# tecコード
|
||||
|
||||
これらのコードは、トランザクションは失敗したものの、[トランザクションコスト](../../../../concepts/transactions/transaction-cost.md)を適用するために、このトランザクションがレジャーに適用されたことを示します。100から199までの数値が含まれています。数値ではなくテキストコードの使用が推奨されます。
|
||||
|
||||
ほとんどの場合、`tec`コード付きのトランザクションは、[トランザクションコスト](../../../../concepts/transactions/transaction-cost.md)として支払われた分のXRPを消却する以外の操作は実行しませんが、いくつかの例外があります。例外として、`tecOVERSIZE`となったトランザクションは、一部の[資金供給のないオファー](../../../../concepts/tokens/decentralized-exchange/offers.md#オファーのライフサイクル)を引き続きクリーンアップします。[トランザクションメタデータ](../metadata.md)を常に確認し、トランザクションの実行内容を正確に把握してください。
|
||||
|
||||
**注意:** 暫定的に`tec`コードで失敗したトランザクションは、再適用後に成功するか、または別のコードで失敗する可能性があります。検証済みレジャーバージョンに記録される結果が最終結果となります。詳細は、[結果のファイナリティー](../../../../concepts/transactions/finality-of-results/index.md)と[信頼できるトランザクションの送信](../../../../concepts/transactions/reliable-transaction-submission.md)をご覧ください。
|
||||
|
||||
| コード | 値 | 説明 |
|
||||
|:---------------------------|:------|:----------------------------------------|
|
||||
| `tecCLAIM` | 100 | 不明なエラー。トランザクションコストは消却されました。 |
|
||||
| `tecCRYPTOCONDITION_ERROR` | 146 | この[EscrowCreate][]トランザクションまたは[EscrowFinish][]トランザクションに指定されるCrypto-conditionの形式が誤っているか、または一致しませんでした。 |
|
||||
| `tecDIR_FULL` | 121 | トランザクションがアカウントの所有者ディレクトリにオブジェクト(トラストライン、Check、Escrow、Payment Channelなど)を追加しようと試みましたが、このアカウントはレジャーにこれ以上のオブジェクトを所有できません。 |
|
||||
| `tecDUPLICATE` | 149 | トランザクションが、すでに存在するオブジェクト([DepositPreauth][]の承認など)を作成しようとしました。 |
|
||||
| `tecDST_TAG_NEEDED` | 143 | [Paymentトランザクション][]の宛先タグが省略されましたが、支払先アカウントでは`lsfRequireDestTag`フラグが有効になっています。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.28.0" %}新規: rippled 0.28.0{% /badge %} |
|
||||
| `tecEXPIRED` | 148 | トランザクションがオブジェクト(OfferやCheckなど)を作成しようとしましたが、そのオブジェクトで指定された有効期限がすでに経過しています。 |
|
||||
| `tecFAILED_PROCESSING` | 105 | トランザクションの処理中に不明なエラーが発生しました。 |
|
||||
| `tecFROZEN` | 137 | [OfferCreateトランザクション][]が失敗しました。関係する1つまたは両方の資産が[Global Freeze](../../../../concepts/tokens/fungible-tokens/freezes.md)の対象となっています。 |
|
||||
| `tecHAS_OBLIGATIONS ` | 151 | 削除するアカウントが削除できないオブジェクトを所有しているため、[AccountDeleteトランザクション][]が失敗しました。詳細は、[アカウントの削除](../../../../concepts/accounts/deleting-accounts.md)をご覧ください。 |
|
||||
| `tecINSUF_RESERVE_LINE` | 122 | 送信側アカウントに、新しいトラストラインを作成するのに十分なXRPがないため、トランザクションが失敗しました。([準備金](../../../../concepts/accounts/reserves.md)をご覧ください)このエラーは、取引相手から同一通貨の送信側アカウントへのトラストラインがデフォルト以外の状態である場合に発生します。(その他のケースについては`tecNO_LINE_INSUF_RESERVE`をご覧ください。) |
|
||||
| `tecINSUF_RESERVE_OFFER` | 123 | 送信側アカウントに、新しいオファーを作成するのに十分なXRPがないため、トランザクションが失敗しました。([準備金](../../../../concepts/accounts/reserves.md)をご覧ください。) |
|
||||
| `tecINSUFF_FEE` | 136 | 指定された[トランザクションコスト](../../../../concepts/transactions/transaction-cost.md)を支払うのに十分なXRPが送金元アカウントにないため、トランザクションが失敗しました。(この場合、送金元のXRPが指定されたトランザクションコストよりも低い場合でも、トランザクション処理によってすべて消却されます。)この結果は、このトランザクションがコンセンサスセットに含まれるのに十分なネットワークに配布された*後に*アカウントの残高が減少した場合にのみ発生します。そうでない場合、トランザクションは配布される前に[`terINSUF_FEE_B`](ter-codes.md)で失敗します。 |
|
||||
| `tecINSUFFICIENT_RESERVE` | 141 | トランザクションによって[必要準備金](../../../../concepts/accounts/reserves.md)が増加し、送信側アカウントの残高を超える可能性があります。[SignerListSet][]、[PaymentChannelCreate][]、[PaymentChannelFund][]、および[EscrowCreate][]からこのエラーコードが返されることがあります。詳細は、[SignerListと準備金](../../ledger-data/ledger-entry-types/signerlist.md#signerlistと準備金)をご覧ください。 |
|
||||
| `tecINTERNAL` | 144 | 不明な内部エラーが発生し、トランザクションコストは適用されました。通常はこのエラーは返されません。このエラーを再現できる場合は、[問題を報告](https://github.com/XRPLF/rippled/issues)してください。 |
|
||||
| `tecINVARIANT_FAILED` | 147 | このトランザクションを実行しようとしたところ、不変性チェックが失敗しました。[EnforceInvariants Amendment][]により追加されました。このエラーを再現できる場合は、[問題を報告](https://github.com/XRPLF/rippled/issues)してください。 |
|
||||
| `tecKILLED` | 150 | [OfferCreateトランザクション][]がtfFillOrKillフラグを指定しましたが、トランザクションを確定できなかったため、このトランザクションは取り消されました。_([fix1578 Amendment][]により追加されました。)_ |
|
||||
| `tecNEED_MASTER_KEY` | 142 | このトランザクションはマスターキーを必要とする変更([マスターキーの無効化または残高凍結能力の放棄](../types/accountset.md#accountsetのフラグ)など)を試みました。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.28.0" %}新規: rippled 0.28.0{% /badge %} |
|
||||
| `tecNO_ALTERNATIVE_KEY` | 130 | トランザクションが唯一の[トランザクション承認](../../../../concepts/transactions/index.md#トランザクションの承認)メソッドを削除しようとしました。これは、レギュラーキーを削除する[SetRegularKeyトランザクション][]、SignerListを削除する[SignerListSetトランザクション][]、またはマスターキーを無効にする[AccountSetトランザクション][]である可能性があります。(`rippled` 0.30.0より前のバージョンでは、このトランザクションは`tecMASTER_DISABLED`と呼ばれていました。) |
|
||||
| `tecNO_AUTH` | 134 | トランザクションはトラストラインの残高を、`lsfRequireAuth`フラグが有効になっているアカウントに追加する必要がありましたが、そのトラストラインが承認されていなかったため、失敗しました。トラストラインが存在しない場合は、代わりに`tecNO_LINE`が発生します。 |
|
||||
| `tecNO_DST` | 124 | トランザクションの受信側のアカウントが存在しません。これには、PaymentトランザクションタイプやTrustSetトランザクションタイプがあります。(XRPを十分に受信した場合に作成される可能性があります。) |
|
||||
| `tecNO_DST_INSUF_XRP` | 125 | トランザクションの受信側のアカウントが存在しません。トランザクションは、アカウントの作成に十分なXRPを送金していません。 |
|
||||
| `tecNO_ENTRY` | 140 | トランザクションは[Check](../../../../concepts/payment-types/checks.md)か[Payment Channel](../../../../concepts/payment-types/payment-channels.md)か[Deposit Preauth事前承認](../../ledger-data/ledger-entry-types/depositpreauth.md)などの[レジャーオブジェクト](../../ledger-data/ledger-entry-types/index.md)の変更を試みましたが、そのオブジェクトは存在しません。以前のトランザクションで削除されましたか、あるいはこのトランザクションに正しくないIDフィールド(`CheckID`か`Channel`か`Unauthorize`など)があります。 |
|
||||
| `tecNO_ISSUER` | 133 | 通貨額の`issuer`フィールドに指定されたアカウントが存在しません。 |
|
||||
| `tecNO_LINE` | 135 | [OfferCreateトランザクション][]の`TakerPays`フィールドに、`lsfRequireAuth`を有効にしているイシュアーの資産が指定されており、このオファーを行っているアカウントはその資産に関してトラストラインを確立していません。(通常、オファーを暗黙に行うと必要に応じてトラストラインが作成されますが、この場合は承認なしでは資産を保有できないので問題にはなりません。)トラストラインは存在しているが承認されていない場合は、代わりに`tecNO_AUTH`が発生します。 |
|
||||
| `tecNO_LINE_INSUF_RESERVE` | 126 | 送信側アカウントに、新しいトラストラインを作成するのに十分なXRPがないため、トランザクションが失敗しました。([準備金](../../../../concepts/accounts/reserves.md)を参照)このエラーは、取引相手がこのアカウントに対する同一通貨のトラストラインを持っていない場合に発生します。(その他のケースについては`tecINSUF_RESERVE_LINE`をご覧ください。) |
|
||||
| `tecNO_LINE_REDUNDANT` | 127 | トランザクションはトラストラインをデフォルト状態に設定しようと試みましたが、トラストラインが存在していなかったため、失敗しました。 |
|
||||
| `tecNO_PERMISSION` | 139 | 送信者にはこの操作を実行する権限がありません。たとえば[EscrowFinishトランザクション][]が`FinishAfter`時刻に達する前に保留中の支払をリリースしようとしたか、送信者が所有していないChannelで誰かが[PaymentChannelFund][]を使用しようとしたか、または[Payment][]が「DepositAuth」フラグが有効になっているアカウントに資金の送金を試みました。 |
|
||||
| `tecNO_REGULAR_KEY` | 131 | [AccountSetトランザクション][]がマスターキーを無効にしようとしましたが、アカウントにはマスターキー以外で[トランザクションを承認する](../../../../concepts/transactions/index.md#トランザクションの承認)方法がありません。[マルチシグ](../../../../concepts/accounts/multi-signing.md)が有効な場合、このコードは廃止予定であり、代わりに`tecNO_ALTERNATIVE_KEY`が使用されます。 |
|
||||
| `tecNO_TARGET` | 138 | トランザクションが参照するEscrowレジャーオブジェクトまたはPayChannelレジャーオブジェクトが存在していません。これらのオブジェクトは、これまでに存在したことがないか、すでに削除されています。(たとえば、別の[EscrowFinishトランザクション][]で保留中の支払がすでに実行されている場合などです。)あるいは、支払先アカウントで`asfDisallowXRP`が設定されているため、このアカウントは[PaymentChannelCreate][]トランザクションまたは[EscrowCreate][]トランザクションの宛先に指定できません。 |
|
||||
| `tecOVERSIZE` | 145 | サーバがこのトランザクションの適用時に大量のメタデータを作成したため、このトランザクションを処理できませんでした。{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.29.0-hf1" %}新規: rippled 0.29.0-hf1{% /badge %} |
|
||||
| `tecOWNERS` | 132 | トランザクションでは、トランザクションを送信するアカウントの「所有者カウント」はゼロ以外である必要があります。このためトランザクションを正常に完了できません。たとえば、トラストラインや使用可能なオファーがあるアカウントでは、[`lsfRequireAuth`](../types/accountset.md#accountsetのフラグ)フラグを有効にできません。 |
|
||||
| `tecPATH_DRY` | 128 | トランザクションが失敗しました。指定されたパスに、送信の実行に十分な流動性がありませんでした。つまり、支払元アカウントと支払先アカウントはトラストラインにより関連付けされていません。 |
|
||||
| `tecPATH_PARTIAL` | 101 | トランザクションが失敗しました。指定されたパスに、全額を送金するのに十分な流動性がありませんでした。 |
|
||||
| `tecTOO_SOON` | 152 | 削除するアカウントの`Sequence`番号が大きすぎるため、[AccountDeleteトランザクション][]が失敗しました。現行のレジャーインデックスは、アカウントのシーケンス番号より256以上大きくなければなりません。 |
|
||||
| `tecUNFUNDED` | 129 | トランザクションが失敗しました。アカウントがトランザクションの支払額に十分なXRPを保有しておらず、 _かつ_ このトランザクションを実行するのに追加で必要となる準備金が不足しています。([準備金](../../../../concepts/accounts/reserves.md)をご覧ください。) |
|
||||
| `tecUNFUNDED_ADD` | 102 | **廃止予定。** |
|
||||
| `tecUNFUNDED_PAYMENT` | 104 | 送信側アカウントが準備金を考慮せずに、保有するXRPを超える額の送信を試みたため、トランザクションが失敗しました。([準備金](../../../../concepts/accounts/reserves.md)をご覧ください。) |
|
||||
| `tecUNFUNDED_OFFER` | 103 | [OfferCreateトランザクション][]が失敗しました。オファーの作成元アカウントに`TakerGets`通貨がありません。 |
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -1,167 +0,0 @@
|
||||
---
|
||||
html: cancel-a-check.html
|
||||
parent: use-checks.html
|
||||
seo:
|
||||
description: 送金を行わずにCheckを取り消す。
|
||||
labels:
|
||||
- Checks
|
||||
---
|
||||
# Checkの取消し
|
||||
|
||||
_[Checks Amendment][]により追加されました。_
|
||||
|
||||
このチュートリアルでは、[Check](../../../../concepts/payment-types/checks.md)を取り消す手順を説明します。この手順を実行すると、送金を行わずに[レジャーのCheckオブジェクト](../../../../references/protocol/ledger-data/ledger-entry-types/check.md)が削除されます。
|
||||
|
||||
着信したCheckが不要な場合、取り消すことができます。送信時に内容を誤って入力した場合や状況が変化した場合に、送信したCheckを取り消すこともできます。有効期限切れのCheckはレジャーから削除する必要があります。これにより、送金元に[所有者準備金](../../../../concepts/accounts/reserves.md#所有者準備金)が戻ります。
|
||||
|
||||
## 前提条件
|
||||
|
||||
このチュートリアルでCheckを取り消すには、以下が必要です。
|
||||
|
||||
- 現在レジャーに記録されているCheckオブジェクトのIDが必要です。
|
||||
- たとえばこのチュートリアルの例では、IDが`49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0`のCheckを取り消しますが、この手順を自身で実行する場合は異なるIDを使用する必要があります。
|
||||
- CheckCancelトランザクションを送信する資金供給のあるアカウントの**アドレス**と**シークレットキー**。Checkが有効期限切れでない限り、このアドレスは、Checkの送金元または受取人のいずれかでなければなりません。
|
||||
- トランザクションに[安全に署名できる手段](../../../../concepts/transactions/secure-signing.md)。
|
||||
- [クライアントライブラリ](../../../../references/client-libraries.md)またはHTTPライブラリ、WebSocketライブラリなど。
|
||||
|
||||
|
||||
## 1. CheckCancelトランザクションの準備
|
||||
|
||||
[CheckCancelトランザクション][]のフィールドの値を決定します。以下のフィールドは必要最小限のフィールドです。その他のフィールドはオプションまたは署名時に[自動入力](../../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)可能なフィールドです。
|
||||
|
||||
| フィールド | 値 | 説明 |
|
||||
|:------------------|:-----------------|:--------------------------------------|
|
||||
| `TransactionType` | 文字列 | Checkを取り消す場合は文字列`CheckCancel`を使用します。 |
|
||||
| `Account` | 文字列(アドレス) | Checkを取り消す送信元のアドレス。(あなたのアドレスです。) |
|
||||
| `CheckID` | 文字列 | レジャーで取り消すCheckオブジェクトのID。この情報を確認するには、[txメソッド][]を使用してCheckCreateトランザクションのメタデータを調べるか、または[account_objectsメソッド][]を使用してCheckを探します。 |
|
||||
|
||||
### CheckCancelトランザクションの準備の例
|
||||
|
||||
Checkを取り消す例を以下に示します。
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="JSON-RPC、WebSocket、またはコマンドライン" %}
|
||||
```json
|
||||
{
|
||||
"TransactionType": "CheckCancel",
|
||||
"Account": "rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo",
|
||||
"CheckID": "49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0",
|
||||
"Fee": "12"
|
||||
}
|
||||
```
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/prepareCancel.js" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
## 2. CheckCancelトランザクションの署名
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/tutorial-sign-step.md" /%}
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/signCancel.js" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/sign-cancel-req.sh" language="bash" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/sign-cancel-resp.txt" language="" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/sign-cancel-resp.txt" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
## 3. 署名済みCheckCancelトランザクションの送信
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/tutorial-submit-step.md" /%}
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/submitCancel.js" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/submit-cancel-req.sh" language="bash" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/submit-cancel-resp.txt" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/submit-cancel-resp.txt" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
## 4. 検証の待機
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/wait-for-validation.md" /%}
|
||||
|
||||
## 5. 最終結果の確認
|
||||
|
||||
トランザクションのステータスを確認するには、CheckCancelトランザクションの識別用ハッシュを指定した[txメソッド][]を使用します。トランザクションが成功したことを示す`"TransactionResult": "tesSUCCESS"`フィールドをトランザクションメタデータから検索し、またこの結果が最終結果であることを示す`"validated": true`フィールドを結果から検索します。
|
||||
|
||||
トランザクションによって[Checkレジャーオブジェクト](../../../../references/protocol/ledger-data/ledger-entry-types/check.md)が削除されたことを示す`"LedgerEntryType": "Check"`を含む`DeletedNode`オブジェクトを、トランザクションメタデータから検索します。このオブジェクトの`LedgerIndex`はCheckのIDに一致している必要があります。
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/getCancelTx.js" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/tx-cancel-req.sh" language="bash" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/get-cancel-tx-resp.txt" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/tx-cancel-resp.txt" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -1,197 +0,0 @@
|
||||
---
|
||||
html: cash-a-check-for-a-flexible-amount.html
|
||||
parent: use-checks.html
|
||||
seo:
|
||||
description: Checkから可能な限りの額を受領します。
|
||||
labels:
|
||||
- Checks
|
||||
---
|
||||
# Checkの変動金額での換金
|
||||
|
||||
_[Checks Amendment][]により追加されました。_
|
||||
|
||||
Checkがレジャーに記録されており有効期限切れではない場合は、指定受取人は`DeliverMin`フィールドを指定した[CheckCashトランザクション][]を送信することで、Checkを変動金額で換金して受領できます。この方法でCheckを換金すると、受取人は送金を最大限受領でき、Checkの送金元からは、Checkの`SendMax`の全額が引き落とされるか、または可能な限りの額が引き落とされます。Checkの受取人に`DeliverMin`以上の額を送金できない場合は換金が失敗します。
|
||||
|
||||
Checkから可能な限りの額を受領したい場合には、変動金額でCheckを換金できます。
|
||||
|
||||
指定受取人は、[Checkを正確な金額で換金する](cash-a-check-for-a-flexible-amount.md)こともできます。
|
||||
|
||||
|
||||
## 前提条件
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/checkcash-prereqs.md" /%}
|
||||
|
||||
## 1. CheckCashトランザクションの準備
|
||||
|
||||
[CheckCashトランザクション][]のフィールドの値を決定します。Checkを変動金額で換金する場合、以下のフィールドは必要最小限です。それ以外のフィールドはオプションまたは署名時に[自動入力](../../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)可能なフィールドです。
|
||||
|
||||
| フィールド | 値 | 説明 |
|
||||
|:------------------|:--------------------------|:-----------------------------|
|
||||
| `TransactionType` | 文字列 | 値が`CheckCash`の場合、これはCheckCashトランザクションです。 |
|
||||
| `Account` | 文字列(アドレス) | Checkを換金する送信者のアドレス。(あなたのアドレスです。) |
|
||||
| `CheckID` | 文字列 | レジャーで換金するCheckオブジェクトのID。この情報を確認するには、[txメソッド][]を使用してCheckCreateトランザクションのメタデータを調べるか、または[account_objectsメソッド][]を使用してCheckを探します。 |
|
||||
| `DeliverMin` | 文字列またはオブジェクト(額) | Checkから受領する最小額。この額を受領できない場合はCheckの換金が失敗し、Checkがレジャーに残るので、後で換金を再試行できます。XRPの場合、XRPのdrop数を示す文字列でなければなりません。トークンの場合、これは`currency`、`issuer`、および`value` フィールドを持つオブジェクトです。`currency`フィールドと`issuer`フィールドは、Checkオブジェクトの対応するフィールドに一致しており、`value`はCheckオブジェクトの額以下でなければなりません。詳細は、[通貨額の指定][]をご覧ください。 |
|
||||
|
||||
### 変動金額で換金するCheckCashトランザクションの準備の例
|
||||
|
||||
Checkを変動金額で換金するためのトランザクションを準備する手順を以下の例に示します。
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="JSON-RPC、WebSocket、またはコマンドライン" %}
|
||||
```json
|
||||
{
|
||||
"Account": "rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis",
|
||||
"TransactionType": "CheckCash",
|
||||
"DeliverMin": "95000000",
|
||||
"CheckID": "2E0AD0740B79BE0AAE5EDD1D5FC79E3C5C221D23C6A7F771D85569B5B91195C2"
|
||||
}
|
||||
```
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/prepareCashFlex.js" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
## 2. CheckCashトランザクションの署名
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/tutorial-sign-step.md" /%}
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/sign-cash-flex-req.sh" language="bash" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/sign-cash-flex-resp.txt" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
## 3. 署名済みCheckCashトランザクションの送信
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/tutorial-submit-step.md" /%}
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/submit-cash-flex-req.sh" language="bash" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/submit-cash-flex-resp.txt" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
## 4. 検証の待機
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/wait-for-validation.md" /%}
|
||||
|
||||
## 5. 最終結果の確認
|
||||
|
||||
トランザクションのステータスを確認するには、CheckCashトランザクションの識別用ハッシュを指定した[txメソッド][]を使用します。トランザクションが成功したことを示す`"TransactionResult": "tesSUCCESS"`フィールドをトランザクションメタデータから検索し、またこの結果が最終結果であることを示す`"validated": true`フィールドを結果から検索します。
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/tx-cash-flex-req.sh" language="bash" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/tx-cash-flex-resp.txt" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
### エラー処理
|
||||
|
||||
[](../../../../references/protocol/transactions/transaction-results/index.md)Checkの換金が`tec`クラスコードで失敗した場合は、[すべてのトランザクションレスポンスのリスト](../../../../references/protocol/transactions/transaction-results/index.md)でコードを確認し、適切に対処してください。CheckCashトランザクションでよく返される結果コードの一部を次に示します。
|
||||
|
||||
| 結果コード | 意味 | 対処 |
|
||||
|-------------|---------|----------------|
|
||||
| `tecEXPIRED` | Checkが有効期限切れです。 | Checkを取り消して、以前より長い有効期限を設定して新しいCheckを作成するように送金元に依頼します。 |
|
||||
| `tecNO_ENTRY` | Check IDが存在していません。 | CheckCashトランザクションの`CheckID`が正しいことを確認してください。Checkがまだ取り消されていないこと、または正常に換金されていないことを確認してください。 |
|
||||
| `tecNO_LINE` | 受取人がCheckの通貨のトラストラインを所有していません。 | このイシュアーからのこの通貨を保有するには、指定された通貨とイシュアーのトラストラインを作成し、[TrustSetトランザクション][]を使用してこのトラストラインに適切な限度額を設定してから、Checkの換金を再試行します。 |
|
||||
| `tecNO_PERMISSION` | CheckCashトランザクションの送信者はCheckの`Destination`ではありません。 | Checkの`Destination`を再度確認します。 |
|
||||
| `tecNO_AUTH` | このCheckの通貨のイシュアーは[Authorized Trust Line](../../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md)を使用していますが、受取人からイシュアーへのトラストラインが承認されていません。 | このトラストラインを承認するようイシュアーに依頼し、承認されたらCheckの換金を再試行します。 |
|
||||
| `tecPATH_PARTIAL` | トラストラインの限度額、または送金元に送金通貨の残高(イシュアーの[送金手数料](../../../../concepts/tokens/transfer-fees.md)がある場合はこの手数料を含む)が十分になかったことが原因で、Checkでは十分なトークンを送金できませんでした。 | 原因がトラストラインの限度額である場合は、(希望する場合には)限度額を引き上げる[TrustSetトランザクション][]を送信するか、または通貨の一部を消費して残高を減らしてから、Checkの換金を再試行します。原因が送金元の残高である場合は、送金元にCheckの通貨が積み増しされるまで待つか、または以前よりも低い額でCheckの換金を再試行します。 |
|
||||
| `tecUNFUNDED_PAYMENT` | Checkで十分なXRPを送金できませんでした。 | 送金元にXRPが積み増しされるまで待つか、または以前よりも低い額でCheckの換金を再試行します。 |
|
||||
|
||||
## 6. 送金された額の確認
|
||||
|
||||
Checkが変動する`DeliverMin`の額で換金された場合は、Checkは少なくとも`DeliverMin`の額で換金されたと想定できます。送金された額を正確に得るには、トランザクションメタデータを調べます。<!--{# TODO: Update if RIPD-1623 adds a delivered_amount field. #}-->メタデータの`AffectedNodes`配列には、通貨のタイプに応じて、Checkの換金による残高の変更を反映した1~2つのオブジェクトが含まれています。
|
||||
|
||||
- XRPの場合、Checkの送金元の`AccountRoot`オブジェクトのXRP `Balance` フィールドから引き落しが行われます。Checkの受取人(CheckCashトランザクションを送信したユーザ)の`AccountRoot`オブジェクトでは、最低でもCheckCashトランザクションの`DeliverMin`から、トランザクションの送信にかかる[トランザクションコスト](../../../../concepts/transactions/transaction-cost.md)を差し引いた額が、XRP `Balance`に入金されます。
|
||||
|
||||
たとえば以下の`ModifiedNode`は、アカウントrGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis(Checkの受取人でありこのCheckCashトランザクションの送信者)のXRP残高が`9999999970` dropから`10099999960` dropに変更されています。つまり、このトランザクションを処理した結果として、受取人に対し _正味_ 99.99999 XRPが入金されています。
|
||||
|
||||
```
|
||||
{
|
||||
"ModifiedNode": {
|
||||
"FinalFields": {
|
||||
"Account": "rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis",
|
||||
"Balance": "10099999960",
|
||||
"Flags": 0,
|
||||
"OwnerCount": 2,
|
||||
"Sequence": 5
|
||||
},
|
||||
"LedgerEntryType": "AccountRoot",
|
||||
"LedgerIndex": "7939126A732EBBDEC715FD3CCB056EB31E65228CA17E3B2901E7D30B90FD03D3",
|
||||
"PreviousFields": {
|
||||
"Balance": "9999999970",
|
||||
"Sequence": 4
|
||||
},
|
||||
"PreviousTxnID": "0283465F0D21BE6B1E91ABDE17266C24C1B4915BAAA9A88CC098A98D5ECD3E9E",
|
||||
"PreviousTxnLgrSeq": 8005334
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
正味金額99.99999 XRPは、このCheckCashトランザクションを送信するにあたり、トランザクションコストを支払うために消却された額を差し引いた後の金額です。以下のトランザクション指示(抜粋)は、トランザクションコスト(`Fee`フィールド)がXRPの10 dropであることを示しています。これを正味残高の変更に追加することで、このCheckの換金のために受取人rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAisに _総額_ 100 XRPが入金されます。
|
||||
|
||||
```
|
||||
"Account" : "rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis",
|
||||
"TransactionType" : "CheckCash",
|
||||
"DeliverMin" : "95000000",
|
||||
"Fee" : "10",
|
||||
```
|
||||
|
||||
- Checkの送金元または受取人がイシュアーであるトークンの場合、これらのアカウント間のトラストラインを表す`RippleState`オブジェクトでは、`Balance`がCheckの受取人に有利な方法で調整されています。
|
||||
|
||||
- イシュアーが第三者であるトークンの場合、2つの`RippleState`(送金元からイシュアーへのトラストラインとイシュアーから受取人へのトラストライン)に対する変更があります。Checkの送金元とイシュアーの関係を表す`RippleState`オブジェクトではその`Balance`がイシュアーに有利に変更され、イシュアーと受取人の間の関係を表す`RippleState`オブジェクトではその`Balance`が受取人に有利に変更されます。
|
||||
|
||||
- トークンに[送金手数料](../../../../concepts/tokens/transfer-fees.md)がある場合、受取人への入金額を上回る額がCheckの送金元から引き落とされます。(この差額が送金手数料であり、これがイシュアーに戻されることによりイシュアーの正味の債務は減少します。)
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -1,141 +0,0 @@
|
||||
---
|
||||
html: cash-a-check-for-an-exact-amount.html
|
||||
parent: use-checks.html
|
||||
seo:
|
||||
description: Checkに指定されている額までの正確な額を受領します。
|
||||
labels:
|
||||
- Checks
|
||||
---
|
||||
# Checkの正確な金額での換金
|
||||
|
||||
_[Checks Amendment][]により追加されました。_
|
||||
|
||||
Checkがレジャーに含まれており有効期限切れではない場合は、指定の受取人は`Amount`フィールドを指定した[CheckCashトランザクション][]を送信することで、Checkを換金し、Checkに指定されている額までの正確な額を受領できます。請求書の額面通りの金額を回収したい場合など、特定の金額の受領を希望する際には、この方法でCheckを換金できます。
|
||||
|
||||
指定の受取人は、[Checkを変動金額で換金する](cash-a-check-for-a-flexible-amount.md)こともできます。
|
||||
|
||||
## 前提条件
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/checkcash-prereqs.md" /%}
|
||||
|
||||
## 1. CheckCashトランザクションの準備
|
||||
|
||||
[CheckCashトランザクション][]のフィールドの値を決定します。Checkを正確な金額で換金する場合、以下のフィールドが最低限必要です。それ以外のフィールドはオプションまたは署名時に[自動入力](../../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)可能なフィールドです。
|
||||
|
||||
| フィールド | 値 | 説明 |
|
||||
|:------------------|:--------------------------|:-----------------------------|
|
||||
| `TransactionType` | 文字列 | 値が`CheckCash`の場合、これはCheckCashトランザクションです。 |
|
||||
| `Account` | 文字列(アドレス) | Checkを換金する送信者のアドレス。(あなたのアドレスです。) |
|
||||
| `CheckID` | 文字列 | レジャーで換金するCheckオブジェクトのID。この情報を確認するには、[txメソッド][]を使用してCheckCreateトランザクションのメタデータを調べるか、または[account_objectsメソッド][]を使用してCheckを探します。 |
|
||||
| `Amount` | 文字列またはオブジェクト(額) | Checkから精算する額。XRPの場合、XRPのdrop数を示す文字列でなければなりません。トークンの場合、これは`currency`、`issuer`、および`value` フィールドを持つオブジェクトです。`currency`フィールドと`issuer`フィールドは、Checkオブジェクトの対応するフィールドに一致しており、`value`はCheckオブジェクトの額以下でなければなりません。(送金手数料のかかる通貨の場合、`SendMax`で送金手数料を支払えるように、`SendMax`よりも低い額を換金する必要があります。)この額を受領できない場合はCheckの換金が失敗し、Checkがレジャーに残るので、後で換金を再試行できます。詳細は、[通貨額の指定][]をご覧ください。 |
|
||||
|
||||
|
||||
### 正確な金額で換金するCheckCashトランザクションの準備の例
|
||||
|
||||
Checkを正確な金額で換金するためのトランザクションを準備する手順を以下の例に示します。
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="JSON-RPC、WebSocket、またはコマンドライン" %}
|
||||
```json
|
||||
{
|
||||
"Account": "rfkE1aSy9G8Upk4JssnwBxhEv5p4mn2KTy",
|
||||
"TransactionType": "CheckCash",
|
||||
"Amount": "100000000",
|
||||
"CheckID": "838766BA2B995C00744175F69A1B11E32C3DBC40E64801A4056FCBD657F57334",
|
||||
"Fee": "12"
|
||||
}
|
||||
```
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/prepareCashExact.js" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
## 2. CheckCashトランザクションの署名
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/tutorial-sign-step.md" /%}
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/sign-cash-exact-req.sh" language="bash" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/sign-cash-exact-resp.txt" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
## 3. 署名済みCheckCashトランザクションの送信
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/tutorial-submit-step.md" /%}
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/submit-cash-exact-req.sh" language="bash" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/submit-cash-exact-resp.txt" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
## 4. 検証の待機
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/wait-for-validation.md" /%}
|
||||
|
||||
## 5.最終結果の確認
|
||||
|
||||
トランザクションのステータスを確認するには、CheckCashトランザクションの識別用ハッシュを指定した[txメソッド][]を使用します。トランザクションが成功したことを示す`"TransactionResult": "tesSUCCESS"`フィールドをトランザクションメタデータから検索し、またこの結果が最終結果であることを示す`"validated": true`フィールドを結果から検索します。
|
||||
|
||||
Checkが正確な`Amount`で換金された場合は、受取人に対し正確な額が入金されたと想定できます(トークンの金額が極めて大きい場合や小さい場合は、金額が丸められることがあります)。
|
||||
|
||||
Checkを換金できない場合、Checkはレジャーに残るため、後日換金を再試行できます。代わりに[Checkを変動金額で換金する](cash-a-check-for-a-flexible-amount.md)ことができます。
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/tx-cash-exact-req.sh" language="bash" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/tx-cash-exact-resp.txt" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -1,73 +0,0 @@
|
||||
---
|
||||
html: look-up-checks-by-recipient.html
|
||||
parent: use-checks.html
|
||||
seo:
|
||||
description: 特定のアドレスで受信されるすべてのCheckのリストを取得する。
|
||||
labels:
|
||||
- Checks
|
||||
---
|
||||
# 受取人に基づくCheckの検索
|
||||
|
||||
_[Checks Amendment][]により追加されました。_
|
||||
|
||||
このチュートリアルでは、[Check](../../../../concepts/payment-types/checks.md)をその受取人で検索する方法を説明します。[Checkを送金元で検索する](look-up-checks-by-sender.md)こともできます。
|
||||
|
||||
## 1. 特定のアドレスのすべてのCheckの検索
|
||||
|
||||
特定のアドレスで受信および送信されるすべてのCheckのリストを取得するには、受取人アカウントのアドレスを指定した`account_objects`コマンドを実行し、リクエストの`type` フィールドを`checks`に設定します。
|
||||
|
||||
**注記:**`account_objects`コマンドのコマンドラインインターフェイスでは`type`フィールドは受け入れられません。代わりに[jsonメソッド][]を使用してコマンドラインからJSON-RPCフォーマットのリクエストを送信できます。
|
||||
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="RippleAPI" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/getChecks.js" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="JSON-RPC" %}
|
||||
{% code-snippet file="/_code-samples/checks/json-rpc/account_objects-req.json" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="RippleAPI" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/get-checks-resp.txt" language="" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="JSON-RPC" %}
|
||||
{% code-snippet file="/_code-samples/checks/json-rpc/account_objects-resp.json" language="json" prefix="200 OK\n\n" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
## 2. 受取人に基づくレスポンスの絞り込み
|
||||
|
||||
レスポンスには、リクエストのアカウントが送金元であるCheckと、アカウントが受取人であるCheckが含まれていることがあります。レスポンスの`account_objects`配列の各メンバーは1つのCheckを表します。これらの各Checkオブジェクトでは、`Destination`のアドレスはそのCheckの受取人のアドレスです。
|
||||
|
||||
以下の疑似コードに、受取人でレスポンスを絞り込む方法を示します。
|
||||
|
||||
```js
|
||||
recipient_address = "rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za"
|
||||
account_objects_response = get_account_objects({
|
||||
account: recipient_address,
|
||||
ledger_index: "validated",
|
||||
type: "check"
|
||||
})
|
||||
|
||||
for (i=0; i < account_objects_response.account_objects.length; i++) {
|
||||
check_object = account_objects_response.account_objects[i]
|
||||
if (check_object.Destination == recipient_address) {
|
||||
log("Check to recipient:", check_object)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -1,71 +0,0 @@
|
||||
---
|
||||
html: look-up-checks-by-sender.html
|
||||
parent: use-checks.html
|
||||
seo:
|
||||
description: 特定のアドレスで送信されるすべてのCheckのリストを取得する。
|
||||
labels:
|
||||
- Checks
|
||||
---
|
||||
# 送金元に基づくCheckの検索
|
||||
|
||||
_[Checks Amendment][]により追加されました。_
|
||||
|
||||
このチュートリアルでは、[Check](../../../../concepts/payment-types/checks.md)をその送金元で検索する方法を説明します。[Checkを受取人で検索する](look-up-checks-by-recipient.md)こともできます。
|
||||
|
||||
## 1. 特定のアドレスのすべてのCheckの検索
|
||||
|
||||
特定のアドレスで受信および送信されるすべてのCheckのリストを取得するには、送金元アカウントのアドレスを指定した`account_objects`コマンドを実行し、リクエストの`type` フィールドを`checks`に設定します。
|
||||
|
||||
**注記:**`account_objects`コマンドのコマンドラインインターフェイスでは`type`フィールドは受け入れられません。代わりに[jsonメソッド][]を使用してコマンドラインからJSON-RPCフォーマットのリクエストを送信できます。
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="RippleAPI" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/getChecks.js" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="JSON-RPC" %}
|
||||
{% code-snippet file="/_code-samples/checks/json-rpc/account_objects-req.json" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="RippleAPI" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/get-checks-resp.txt" language="" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="JSON-RPC" %}
|
||||
{% code-snippet file="/_code-samples/checks/json-rpc/account_objects-resp.json" language="json" prefix="200 OK\n\n" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
## 2. 送金元に基づくレスポンスの絞り込み
|
||||
|
||||
レスポンスには、リクエストのアカウントが送金元であるCheckと、アカウントが受取人であるCheckが含まれていることがあります。レスポンスの`account_objects`配列の各メンバーは1つのCheckを表します。これらの各Checkオブジェクトでは、`Account`のアドレスはそのCheckの送金元のアドレスです。
|
||||
|
||||
以下の疑似コードに、送金元でレスポンスを絞り込む方法を示します。
|
||||
|
||||
```js
|
||||
sender_address = "rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za"
|
||||
account_objects_response = get_account_objects({
|
||||
account: sender_address,
|
||||
ledger_index: "validated",
|
||||
type: "check"
|
||||
})
|
||||
|
||||
for (i=0; i < account_objects_response.account_objects.length; i++) {
|
||||
check_object = account_objects_response.account_objects[i]
|
||||
if (check_object.Account == sender_address) {
|
||||
log("Check from sender:", check_object)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -1,195 +0,0 @@
|
||||
---
|
||||
html: send-a-check.html
|
||||
parent: use-checks.html
|
||||
seo:
|
||||
description: 受取人が後で現金化できるCheckオブジェクトが作成されます。
|
||||
labels:
|
||||
- Checks
|
||||
---
|
||||
# Checkの送信
|
||||
|
||||
Checkの送信は、指定受取人にあなたからの支払いを引き出す許可を与えることに似ています。このプロセスの結果、受取人が後で現金化できる[レジャーのCheckオブジェクト](../../../../references/protocol/ledger-data/ledger-entry-types/check.md)が作成されます。
|
||||
|
||||
多くの場合、Checkではなく[Payment][]が送信されます。これは、Paymentでは1つのステップで受取人に直接送金できるためです。ただし、指定受取人が[DepositAuth](../../../../concepts/accounts/depositauth.md)を使用している場合はPaymentを直接送信できないため、代替手段としてCheckが適切です。
|
||||
|
||||
このチュートリアルでは、架空の会社BoxSend SG(XRP LedgerアドレスはrBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za)が架空の暗号資産コンサルタント会社Grand Payments(XRP LedgerアドレスはrGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis)に、コンサルティング料を支払う例を取り上げます。Grand PaymentsはXRPでの支払いを望んでいますが、税務処理と規制対応を簡素化するため、明示的に承認した支払いのみを受け入れます。
|
||||
|
||||
XRP Ledgerの外部でGrand PaymentsはBoxSend SGに請求書(IDは`46060241FABCF692D4D934BA2A6C4427CD4279083E38C77CBE642243E43BE291`)を送り、Grand PaymentsのXRP Ledgerアドレス(rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis)宛てに100 XRPのCheckを送信するよう要求します。
|
||||
|
||||
|
||||
## 前提条件
|
||||
|
||||
このチュートリアルでCheckを送信するには、以下が必要です。
|
||||
|
||||
- Checkの送信元である資金供給のあるアカウントの**アドレス**と**シークレットキー**。
|
||||
- [XRP Ledger Test Net Faucet](/resources/dev-tools/xrp-faucets)を使用して、10,000 Test Net XRPを保有する資金供給のあるアドレスおよびシークレットを取得できます。
|
||||
- Checkを受領する資金供給のあるアカウントの**アドレス**。
|
||||
- トランザクションに[安全に署名できる手段](../../../../concepts/transactions/secure-signing.md)。
|
||||
- [クライアントライブラリ](../../../../references/client-libraries.md)またはHTTPライブラリ、WebSocketライブラリなど。
|
||||
|
||||
## 1. CheckCreateトランザクションの準備
|
||||
|
||||
Checkの額と、Checkを現金化できる当事者を決定します。[CheckCreateトランザクション][]のフィールドの値を決定します。以下のフィールドは必要最小限のフィールドです。その他のフィールドはオプションまたは署名時に[自動入力](../../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)できるフィールドです。
|
||||
|
||||
| フィールド | 値 | 説明 |
|
||||
|:------------------|:--------------------------|:-----------------------------|
|
||||
| `TransactionType` | 文字列 | このフィールドには文字列`CheckCreate`を使用します。 |
|
||||
| `Account` | 文字列(アドレス) | Checkを作成する送金元のアドレス。(あなたのアドレスです。) |
|
||||
| `Destination` | 文字列(アドレス) | Checkを換金できる指定受取人のアドレス。 |
|
||||
| `SendMax` | 文字列またはオブジェクト(額) | Checkが現金化されるときに送金元から引き出される最大額。XRPの場合、XRPのdrop数を示す文字列を使用します。トークンの場合、`currency`、`issuer`、および`value` フィールドを含むオブジェクトを使用します。詳細は、[通貨額の指定][]をご覧ください。受取人がXRP以外の通貨で正確な額のCheckを換金できるようにし、かつ[送金手数料](../../../../concepts/tokens/transfer-fees.md)を含めるには、送金手数料分の追加パーセンテージを必ず指定してください。(たとえば受取人が送金手数料2%でCheckをイシュアーからの100 CADに現金化できるようにするには、`SendMax`をイシュアーからの102 CADに設定する必要があります。) |
|
||||
|
||||
### CheckCreateトランザクションの準備の例
|
||||
|
||||
以下の例は、BoxSend SG(`rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za`)がGrand Payments(`rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis`)宛てに作成した100 XRPのCheckです。追加(オプション)のメタデータとして、BoxSend SGはGrand Paymentsの請求書のIDを追加しています。これによりGrand PaymentsはこのCheckがどの請求書に対する支払いかを確認できます。
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/prepareCreate.js" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="JSON-RPC、WebSocket、またはコマンドライン" %}
|
||||
```json
|
||||
{
|
||||
"TransactionType":"CheckCreate",
|
||||
"Account":"rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za",
|
||||
"Destination":"rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis",
|
||||
"SendMax":"100000000",
|
||||
"InvoiceID":"46060241FABCF692D4D934BA2A6C4427CD4279083E38C77CBE642243E43BE291"
|
||||
}
|
||||
```
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
## 2. CheckCreateトランザクションへの署名
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/tutorial-sign-step.md" /%}
|
||||
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/signCreate.js" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="WebSocket" %}
|
||||
{% code-snippet file="/_code-samples/checks/websocket/sign-create-req.json" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/sign-create-req.sh" language="bash" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
#### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/sign-create-resp.txt" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="WebSocket" %}
|
||||
{% code-snippet file="/_code-samples/checks/websocket/sign-create-resp.json" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/sign-create-resp.txt" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
## 3.署名済みトランザクションの送信
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/tutorial-submit-step.md" /%}
|
||||
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/submitCreate.js" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="WebSocket" %}
|
||||
{% code-snippet file="/_code-samples/checks/websocket/submit-create-req.json" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/submit-create-req.sh" language="bash" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/submit-create-resp.txt" language="js" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="WebSocket" %}
|
||||
{% code-snippet file="/_code-samples/checks/websocket/submit-create-resp.json" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/submit-create-resp.txt" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
|
||||
## 4.検証の待機
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/wait-for-validation.md" /%}
|
||||
|
||||
|
||||
## 5.最終結果の確認
|
||||
|
||||
トランザクションのステータスを確認するには、CheckCreateトランザクションの識別用ハッシュを指定した[txメソッド][]を使用します。トランザクションメタデータで、トランザクションが成功したことを示す`"TransactionResult": "tesSUCCESS"`フィールドを探し、またこの結果が最終結果であることを示す`"validated": true`フィールドを結果で探します。
|
||||
|
||||
トランザクションのメタデータで、`LedgerEntryType`が `"Check"`の`CreatedNode`オブジェクトを探します。これは、トランザクションにより[Checkレジャーオブジェクト](../../../../references/protocol/ledger-data/ledger-entry-types/check.md)が作成されたことを示します。このオブジェクトの`LedgerIndex` がCheckのIDです。以下の例ではCheckのIDは`84C61BE9B39B2C4A2267F67504404F1EC76678806C1B901EA781D1E3B4CE0CD9`です。
|
||||
|
||||
### リクエストの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/getCreateTx.js" language="" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="WebSocket" %}
|
||||
{% code-snippet file="/_code-samples/checks/websocket/tx-create-req.json" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/tx-create-req.sh" language="bash" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
### レスポンスの例
|
||||
|
||||
{% tabs %}
|
||||
|
||||
{% tab label="ripple-lib 1.x" %}
|
||||
{% code-snippet file="/_code-samples/checks/js/get-create-tx-resp.txt" language="" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="WebSocket" %}
|
||||
{% code-snippet file="/_code-samples/checks/websocket/tx-create-resp.json" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="コマンドライン" %}
|
||||
{% code-snippet file="/_code-samples/checks/cli/tx-create-resp.txt" language="json" /%}
|
||||
{% /tab %}
|
||||
|
||||
{% /tabs %}
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -1,32 +0,0 @@
|
||||
---
|
||||
html: public-servers.html
|
||||
parent: get-started.html
|
||||
seo:
|
||||
description: これらの公開サーバを利用して、自社のインフラを必要とせずにXRP Ledgerにアクセスします。
|
||||
labels:
|
||||
- コアサーバ
|
||||
---
|
||||
# 公開サーバ
|
||||
|
||||
[自分で`rippled`サーバを運営しない](../infrastructure/installation/index.md)場合は、以下の公開サーバを利用して、トランザクションを送信したり、レジャーからデータを取得したりすることができます。
|
||||
|
||||
| 運営者 | [ネットワーク][] | JSON-RPC URL | WebSocket URL | 尾行 |
|
||||
|:----------|:------------|:-------------|:--------------|:---------------------|
|
||||
| XRP Ledger 財団 | **Mainnet** | `https://xrplcluster.com/` <br> `https://xrpl.ws/` [²][] | `wss://xrplcluster.com/` <br> `wss://xrpl.ws/` [²][] | CORSをサポートする全履歴サーバクラスター |
|
||||
| Ripple[¹][] | **Mainnet** | `https://s1.ripple.com:51234/` | `wss://s1.ripple.com/` | 汎用サーバクラスター |
|
||||
| Ripple[¹][] | **Mainnet** | `https://s2.ripple.com:51234/` | `wss://s2.ripple.com/` | [全履歴サーバ](../concepts/networks-and-servers/ledger-history.md#すべての履歴) クラスター |
|
||||
| Ripple[¹][] | Testnet | `https://s.altnet.rippletest.net:51234/` | `wss://s.altnet.rippletest.net:51233/` | Testnet 公開サーバ |
|
||||
| XRPL Labs | Testnet | `https://testnet.xrpl-labs.com/` | `wss://testnet.xrpl-labs.com/` | CORSをサポートする Testnet 公開サーバ |
|
||||
| Ripple[¹][] | Devnet | `https://s.devnet.rippletest.net:51234/` | `wss://s.devnet.rippletest.net:51233/` | Devnet 公開サーバ |
|
||||
| Ripple[¹][] | Sidechain-Devnet | `https://sidechain-net2.devnet.rippletest.net:51234/` | `wss://sidechain-net2.devnet.rippletest.net:51233/` | クロスチェーンブリッジ機能をテストするためのサイドチェーンDevnet。Devnetはロックチェーンとして機能し、このサイドチェーンは発行チェーンとして機能します。 |
|
||||
| XRPL Labs | Xahau Testnet | `https://xahau-test.net/` | `wss://xahau-test.net/` | [Hooksが有効な](https://hooks.xrpl.org/) Xahau Testnet |
|
||||
|
||||
[ネットワーク]: ../concepts/networks-and-servers/parallel-networks.md
|
||||
[¹]: #footnote-1
|
||||
[²]: #footnote-2
|
||||
|
||||
<a id="footnote-1"></a>¹ Ripple社の公開サーバは、持続的な利用やビジネスでの利用には適しておらず、いつでも利用できなくなる可能性があります。定期的に使用する場合は、ご自身で`rippled`サーバを運用するか、信頼できる人と契約してください。Ripple社の公開クラスターには[Reporting Mode][]サーバが含まれています。
|
||||
|
||||
<a id="footnote-2"></a>² `xrpl.ws`は`xrplcluster.com`のエイリアスです。しかし、`.ws` というトップレベルドメインの信頼性は、本番での使用には適さないかもしれません。
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -49,10 +49,9 @@ Para más información sobre Cheques en el XRP Ledger, ver:
|
||||
- [CheckCreate][]
|
||||
- [CheckCash][]
|
||||
- [CheckCancel][]
|
||||
- [Tutoriales de cheques](../../tutorials/how-tos/use-specialized-payment-types/use-checks/use-checks.md)
|
||||
- [Tutoriales de cheques](../../tutorials/how-tos/use-specialized-payment-types/use-checks/index.md)
|
||||
- [Enviar un cheque](../../tutorials/how-tos/use-specialized-payment-types/use-checks/send-a-check.md)
|
||||
- [Buscar cheques por dirección del remitente](../../tutorials/how-tos/use-specialized-payment-types/use-checks/look-up-checks-by-sender.md)
|
||||
- [Buscar cheques por dirección del destinatario](../../tutorials/how-tos/use-specialized-payment-types/use-checks/look-up-checks-by-recipient.md)
|
||||
- [Buscar cheques](../../tutorials/how-tos/use-specialized-payment-types/use-checks/look-up-checks.md)
|
||||
- [Canjear un cheque por la cantidad exacta](../../tutorials/how-tos/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md)
|
||||
- [Canjear un cheque por una cantidad flexible](../../tutorials/how-tos/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md)
|
||||
- [Cancelar un cheque](../../tutorials/how-tos/use-specialized-payment-types/use-checks/cancel-a-check.md)
|
||||
@@ -1,11 +1,11 @@
|
||||
theme.navbar.about: Acerca de
|
||||
theme.navbar.docs: Docs
|
||||
theme.navbar.resources: Recursos
|
||||
theme.navbar.community: Comunidad
|
||||
theme.footer.about: Acerca de
|
||||
theme.footer.docs: Docs
|
||||
theme.footer.resources: Recursos
|
||||
theme.footer.community: Comunidad
|
||||
navbar.about: Acerca de
|
||||
navbar.docs: Docs
|
||||
navbar.resources: Recursos
|
||||
navbar.community: Comunidad
|
||||
footer.about: Acerca de
|
||||
footer.docs: Docs
|
||||
footer.resources: Recursos
|
||||
footer.community: Comunidad
|
||||
sidebar.docs: Docs
|
||||
sidebar.docs.tutorials: Tutoriales
|
||||
sidebar.docs.references: Referencias
|
||||
@@ -25,11 +25,6 @@ labels:
|
||||
プルーフ・オブ・ワークは、信頼できる第三者を必要とせずに二重支出の問題を解決する最初のコンセンサンス・メカニズムでした。[XRP Ledgerのコンセンサスメカニズム](../docs/concepts/consensus-protocol/index.md)は、同じ問題をはるかに速く、安く、より良いエネルギー効率で解決します。
|
||||
|
||||
|
||||
#### どのようにして持続可能なブロックチェーンを実現するのでしょうか?
|
||||
|
||||
ビットコインのエネルギー消費量は、2021年現在アルゼンチンのエネルギー総消費量に相当します。また、ビットコインの採掘者が使用する電力の多くは環境を汚染するリソースから供給されていることが広く報告されています。XRPLは、プルーフ・オブ・ワークのようにエネルギーを浪費しない[コンセンサス・メカニズム](../docs/concepts/consensus-protocol/index.md)を通じてトランザクションを承認し、カーボン・オフセットを活用して、[真にカーボンニュートラルな最初のブロックチェーンのひとつ](https://ripple.com/ripple-press/ripple-leads-sustainability-agenda-to-achieve-carbon-neutrality-by-2030)となっています。
|
||||
|
||||
|
||||
#### XRPLではXRP以外の通貨も取引できますか?
|
||||
|
||||
はい。XRPLは米ドル、ユーロ、石油、金、リワードポイントなど、任意の資産をトークン化できるように構築されており、どんな通貨でもXRPL上で発行することができます。成長中のXRPLコミュニティは様々なフィアットトークンや暗号通貨をサポートしており、これを裏付けています。
|
||||
@@ -9,7 +9,7 @@ parent: contribute.html
|
||||
## 報告する
|
||||
詐欺に遭ったと思ったら、詐欺の手口や詐欺業者について、できるだけ早く、できるだけ多くの情報を集めるようにしてください。どのように行動すべきかは以下の方法を確認してください。
|
||||
|
||||
**注意:** 誰もXRP Ledgerのアカウントを凍結したり、トランザクションを元に戻したりすることはできません。これはXRP Ledgerブロックチェーンの分散型設計によるものです。
|
||||
{% admonition type="warning" name="注意" %}誰もXRP Ledgerのアカウントを凍結したり、トランザクションを元に戻したりすることはできません。これはXRP Ledgerブロックチェーンの分散型設計によるものです。{% /admonition %}
|
||||
|
||||
1. [Xrplorerの調査チーム](https://xrplorer.com/forensics/submit)に詐欺業者のウォレットアドレスを提出してください。
|
||||
|
||||
@@ -6,4 +6,4 @@ XRP Ledgerのハッシュ値には、以下の特徴があります。
|
||||
* [16進数](https://en.wikipedia.org/wiki/Hexadecimal)の文字セット: 0-9およびA-Fです。
|
||||
* 通常は大文字で記述されます。
|
||||
|
||||
**注記:** SHA-512ハーフは、公式に定義されている _SHA-512/256_ ハッシュ関数とほぼ同等のセキュリティーを持ちます。しかし、XRP LedgerはSHA-512/256より前から利用されているため、既存のSHA-512関数上に実装することも容易にできます。(この記事の時点で、暗号ライブラリーでのSHA-512のサポートはSHA-512/256よりはるかに一般的です。)
|
||||
{% admonition type="info" name="注記" %}SHA-512ハーフは、公式に定義されている _SHA-512/256_ ハッシュ関数とほぼ同等のセキュリティーを持ちます。しかし、XRP LedgerはSHA-512/256より前から利用されているため、既存のSHA-512関数上に実装することも容易にできます。(この記事の時点で、暗号ライブラリーでのSHA-512のサポートはSHA-512/256よりはるかに一般的です。){% /admonition %}
|
||||
@@ -0,0 +1,9 @@
|
||||
{% interactive-block label=default($label, "Generate") steps=$frontmatter.steps %}
|
||||
|
||||
<button id="generate-creds-button" class="btn btn-primary" data-fauceturl="https://faucet.altnet.rippletest.net/accounts">Testnetの暗号鍵を作成する</button>
|
||||
{% loading-icon message="暗号鍵を作成しています…" /%}
|
||||
<div class="output-area"></div>
|
||||
|
||||
{% /interactive-block %}
|
||||
|
||||
{% admonition type="warning" name="注意" %}Rippleは[TestnetとDevnet](../../concepts/networks-and-servers/parallel-networks.md)をテストの目的でのみ運用しており、その状態とすべての残高を定期的にリセットしています。予防措置として、Testnet、DevnetとMainnetで同じアドレスを使用**しない**ことをお勧めします。{% /admonition %}
|
||||
@@ -8,4 +8,4 @@
|
||||
| `port` | 文字列 - 数値 | サーバがリッスンしているポート番号。 |
|
||||
| `protocol` | 文字列の配列 | このポートに接続されているプロトコルの一覧。有効なプロトコルには、JSON-RPCの`http`または`https`、WebSocketの`ws`、`ws2`、`wss`、`wss2`、[gRPC](../infrastructure/configuration/configure-grpc.md)の`grpc`、[XRP Ledgerピアプロトコル](../concepts/networks-and-servers/peer-protocol.md)の`peer`があります。 |
|
||||
|
||||
**注記:** ネットワークインフラによっては、ここで報告されるポートやプロトコルが、外部のネットワークからサーバに到達する方法と一致しないことがあります。例えば、TLSがロードバランサやプロキシで終了する場合、サーバはあるポートで`http`と報告するかもしれませんが、外部からはポート443の`https`でしか到達できないかもしれません。
|
||||
{% admonition type="info" name="注記" %}ネットワークインフラによっては、ここで報告されるポートやプロトコルが、外部のネットワークからサーバに到達する方法と一致しないことがあります。例えば、TLSがロードバランサやプロキシで終了する場合、サーバはあるポートで`http`と報告するかもしれませんが、外部からはポート443の`https`でしか到達できないかもしれません。{% /admonition %}
|
||||
@@ -18,7 +18,7 @@ rippled APIを使用した`rippled`サーバとの通信について詳しくは
|
||||
|
||||
`rippled`は、デフォルト構成でXRP Ledgerに接続する必要があります。ただし、`rippled.cfg`ファイルを編集すれば、設定を変更できます。推奨される構成設定については、[容量の計画](../infrastructure/installation/capacity-planning.md)をご覧ください。
|
||||
|
||||
{% partial file="/@i18n/ja/docs/_snippets/conf-file-location.md" /%}
|
||||
{% partial file="/@l10n/ja/docs/_snippets/conf-file-location.md" /%}
|
||||
|
||||
すべての構成オプションの説明については、[`rippled` GitHubリポジトリー](https://github.com/XRPLF/rippled/blob/master/cfg/rippled-example.cfg)をご覧ください。
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user