mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2026-01-12 02:35:17 +00:00
Compare commits
6 Commits
ledger-ent
...
tutorials-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4bafb3502a | ||
|
|
f9a9ae9ca8 | ||
|
|
b3b40a8eff | ||
|
|
00fb447a76 | ||
|
|
1e9e2ba43b | ||
|
|
2dde2a7f60 |
@@ -74,8 +74,8 @@ Si una dirección de reserva se ve comprometida, las consecuencias son similares
|
||||
- [Cuentas](index.md)
|
||||
- [Claves criptográficas](cryptographic-keys.md)
|
||||
- **Tutoriales:**
|
||||
- [Asignar par de claves regulares](../../tutorials/how-tos/manage-account-settings/assign-a-regular-key-pair.md)
|
||||
- [Cambiar o eliminar par de claves regulares](../../tutorials/how-tos/manage-account-settings/change-or-remove-a-regular-key-pair.md)
|
||||
- [Asignar par de claves regulares](/docs/tutorials/best-practices/key-management/assign-a-regular-key-pair.md)
|
||||
- [Cambiar o eliminar par de claves regulares](/docs/tutorials/best-practices/key-management/change-or-remove-a-regular-key-pair.md)
|
||||
- **Referencias:**
|
||||
- [metodo account_info][]
|
||||
- [Transacción SetRegularKey][]
|
||||
|
||||
@@ -88,7 +88,7 @@ El [metodo wallet_propose][] es una forma de generar el par de claves maestras.
|
||||
|
||||
**Atención:** Si un actor malicioso conoce tu clave privada maestra (o semilla), tendrá control completo sobre tu cuenta, a no ser que tu par de claves maestras se inhabilite. Puedes tomar todo tu dinero de la cuenta posee y causar un daño irreparable. ¡Trata tus valores secretos con cuidado!
|
||||
|
||||
Dado que cambiar el par de claves maestras es imposible, debes cuidarlo en proporción al valor de lo que posea. Una buena práctica es [guardar tu par de claves maestras offline](../../tutorials/how-tos/manage-account-settings/offline-account-setup.md) y configurar un par de claves normales para firmar transacciones en tu cuenta. Al mantener el par de claves maestras activadas pero offline, puedes estar razonablemente seguro de que nadie puede acceder a él a través de Internet, pero aun así deberías encontrarlo en caso de una emergencia.
|
||||
Dado que cambiar el par de claves maestras es imposible, debes cuidarlo en proporción al valor de lo que posea. Una buena práctica es [guardar tu par de claves maestras offline](/docs/tutorials/best-practices/key-management/offline-account-setup.md) y configurar un par de claves normales para firmar transacciones en tu cuenta. Al mantener el par de claves maestras activadas pero offline, puedes estar razonablemente seguro de que nadie puede acceder a él a través de Internet, pero aun así deberías encontrarlo en caso de una emergencia.
|
||||
|
||||
Mantener tu par de claves maestras offline significa no colocar tu información secreta (passphrase, semilla, or clave privada) en cualquier sitio en que los actores maliciosos puedan tener acceso a él. En general, esto quiere decir que no está al alcance de un programa inofrmático que interactúe con Internet. Por ejemplo, puedes guardarlo en un equipo que no se conecta nunca a Internet, en un trozo de papel guardado en una caja fuerte, o tenerla completamente memorizada. (Memorizarla tiene algunos puntos inconvenientes, incluido ser imposible pasar la clave una vez muerto.)
|
||||
|
||||
@@ -119,7 +119,7 @@ Una buena práctica de seguridad es guardar tu clave privada maestra en algun si
|
||||
|
||||
El par de claves normales tiene el mismo formato que el par de claves maestras. Las generas de la misma forma (por ejemplo, usando el [método wallet_propose][]). La única diferencia es que el par de claves normales es que el par no está intrínsicamente vinculado a la cuenta para la que firma transacciones. Es posible (pero no es buena idea) utilizar el par de claves maestras de una cuenta como lel par de claves normales para otra cuenta.
|
||||
|
||||
La [transacción SetRegularKey][] asigna o cambia el par de claves normales de una cuenta. Para un tutorial de asignación o cambio de un par de claves normales, ver [Asignar par de claves normales](../../tutorials/how-tos/manage-account-settings/assign-a-regular-key-pair.md).
|
||||
La [transacción SetRegularKey][] asigna o cambia el par de claves normales de una cuenta. Para un tutorial de asignación o cambio de un par de claves normales, ver [Asignar par de claves normales](/docs/tutorials/best-practices/key-management/assign-a-regular-key-pair.md).
|
||||
|
||||
|
||||
## Algorítmos de firma
|
||||
@@ -248,8 +248,8 @@ Los pasos para derivar par de claves de cuenta XRP Ledger secp256k1 desde un val
|
||||
- **Conceptos:**
|
||||
- [Direcciones de emisión y operacionales](account-types.md)
|
||||
- **Tutoriales:**
|
||||
- [Asignación de par de claves normales](../../tutorials/how-tos/manage-account-settings/assign-a-regular-key-pair.md)
|
||||
- [Cambiar o eliminar par de claves normales](../../tutorials/how-tos/manage-account-settings/change-or-remove-a-regular-key-pair.md)
|
||||
- [Asignación de par de claves normales](/docs/tutorials/best-practices/key-management/assign-a-regular-key-pair.md)
|
||||
- [Cambiar o eliminar par de claves normales](/docs/tutorials/best-practices/key-management/change-or-remove-a-regular-key-pair.md)
|
||||
- **Referencias:**
|
||||
- [Transacción SetRegularKey][]
|
||||
- [Objeto de ledger AccountRoot](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md)
|
||||
|
||||
@@ -63,7 +63,7 @@ La forma típica de obtener una cuenta en el XRP Ledger es la siguiente:
|
||||
- [Transacción Payment][]
|
||||
- [Objeto AccountRoot](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md)
|
||||
- **Tutoriales:**
|
||||
- [Administrar configuración de la cuenta (Categoría)](../../tutorials/how-tos/manage-account-settings/index.md)
|
||||
- [Monitorizar pagos entrantes con WebSocket](../../tutorials/http-websocket-apis/build-apps/monitor-incoming-payments-with-websocket.md)
|
||||
- [Administrar configuración de la cuenta (Categoría)](/docs/tutorials/best-practices/key-management/assign-a-regular-key-pair.md)
|
||||
- [Monitorizar pagos entrantes con WebSocket](/docs/tutorials/advanced-developer-topics/client-library-development/monitor-incoming-payments-with-websocket.md)
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -60,7 +60,7 @@ Podría darse el caso donde crees una lista de multi firma como "plan de respald
|
||||
|
||||
Para enviar transacciones multi-signed de forma satisfactoria, debes de hacer todo lo siguiente:
|
||||
|
||||
* La dirección que envía la transacción (especificada en el campo `Account`) debe tener un [objeto `SignerList` en el ledger ](../../references/protocol/ledger-data/ledger-entry-types/signerlist.md). Para instrucciones de cómo hacer esto, ver [Set Up Multi-Signing](../../tutorials/how-tos/manage-account-settings/set-up-multi-signing.md).
|
||||
* La dirección que envía la transacción (especificada en el campo `Account`) debe tener un [objeto `SignerList` en el ledger ](../../references/protocol/ledger-data/ledger-entry-types/signerlist.md). Para instrucciones de cómo hacer esto, ver [Set Up Multi-Signing](/docs/tutorials/best-practices/key-management/set-up-multi-signing.md).
|
||||
* La transacción debe incluir el campo `SigningPubKey` como un valor vacío.
|
||||
* La transacción debe incluir el [campo `Signers`](../../references/protocol/transactions/common-fields.md#signers-field) conteniendo un array de firmas.
|
||||
* Las firmas presentadas en el array `Signers` debe coincidir con los firmantes definidos en la `SignerList`.
|
||||
@@ -72,8 +72,8 @@ Para enviar transacciones multi-signed de forma satisfactoria, debes de hacer to
|
||||
## Ver también
|
||||
|
||||
- **Tutoriales:**
|
||||
- [Configurar Multi-Signing](../../tutorials/how-tos/manage-account-settings/set-up-multi-signing.md)
|
||||
- [Envíar una transacción Multi-Signed](../../tutorials/how-tos/manage-account-settings/send-a-multi-signed-transaction.md)
|
||||
- [Configurar Multi-Signing](/docs/tutorials/best-practices/key-management/set-up-multi-signing.md)
|
||||
- [Envíar una transacción Multi-Signed](/docs/tutorials/best-practices/key-management/send-a-multi-signed-transaction.md)
|
||||
- **Conceptos:**
|
||||
- [Claves criptográficas](cryptographic-keys.md)
|
||||
- [Coste de transacción especial para transacciones Multi-signed](../transactions/transaction-cost.md#special-transaction-costs)
|
||||
|
||||
@@ -54,7 +54,7 @@ Las aplicaciones pueden buscar los valores de las reservas base e incremental ac
|
||||
|
||||
Para determinar las reservas de propietario de una cuenta, hay que multiplicar la reserva incremental por el número de objetos que la cuenta posee. Para mirar el número de objetos que una cuenta posee, llama al [método account_info][] y toma `account_data.OwnerCount`.
|
||||
|
||||
Para calcular el requisito total de direcciones, multiplica `OwnerCount` por `reserve_inc_xrp`, y luego suma `reserve_base_xrp`. [Aquí tienes una demostración](../../tutorials/python/build-apps/build-a-desktop-wallet-in-python.md#codeblock-17) del cálculo en Python.
|
||||
Para calcular el requisito total de direcciones, multiplica `OwnerCount` por `reserve_inc_xrp`, y luego suma `reserve_base_xrp`. [Aquí tienes una demostración](/docs/tutorials/sample-apps/build-a-desktop-wallet-in-python.md#codeblock-17) del cálculo en Python.
|
||||
|
||||
|
||||
## Quedarse por debajo del requisito de reserva
|
||||
@@ -76,6 +76,6 @@ El XRP Ledger tiene un mecanismo para ajustar los requisitos de reserva. Estos a
|
||||
- [Objeto AccountRoot][]
|
||||
- [Votación de Fee](../consensus-protocol/fee-voting.md)
|
||||
- [Pseudo-transacción SetFee][]
|
||||
- [Tutorial: Calcular y mostrar los requisitos de reserva (Python)](../../tutorials/python/build-apps/build-a-desktop-wallet-in-python.md#3-display-an-account)
|
||||
- [Tutorial: Calcular y mostrar los requisitos de reserva (Python)](/docs/tutorials/sample-apps/build-a-desktop-wallet-in-python.md#3-display-an-account)
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -63,7 +63,7 @@ Cualquier cuenta puede crear y utilizar Tickets en cualquier tipo de transaccion
|
||||
- **Conceptos:**
|
||||
- [Multi-Signing](multi-signing.md)
|
||||
- **Tutoriales:**
|
||||
- [Usar Tickets](../../tutorials/how-tos/manage-account-settings/use-tickets.md)
|
||||
- [Usar Tickets](/docs/tutorials/best-practices/transaction-sending/use-tickets.md)
|
||||
- **Referencias:**
|
||||
- [Transacción TicketCreate][]
|
||||
- [Campos comunes de una transacción](../../references/protocol/transactions/common-fields.md)
|
||||
|
||||
@@ -27,7 +27,7 @@ Necesitas confiar en el servidor que utilizas. Si te conectas a un servidor mali
|
||||
* Podría selectivamente mostrar u ocultar los caminos (o paths) de pago y las foertas de intercambio de divisas para garantizar su propio beneficio mientras no te ofrece la mejor oferta.
|
||||
* Si le enviaste la clave secreta de tu dirección, esto podría generar transacciones arbitrarias en tu nombre e incluso transferir o destruir todo el dinero que la dirección posee.
|
||||
|
||||
Adicionalmente, ejecutar tu propio servidor te da [acceso de administrador](../../tutorials/http-websocket-apis/build-apps/get-started.md#admin-access), lo que te permite ejecutar comandos exclusivos de administrador y de carga intensa. Si utilizas un servidor compartido, debes preocuparte por los otros usuarios del mismo servidor compitiendo contra ti por el poder de computación del servidor. Muchos de los comandos en el API WebSocket puede poner mucha presión sobre el servidor, por lo que el servidor tiene la opción de reducir sus respuestas cuando lo necesite. Si compartes un servidor con otros, puede que no siempre consigas los mejores resultados posibles.
|
||||
Adicionalmente, ejecutar tu propio servidor te da [acceso de administrador](/docs/tutorials/get-started/get-started-http-websocket-apis.md#admin-access), lo que te permite ejecutar comandos exclusivos de administrador y de carga intensa. Si utilizas un servidor compartido, debes preocuparte por los otros usuarios del mismo servidor compitiendo contra ti por el poder de computación del servidor. Muchos de los comandos en el API WebSocket puede poner mucha presión sobre el servidor, por lo que el servidor tiene la opción de reducir sus respuestas cuando lo necesite. Si compartes un servidor con otros, puede que no siempre consigas los mejores resultados posibles.
|
||||
|
||||
Finalmente, si ejecutas un servidor de validación, puedes utilizar un servidor común como proxy a la red pública mientras mantienes tu servidor de vaalidación en una red privada la cual es solo accesible desde el mundo exterior desde tu servidor común. Esto hace más difícil comprometer la integridad de tu servidor de validación.
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ El software del servidor `rippled` puede ejecutarse en varios modos dependiendo
|
||||
|
||||
- [**Modo P2P**](#modo-p2p) - Este es el modo principal del servidor: sigue la red peer-to-peer, procesa transacciones, y mantiene cierta cantidad de [histórico del ledger](ledger-history.md). Este modo se puede configurar para alguno o todos los siguientes roles:
|
||||
- [**Validador**](#validadores) - Ayuda a asegurar la red participando en el consenso.
|
||||
- [**Servidor API**](#servidores-api) - Proporciona [acceso API](../../tutorials/http-websocket-apis/build-apps/get-started.md) para leer datos del ledger compartido, enviar transacciones, y mirar la actividad en el ledger. Opcionalmente, puede ser un [**servidor full history**](#servidores-full-history), el cual guarda un registro completo de transacciones y el histórico del ledger.
|
||||
- [**Servidor API**](#servidores-api) - Proporciona [acceso API](/docs/tutorials/get-started/get-started-http-websocket-apis.md) para leer datos del ledger compartido, enviar transacciones, y mirar la actividad en el ledger. Opcionalmente, puede ser un [**servidor full history**](#servidores-full-history), el cual guarda un registro completo de transacciones y el histórico del ledger.
|
||||
- [**Servidor hub**](#hubs-públicos) - Transmite mensajes entre muchos otros miembros de la red peer-to-peer.
|
||||
- [**Modo solitario**](#modo-solitario) - Un modo offline para pruebas. No se conecta a la red peer-to-peer ni usa consenso.
|
||||
|
||||
|
||||
@@ -50,11 +50,11 @@ Para más información sobre Cheques en el XRP Ledger, ver:
|
||||
- [CheckCash][]
|
||||
- [CheckCancel][]
|
||||
- [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](../../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)
|
||||
- [Enviar un cheque](/docs/tutorials/payments/send-a-check.md)
|
||||
- [Buscar cheques](/docs/tutorials/ /how-tos/use-specialized-payment-types/use-checks/look-up-checks.md)
|
||||
- [Canjear un cheque por la cantidad exacta](/docs/tutorials/payments/cash-a-check-for-an-exact-amount.md)
|
||||
- [Canjear un cheque por una cantidad flexible](/docs/tutorials/payments/cash-a-check-for-a-flexible-amount.md)
|
||||
- [Cancelar un cheque](/docs/tutorials/payments/cancel-a-check.md)
|
||||
- [Enmienda Cheques][]
|
||||
|
||||
Para más información sobre funciones relacionadas, ver:
|
||||
|
||||
@@ -39,8 +39,8 @@ La base de cualquier sistema financiero es la transferencia de valor. El método
|
||||
## Ver también
|
||||
|
||||
- **Tutoriales:**
|
||||
- [Enviar XRP (Tutorial interactivo)](../../tutorials/how-tos/send-xrp.md)
|
||||
- [Monitorizar pagos entrantes con WebSocket](../../tutorials/http-websocket-apis/build-apps/monitor-incoming-payments-with-websocket.md)
|
||||
- [Enviar XRP (Tutorial interactivo)](/docs/tutorials/payments/send-xrp.md)
|
||||
- [Monitorizar pagos entrantes con WebSocket](/docs/tutorials/advanced-developer-topics/client-library-development/monitor-incoming-payments-with-websocket.md)
|
||||
- **Referencias:**
|
||||
- [Transacción Payment][]
|
||||
- [Resultados de Transaction](../../references/protocol/transactions/transaction-results/index.md)
|
||||
|
||||
@@ -128,7 +128,7 @@ Utilizar [el campo `delivered_amount`](#the-delivered_amount-field) al procesar
|
||||
- [Transacciones](../transactions/index.md)
|
||||
- **Tutoriales:**
|
||||
- [Buscar resultados de transacciones](../transactions/finality-of-results/look-up-transaction-results.md)
|
||||
- [Monitorear pagos recibidos con WebSocket](../../tutorials/http-websocket-apis/build-apps/monitor-incoming-payments-with-websocket.md)
|
||||
- [Monitorear pagos recibidos con WebSocket](/docs/tutorials/advanced-developer-topics/client-library-development/monitor-incoming-payments-with-websocket.md)
|
||||
- [Usar tipos de pagos especializados](../../tutorials/how-tos/use-specialized-payment-types/index.md)
|
||||
- [Listar XRP en un Exchange](../../use-cases/defi/list-xrp-as-an-exchange.md)
|
||||
- **Referencias:**
|
||||
|
||||
@@ -6,4 +6,4 @@ Checkを換金するための前提条件は、正確な金額を換金する場
|
||||
- 発行済み通貨用のCheckの場合は、ご自身(受取人)にイシュアーに対するトラストラインがある必要があります。このトラストライン上のご自身の限度額は、受け取る金額を追加するための残高より十分高くなければなりません。
|
||||
- トラストラインと限度額について詳しくは、[トークン](../concepts/tokens/index.md)および[トラストラインと発行](../concepts/tokens/fungible-tokens/index.md)をご覧ください。
|
||||
- [トランザクションに安全に署名できる手段](../concepts/transactions/secure-signing.md)。
|
||||
- XRP Ledgerに接続できる[クライアントライブラリ](../references/client-libraries.md)か、それとも[HTTPライブラリ、WebSocketライブラリなど](../tutorials/http-websocket-apis/build-apps/get-started.md)。
|
||||
- XRP Ledgerに接続できる[クライアントライブラリ](../references/client-libraries.md)か、それとも[HTTPライブラリ、WebSocketライブラリなど](../tutorials/http-websocket-apis/get-started.md)。
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
`rippled`ログメッセージの詳細は、[ログメッセージについて](../infrastructure/troubleshooting/understanding-log-messages.md)をご覧ください。
|
||||
|
||||
`rippled`が残りのネットワークと同期されたら、ストック`rippled`サーバが完全に機能するようになります。このサーバを、ローカル署名やXRP LedgerへのAPIアクセスに使用できます。`rippled`サーバがネットワークと同期されているかどうかを判別するには、[`rippled`サーバの状況](../references/http-websocket-apis/api-conventions/rippled-server-states.md)を使用します。[`rippled`のコマンドラインインターフェイス](../tutorials/http-websocket-apis/build-apps/get-started.md#コマンドライン)を使用すれば、これを迅速にテストできます。
|
||||
`rippled`が残りのネットワークと同期されたら、ストック`rippled`サーバが完全に機能するようになります。このサーバを、ローカル署名やXRP LedgerへのAPIアクセスに使用できます。`rippled`サーバがネットワークと同期されているかどうかを判別するには、[`rippled`サーバの状況](../references/http-websocket-apis/api-conventions/rippled-server-states.md)を使用します。[`rippled`のコマンドラインインターフェイス](../tutorials/http-websocket-apis/get-started.md#コマンドライン)を使用すれば、これを迅速にテストできます。
|
||||
|
||||
```sh
|
||||
rippled server_info
|
||||
|
||||
@@ -54,7 +54,7 @@ XRP Ledgerでは、スパムや悪意のある使用によって、共有グロ
|
||||
|
||||
アカウントの所有者準備金を決定するには、増分準備金にアカウントが所有するオブジェクトの数を掛けます。アカウントが所有しているオブジェクトの数を調べるには、[account_infoメソッド][]を呼び出し、`account_data.OwnerCount`を取得します。
|
||||
|
||||
アドレスの必要となる合計準備金を計算するには、`OwnerCount`に`reserve_inc_xrp`を掛け、次に`reserve_base_xrp`を加えます。[この計算をPythonで行うデモ](../../tutorials/python/build-apps/build-a-desktop-wallet-in-python.md#codeblock-17)があります。
|
||||
アドレスの必要となる合計準備金を計算するには、`OwnerCount`に`reserve_inc_xrp`を掛け、次に`reserve_base_xrp`を加えます。[この計算をPythonで行うデモ](/docs/tutorials/sample-apps/build-a-desktop-wallet-in-python.md#codeblock-17)があります。
|
||||
|
||||
|
||||
## 必要準備金を下回る
|
||||
@@ -76,6 +76,6 @@ XRP Ledgerには、準備金要件を調整する仕組みがあります。こ
|
||||
- [AccountRootオブジェクト][]
|
||||
- [手数料の投票](../consensus-protocol/fee-voting.md)
|
||||
- [SetFee疑似トランザクション][]疑似トランザクション
|
||||
- [チュートリアル: 必要準備金の計算と表示(Python)](../../tutorials/python/build-apps/build-a-desktop-wallet-in-python.md#3-display-an-account)
|
||||
- [チュートリアル: 必要準備金の計算と表示(Python)](/docs/tutorials/sample-apps/build-a-desktop-wallet-in-python.md#3-display-an-account)
|
||||
|
||||
{% raw-partial file="/@l10n/ja/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -27,7 +27,7 @@ XRP Ledgerを動かすサーバソフトウェアは、主に2種類あります
|
||||
* 選択的に支払いパスや通貨交換のオファーを表示または非表示にすることができ、最良の取引を提供せず、彼ら自身の利益を確保する可能性があります。
|
||||
* もし、アドレスの秘密鍵を送信してしまった場合、サーバの管理者はあなたに代わって任意のトランザクションを実行し、アドレスが保有するすべての資金を転送または破棄する可能性があります。
|
||||
|
||||
さらに、独自のサーバを運営することで、[管理者アクセス権限](../../tutorials/http-websocket-apis/build-apps/get-started.md#管理者アクセス権限)が与えられ、重要な管理者専用コマンドや負荷の高いコマンドを実行することができます。共有サーバを使用する場合、同じサーバの他のユーザとサーバの計算能力を共有することを考慮しなければいけません。WebSocket APIのコマンドの多くはサーバに大きな負担をかけるので、サーバには必要なときにレスポンスを縮小するオプションがあります。サーバを他人と共有する場合、常に最良の結果を得られるとは限りません。
|
||||
さらに、独自のサーバを運営することで、[管理者アクセス権限](/docs/tutorials/get-started/get-started-http-websocket-apis.md#管理者アクセス権限)が与えられ、重要な管理者専用コマンドや負荷の高いコマンドを実行することができます。共有サーバを使用する場合、同じサーバの他のユーザとサーバの計算能力を共有することを考慮しなければいけません。WebSocket APIのコマンドの多くはサーバに大きな負担をかけるので、サーバには必要なときにレスポンスを縮小するオプションがあります。サーバを他人と共有する場合、常に最良の結果を得られるとは限りません。
|
||||
|
||||
最後に、バリデーションサーバを運用する場合、パブリックネットワークへのプロキシとしてストックサーバを使用し、バリデーションサーバをプライベートネットワークに置いて、ストックサーバを通してのみ外部にアクセスできるようにすることができます。これにより、バリデーションサーバに侵入することがより困難になります。
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ labels:
|
||||
|
||||
- [**P2Pモード**](#p2pモード) - ピアツーピアネットワークをフォローし、トランザクションを処理し、ある程度の[レジャー履歴](ledger-history.md)を維持します。このモードは、以下の役割のいずれか、またはすべてを行うように設定することができます。
|
||||
- [**バリデータ**](#バリデータ) - コンセンサスに参加することで、ネットワークの安全確保に貢献します。
|
||||
- [**APIサーバ**](#apiサーバ) - 共有レジャーからデータを読み込んだり、トランザクションを送信したり、レジャーのアクティビティを監視するための[APIアクセス](../../tutorials/http-websocket-apis/build-apps/get-started.md)を提供します。オプションとして、トランザクションやレジャーの履歴を完全に記録する [**全履歴サーバ**](#全履歴サーバ) とすることができます。
|
||||
- [**APIサーバ**](#apiサーバ) - 共有レジャーからデータを読み込んだり、トランザクションを送信したり、レジャーのアクティビティを監視するための[APIアクセス](/docs/tutorials/get-started/get-started-http-websocket-apis.md)を提供します。オプションとして、トランザクションやレジャーの履歴を完全に記録する [**全履歴サーバ**](#全履歴サーバ) とすることができます。
|
||||
- [**ハブサーバ**](#公開ハブ) - ピアツーピアネットワークの他の多くのメンバー間のメッセージを中継します。
|
||||
- [**レポートモード**](#レポートモード) - リレーショナルデータベースからのAPIリクエストに対応するための専用モードです。ピアツーピアネットワークには参加しないため、P2Pモードサーバを実行し、信頼できるgRPC接続を使用してレポートモードサーバに接続する必要があります。 {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.7.0" %}新規: rippled 1.7.0{% /badge %}
|
||||
- [**スタンドアロンモード**](#スタンドアロンモード) - テスト用のオフラインモードです。ピアツーピアネットワークに接続せず、コンセンサスも使用しません。
|
||||
|
||||
@@ -97,12 +97,12 @@ XRP LedgerのChecksの詳細は、以下をご覧ください。
|
||||
- [CheckCreate][]
|
||||
- [CheckCash][]
|
||||
- [CheckCancel][]
|
||||
- [Checksのチュートリアル](../../tutorials/how-tos/use-specialized-payment-types/use-checks/index.md)
|
||||
- [Checkの送信](../../tutorials/how-tos/use-specialized-payment-types/use-checks/send-a-check.md)
|
||||
- [Checksの検索](../../tutorials/how-tos/use-specialized-payment-types/use-checks/look-up-checks.md)
|
||||
- [Checkの指定された金額での換金](../../tutorials/how-tos/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md)
|
||||
- [Checkの変動金額での換金](../../tutorials/how-tos/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md)
|
||||
- [Checkの取消し](../../tutorials/how-tos/use-specialized-payment-types/use-checks/cancel-a-check.md)
|
||||
- Checksのチュートリアル
|
||||
- [Checkの送信](/docs/tutorials/payments/send-a-check.md)
|
||||
- [Checksの検索](/docs/tutorials/payments/look-up-checks.md)
|
||||
- [Checkの指定された金額での換金](/docs/tutorials/payments/cash-a-check-for-an-exact-amount.md)
|
||||
- [Checkの変動金額での換金](/docs/tutorials/payments/cash-a-check-for-a-flexible-amount.md)
|
||||
- [Checkの取消し](/docs/tutorials/payments/cancel-a-check.md)
|
||||
- [Checks Amendment][]
|
||||
|
||||
関連機能の詳細については、以下をご覧ください。
|
||||
|
||||
@@ -207,7 +207,7 @@ XRP Ledgerは、トランザクションオブジェクトが送信元アドレ
|
||||
- [安全な署名の設定](secure-signing.md)
|
||||
- [XRPの送金](../../tutorials/how-tos/send-xrp.md)
|
||||
- [トランザクションの結果の確認](finality-of-results/look-up-transaction-results.md)
|
||||
- [WebSocketを使用した着信ペイメントの監視](../../tutorials/http-websocket-apis/build-apps/monitor-incoming-payments-with-websocket.md)
|
||||
- [WebSocketを使用した着信ペイメントの監視](/docs/tutorials/advanced-developer-topics/client-library-development/monitor-incoming-payments-with-websocket.md)
|
||||
- [トランザクションの取り消しまたはスキップ](finality-of-results/canceling-a-transaction.md)
|
||||
- [信頼できるトランザクションの送信](reliable-transaction-submission.md)
|
||||
- **リファレンス:**
|
||||
|
||||
@@ -48,7 +48,7 @@ labels:
|
||||
|
||||
[構成ファイルの例](https://github.com/XRPLF/rippled/blob/8429dd67e60ba360da591bfa905b58a35638fda1/cfg/rippled-example.cfg#L1050-L1073)では、ローカルループバックネットワーク上(127.0.0.1)のポート5005でJSON-RPC(HTTP)、ポート6006でWebSocket(WS)の接続をリッスンし、接続されるすべてのクライアントを管理者として扱っています。
|
||||
|
||||
{% admonition type="warning" name="注意" %}署名に[コマンドラインAPI](../../references/http-websocket-apis/api-conventions/request-formatting.md#コマンドライン形式)を使用する場合は、コマンドラインでないクライアントで[Websocket APIやJSON-RPC APIを使用](../../tutorials/http-websocket-apis/build-apps/get-started.md)する場合よりもセキュリティが弱くなります。コマンドライン構文を使用すると、秘密鍵がシステムのプロセスリストで他のユーザに見える可能性があり、シェル履歴にプレーンテキスト形式でキーが保存される可能性があります。{% /admonition %}
|
||||
{% admonition type="warning" name="注意" %}署名に[コマンドラインAPI](../../references/http-websocket-apis/api-conventions/request-formatting.md#コマンドライン形式)を使用する場合は、コマンドラインでないクライアントで[Websocket APIやJSON-RPC APIを使用](/docs/tutorials/get-started/get-started-http-websocket-apis.md)する場合よりもセキュリティが弱くなります。コマンドライン構文を使用すると、秘密鍵がシステムのプロセスリストで他のユーザに見える可能性があり、シェル履歴にプレーンテキスト形式でキーが保存される可能性があります。{% /admonition %}
|
||||
|
||||
3. サーバの使用中は、稼働状態と最新状態を維持して、ネットワークと同期されるようにしておく必要があります。
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
---
|
||||
# Amendment投票機能の設定
|
||||
|
||||
バリデータとして設定されたサーバは、[featureメソッド][]を使ってXRP Ledgerプロトコルの[Amendment](../../concepts/networks-and-servers/amendments.md)に投票することができます。(この方法には[管理者アクセス](../../tutorials/http-websocket-apis/build-apps/get-started.md#管理者アクセス権限)が必要です).
|
||||
バリデータとして設定されたサーバは、[featureメソッド][]を使ってXRP Ledgerプロトコルの[Amendment](../../concepts/networks-and-servers/amendments.md)に投票することができます。(この方法には[管理者アクセス](/docs/tutorials/get-started/get-started-http-websocket-apis.md#管理者アクセス権限)が必要です).
|
||||
|
||||
例えば、「SHAMapV2」Amendmentに反対票を投じるには、以下のコマンドを実行します。
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ gRPCを有効にするには、次の前提条件を満たす必要がありま
|
||||
- [XRP Ledgerの概要](/about/)
|
||||
- [`rippled`サーバのモード](../../concepts/networks-and-servers/rippled-server-modes.md)
|
||||
- **チュートリアル:**
|
||||
- [HTTP / WebSocketAPIを使ってみる](../../tutorials/http-websocket-apis/build-apps/get-started.md)
|
||||
- [HTTP / WebSocketAPIを使ってみる](/docs/tutorials/get-started/get-started-http-websocket-apis.md)
|
||||
- [信頼できるトランザクションの送信](../../concepts/transactions/reliable-transaction-submission.md)
|
||||
- [rippledサーバの管理](../installation/install-rippled-on-ubuntu.md)
|
||||
- **リファレンス:**
|
||||
|
||||
@@ -57,7 +57,7 @@ labels:
|
||||
|
||||
2. サーバに対してオンライン削除を指示する[can_deleteメソッド][]の実行をテストします。
|
||||
|
||||
このコマンドの実行には[`rippled`コマンドラインインターフェイス](../../../tutorials/http-websocket-apis/build-apps/get-started.md#コマンドライン)を使用できます。例:
|
||||
このコマンドの実行には[`rippled`コマンドラインインターフェイス](/docs/tutorials/get-started/get-started-http-websocket-apis.md#コマンドライン)を使用できます。例:
|
||||
|
||||
```
|
||||
$ rippled --conf=/etc/opt/ripple/rippled.cfg can_delete now
|
||||
|
||||
@@ -11,7 +11,7 @@ labels:
|
||||
|
||||
{% badge href="https://github.com/XRPLF/rippled/releases/tag/1.1.0" %}新規: rippled 1.1.0{% /badge %}デフォルトでは、`rippled`の署名メソッドは管理者接続に限定されています。v1.1.0以前のバージョンの`rippled`のように、署名メソッドをパブリックAPIメソッドとして使用できるようにするには、構成を変更することで、これを使用できるようにします。
|
||||
|
||||
これにより、サーバが「パブリック」[JSON-RPC接続およびWebSocket接続](../../tutorials/http-websocket-apis/build-apps/get-started.md)を受け入れる場合は、これらのパブリック接続で以下のメソッドが使用できるようになります。
|
||||
これにより、サーバが「パブリック」[JSON-RPC接続およびWebSocket接続](/docs/tutorials/get-started/get-started-http-websocket-apis.md)を受け入れる場合は、これらのパブリック接続で以下のメソッドが使用できるようになります。
|
||||
|
||||
- [sign][signメソッド]
|
||||
- [sign_for][sign_forメソッド]
|
||||
|
||||
@@ -80,7 +80,7 @@ labels:
|
||||
- **チュートリアル:**
|
||||
- [rippledの構成](../configuration/index.md)
|
||||
- [rippledのトラブルシューティング](../troubleshooting/index.md)
|
||||
- [rippled APIの使用開始](../../tutorials/http-websocket-apis/build-apps/get-started.md)
|
||||
- [rippled APIの使用開始](/docs/tutorials/get-started/get-started-http-websocket-apis.md)
|
||||
- **リファレンス:**
|
||||
- [rippled APIリファレンス](../../references/http-websocket-apis/index.md)
|
||||
- [`rippled`コマンドラインの使用](../commandline-usage.md)
|
||||
|
||||
@@ -182,7 +182,7 @@ Terminating thread doJob:AcquisitionDone: unhandled
|
||||
|
||||
11. `rippled`サービスが正常に起動したかどうかを確認します。
|
||||
|
||||
[コマンドラインインターフェイス](../../tutorials/http-websocket-apis/build-apps/get-started.md#コマンドライン)を使用してサーバの状況を確認できます(サーバがJSON-RPCリクエストを受け入れないように設定している場合を除く)。次に例を示します。
|
||||
[コマンドラインインターフェイス](/docs/tutorials/get-started/get-started-http-websocket-apis.md#コマンドライン)を使用してサーバの状況を確認できます(サーバがJSON-RPCリクエストを受け入れないように設定している場合を除く)。次に例を示します。
|
||||
|
||||
```
|
||||
/opt/ripple/bin/rippled server_info
|
||||
|
||||
@@ -12,10 +12,10 @@ seo:
|
||||
|
||||
| 言語 | ライブラリ名 | Get Started | APIリファレンス | ソースコード |
|
||||
|---------------------------------|------------------------|--------------|---------------|-------------|
|
||||
| **Python** | `xrpl-py` | [Pythonを使ってみよう](../tutorials/python/build-apps/get-started.md) | [API リファレンス](https://xrpl-py.readthedocs.io/) | [リポジトリ](https://github.com/XRPLF/xrpl-py) |
|
||||
| **JavaScript** / **TypeScript** | `xrpl.js` | [JavaScriptを使ってみよう](../tutorials/javascript/build-apps/get-started.md) | [API リファレンス](https://js.xrpl.org/) | [リポジトリ](https://github.com/XRPLF/xrpl.js) |
|
||||
| **Python** | `xrpl-py` | [Pythonを使ってみよう](/docs/tutorials/get-started/get-started-python.md) | [API リファレンス](https://xrpl-py.readthedocs.io/) | [リポジトリ](https://github.com/XRPLF/xrpl-py) |
|
||||
| **JavaScript** / **TypeScript** | `xrpl.js` | [JavaScriptを使ってみよう](/docs/tutorials/get-started/get-started-javascript.md) | [API リファレンス](https://js.xrpl.org/) | [リポジトリ](https://github.com/XRPLF/xrpl.js) |
|
||||
| **JavaScript** / **TypeScript** | `xrpl-client` | [触ってみる](https://jsfiddle.net/WietseWind/35az6p1b/) | [NPM リファレンス](https://www.npmjs.com/package/xrpl-client) | [リポジトリ](https://github.com/XRPL-Labs/xrpl-client) |
|
||||
| **JavaScript** / **TypeScript** | `xrpl-accountlib` | [触ってみる](https://jsfiddle.net/WietseWind/gkefpnu0/) | [NPM リファレンス](https://www.npmjs.com/package/xrpl-accountlib) | [リポジトリ](https://github.com/WietseWind/xrpl-accountlib) |
|
||||
| **C++** | `rippled` 署名ライブラリ | [署名ライブラリを使ってみよう](https://github.com/XRPLF/rippled/tree/develop/Builds/linux#signing-library) | | ([`rippled`](https://github.com/XRPLF/rippled/))の一部 |
|
||||
| **Java** | `xrpl4j` | [Javaを使ってみよう](../tutorials/java/build-apps/get-started.md) | [API リファレンス](https://javadoc.io/doc/org.xrpl/) | [リポジトリ](https://github.com/XRPLF/xrpl4j) |
|
||||
| **PHP** | `XRPL_PHP` | [PHPを使ってみよう](../tutorials/php/build-apps/get-started.md) | [XRPL_PHP ドキュメント](https://alexanderbuzz.github.io/xrpl-php-docs/) | [リポジトリ](https://github.com/AlexanderBuzz/xrpl-php) |
|
||||
| **Java** | `xrpl4j` | [Javaを使ってみよう](/docs/tutorials/get-started/get-started-java.md) | [API リファレンス](https://javadoc.io/doc/org.xrpl/) | [リポジトリ](https://github.com/XRPLF/xrpl4j) |
|
||||
| **PHP** | `XRPL_PHP` | [PHPを使ってみよう](/docs/tutorials/get-started/get-started-php.md) | [XRPL_PHP ドキュメント](https://alexanderbuzz.github.io/xrpl-php-docs/) | [リポジトリ](https://github.com/AlexanderBuzz/xrpl-php) |
|
||||
|
||||
@@ -14,6 +14,6 @@ nav_omit: true
|
||||
|
||||
## Alternatives
|
||||
|
||||
アカウント残高や取引履歴のリクエストなど、ほとんどの一般的な操作では、[WebSocket接続](../tutorials/http-websocket-apis/get-started.md#websocket-api)または[JSON-RPC(HTTP POST)](../tutorials/http-websocket-apis/build-apps/get-started.md#json-rpc)を使用して、セルフホストまたは[公開XRP Ledgerサーバ](../tutorials/public-servers.md)にリクエストすることとができます。
|
||||
アカウント残高や取引履歴のリクエストなど、ほとんどの一般的な操作では、[WebSocket接続](/docs/tutorials/get-started/get-started-http-websocket-apis.md#websocket-api)または[JSON-RPC(HTTP POST)](/docs/tutorials/get-started/get-started-http-websocket-apis.md#json-rpc)を使用して、セルフホストまたは[公開XRP Ledgerサーバ](../tutorials/public-servers.md)にリクエストすることとができます。
|
||||
|
||||
詳細については、[HTTP / WebSocket APIsの使用を開始する](../tutorials/http-websocket-apis/build-apps/get-started.md)ページをご覧ください。
|
||||
詳細については、[HTTP / WebSocket APIsの使用を開始する](/docs/tutorials/get-started/get-started-http-websocket-apis.md)ページをご覧ください。
|
||||
|
||||
@@ -10,7 +10,7 @@ labels:
|
||||
|
||||
`rippled`サーバと直接通信する際には管理APIメソッドを使用します。管理メソッドは、信頼できるサーバ運用担当者のみを対象としています。管理メソッドには、サーバの管理、監視、デバッグのためのコマンドが含まれています。
|
||||
|
||||
管理コマンドを使用できるのは、管理者として、`rippled.cfg`ファイルに指定されているホストとポートで`rippled`サーバに接続している場合に限られます。デフォルトでは、コマンドラインクライアントが管理接続を使用します。`rippled`への接続についての詳細は、[rippled API入門](../../../tutorials/http-websocket-apis/build-apps/get-started.md)をご覧ください。
|
||||
管理コマンドを使用できるのは、管理者として、`rippled.cfg`ファイルに指定されているホストとポートで`rippled`サーバに接続している場合に限られます。デフォルトでは、コマンドラインクライアントが管理接続を使用します。`rippled`への接続についての詳細は、[rippled API入門](/docs/tutorials/get-started/get-started-http-websocket-apis.md)をご覧ください。
|
||||
|
||||
|
||||
## [キー生成メソッド](key-generation-methods/index.md)
|
||||
|
||||
@@ -10,7 +10,7 @@ labels:
|
||||
|
||||
`rippled`サーバはAPIクライアントが公開APIにリクエストできるレートを制限できます。レート制限はクライアントのIPアドレスに基づいて行われるため、[ネットワークアドレス変換](https://ja.wikipedia.org/wiki/ネットワークアドレス変換)の背後にいるクライアントは公開IPアドレスに基づく制限を共有します。
|
||||
|
||||
{% admonition type="success" name="ヒント" %}レート制限は、クライアントが[管理者](../../../tutorials/http-websocket-apis/build-apps/get-started.md#管理者アクセス権限)として接続されているときには適用されません{% /admonition %}
|
||||
{% admonition type="success" name="ヒント" %}レート制限は、クライアントが[管理者](/docs/tutorials/get-started/get-started-http-websocket-apis.md#管理者アクセス権限)として接続されているときには適用されません{% /admonition %}
|
||||
|
||||
クライアントがレート制限に近づいている場合、サーバは[APIレスポンス](response-formatting.md)のトップレベルにフィールド`"warning": "load"`というフィールドを[APIレスポンス](response-formatting.md)のトップレベルに追加します。この警告はすべてのレスポンスに追加されるわけではありませんが、サーバはクライアントを切断する前に何度かこのような警告を送ることがあります。
|
||||
|
||||
@@ -58,7 +58,7 @@ Server is overloaded
|
||||
- [`rippled`サーバ](../../../concepts/networks-and-servers/index.md)
|
||||
- [ソフトウェアエコシステム](../../../introduction/software-ecosystem.md)
|
||||
- **チュートリアル:**
|
||||
- [XRP Ledger APIの使用開始](../../../tutorials/http-websocket-apis/build-apps/get-started.md)
|
||||
- [XRP Ledger APIの使用開始](/docs/tutorials/get-started/get-started-http-websocket-apis.md)
|
||||
- [rippledのトラブルシューティング](../../../infrastructure/troubleshooting/index.md)
|
||||
- **リファレンス:**
|
||||
- [rippled APIリファレンス](../index.md)
|
||||
|
||||
@@ -130,7 +130,7 @@ HTTP Status: 200 OK
|
||||
|
||||
この警告は、XRP Ledgerプロトコルの1つ以上の[Amendment](../../../concepts/networks-and-servers/amendments.md)が有効になる予定であるが、現在のサーバにはそれらのAmendmentの実装がないことを示しています。これらのAmendmentが有効になると、現在のサーバは[Amendmentブロック](../../../concepts/networks-and-servers/amendments.md#amendment-blocked-servers)されるため、できるだけ早く[最新の`rippled`バージョンにアップグレード](../../../infrastructure/installation/index.md)する必要があります。
|
||||
|
||||
サーバは、この警告を送信するのは、クライアントが[管理者として接続している](../../../tutorials/http-websocket-apis/build-apps/get-started.md#admin-access)場合のみです。
|
||||
サーバは、この警告を送信するのは、クライアントが[管理者として接続している](/docs/tutorials/get-started/get-started-http-websocket-apis.md#admin-access)場合のみです。
|
||||
|
||||
この警告には、以下のフィールドを含む`details`フィールドが含まれます。
|
||||
|
||||
@@ -189,7 +189,7 @@ HTTP Status: 200 OK
|
||||
- [Amendment](../../../concepts/networks-and-servers/amendments.md)
|
||||
- [既知のAmendment](/resources/known-amendments.md)
|
||||
- **チュートリアル:**
|
||||
- [XRP LedgerのAPIを触ってみよう](../../../tutorials/http-websocket-apis/build-apps/get-started.md)
|
||||
- [XRP LedgerのAPIを触ってみよう](/docs/tutorials/get-started/get-started-http-websocket-apis.md)
|
||||
- [`rippled`のインストールと更新](../../../infrastructure/installation/index.md)
|
||||
- **リファレンス:**
|
||||
- [featureメソッド][]
|
||||
|
||||
@@ -20,7 +20,7 @@ steps: ['Generate', 'Connect', 'Check Sequence', 'Prepare & Sign', 'Submit', 'Wa
|
||||
<script type="application/javascript" src="/js/interactive-tutorial.js"></script>
|
||||
<script type="application/javascript" src="/js/tutorials/use-tickets.js"></script>
|
||||
|
||||
このページでは、[xrpl.js](https://js.xrpl.org/)ライブラリを使用したJavaScriptのサンプルを提供しています。設定方法は、[JavaScriptを使ってみよう](../../javascript/build-apps/get-started.md)をご覧ください。
|
||||
このページでは、[xrpl.js](https://js.xrpl.org/)ライブラリを使用したJavaScriptのサンプルを提供しています。設定方法は、[JavaScriptを使ってみよう](/docs/tutorials/get-started/get-started-javascript.md)をご覧ください。
|
||||
|
||||
JavaScriptはWebブラウザ上で動作するため、セットアップなしで読み進められ、インタラクティブな手順を利用することができます。
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ steps: ['Generate', 'Connect', 'Prepare', 'Sign', 'Submit', 'Wait', 'Check']
|
||||
<script type="application/javascript" src="/js/interactive-tutorial.js"></script>
|
||||
<script type="application/javascript" src="/js/tutorials/send-xrp.js"></script>
|
||||
|
||||
- このページでは、xrpl.jsライブラリーを使用するJavaScriptの例を紹介します。[xrpl.js入門ガイド](../javascript/build-apps/get-started.md)に、xrpl.jsを使用してJavaScriptからXRP Ledgerデータにアクセスする方法の説明があります。
|
||||
- このページでは、xrpl.jsライブラリーを使用するJavaScriptの例を紹介します。[xrpl.js入門ガイド](/docs/tutorials/get-started/get-started-javascript.md)に、xrpl.jsを使用してJavaScriptからXRP Ledgerデータにアクセスする方法の説明があります。
|
||||
|
||||
- XRP Ledgerでトランザクションを送信するには、まずアドレスと秘密鍵、そしていくらかのXRPが必要となります。次のインターフェイスを使用して、XRP Test NetにあるアドレスとTestnet XRPを入手できます。
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ XRP Ledgerの分散型取引所(DEX)には、「アルゴリズムトレード
|
||||
|
||||
### トレードの発注
|
||||
|
||||
XRP Ledgerの分散型取引所で _代替可能_ トークンとXRPを売買するには、通常[OfferCreateトランザクション](../../references/protocol/transactions/types/offercreate.md)を送信します。この方法でトレードを行うためのコードと技術的ステップの詳細なウォークスルーについては、[分散型取引所でのトレード](../../tutorials/how-tos/use-tokens/trade-in-the-decentralized-exchange.md)をご覧ください。[Paymentトランザクション](../../references/protocol/transactions/types/payment.md)を使用して通貨を両替することも可能です。[クロスカレンしー支払い](../../concepts/payment-types/cross-currency-payments.md)を他のユーザに送ったり、長い[パス](../../concepts/tokens/fungible-tokens/paths.md)を使って裁定取引の機会を1つの操作にまとめることで、自分自身に送り返すこともできます。
|
||||
XRP Ledgerの分散型取引所で _代替可能_ トークンとXRPを売買するには、通常[OfferCreateトランザクション](../../references/protocol/transactions/types/offercreate.md)を送信します。この方法でトレードを行うためのコードと技術的ステップの詳細なウォークスルーについては、[分散型取引所でのトレード](/docs/tutorials/dex/trade-in-the-decentralized-exchange.md)をご覧ください。[Paymentトランザクション](../../references/protocol/transactions/types/payment.md)を使用して通貨を両替することも可能です。[クロスカレンしー支払い](../../concepts/payment-types/cross-currency-payments.md)を他のユーザに送ったり、長い[パス](../../concepts/tokens/fungible-tokens/paths.md)を使って裁定取引の機会を1つの操作にまとめることで、自分自身に送り返すこともできます。
|
||||
|
||||
NFTをトレードするためのコードと技術的な手順については、[JavaScriptを使用したNFTokenの送信](../../tutorials/javascript/nfts/transfer-nfts.md)をご覧ください。
|
||||
|
||||
@@ -89,7 +89,7 @@ XRP Ledgerのトレード活動に関する情報源は数多くあります。
|
||||
XRP Ledgerは既存の中央指値注文ベース(CLOB)の分散型取引所と連携するネイティブな自動マーケットメーカー(AMM)の機能をネイティブサポートしています。AMMはXRP Ledger上のトレードにおいて重要な要素となっています。詳しくは以下のリンクをご覧ください。
|
||||
|
||||
- [自動マーケットメーカー](../../concepts/tokens/decentralized-exchange/automated-market-makers.md)
|
||||
- [AMMのオークションスロットを利用して低い取引手数料でトレードする](../../tutorials/javascript/amm/add-assets-to-amm.md)
|
||||
- [AMMのオークションスロットを利用して低い取引手数料でトレードする](/docs/tutorials/dex/add-assets-to-amm-in-javascript.md)
|
||||
- [XLS-30 標準規格](https://github.com/XRPLF/XRPL-Standards/tree/master/XLS-0030-automated-market-maker#readme)
|
||||
|
||||
## さらに詳しく
|
||||
|
||||
@@ -67,7 +67,7 @@ NFTをオークション形式で販売することができます。[NFTオー
|
||||
|
||||
XRPL NFTの最もシンプルな支払い方法はXRPです。XRPを使ったNFTの売り買いの例については、[NFTokenの取引](../../tutorials/javascript/nfts/transfer-nfts.md)をご覧ください。
|
||||
|
||||
他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](../../tutorials/how-tos/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。
|
||||
他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](/docs/tutorials/dex/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。
|
||||
|
||||
## NFTのインデックス
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ NFTをオークション形式で販売することができます。[NFTオー
|
||||
|
||||
XRPL NFTの最もシンプルな支払い方法はXRPです。XRPを使ったNFTの売り買いの例については、[NFTokenの取引](../../tutorials/javascript/nfts/transfer-nfts.md))をご覧ください。
|
||||
|
||||
他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](../../tutorials/how-tos/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。
|
||||
他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](/docs/tutorials/dex/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。
|
||||
|
||||
## NFTのインデックス化
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ NFTをオークション形式で販売することができます。[NFTオー
|
||||
|
||||
XRPL NFTの最もシンプルな支払い方法はXRPです。XRPを使ったNFTの売り買いの例については、[NFTokenの取引](../../tutorials/javascript/nfts/transfer-nfts.md)をご覧ください。
|
||||
|
||||
他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](../../tutorials/how-tos/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。
|
||||
他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](/docs/tutorials/dex/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。
|
||||
|
||||
<!--
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ NFTをオークション形式で販売することができます。[NFTオー
|
||||
|
||||
XRPL NFTの最もシンプルな支払い方法はXRPです。XRPを使ったNFTの売り買いの例については、[NFTokenの取引](../../tutorials/javascript/nfts/transfer-nfts.md)をご覧ください。
|
||||
|
||||
他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](../../tutorials/how-tos/use-tokens/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。
|
||||
他の通貨での取引は、DEXを活用してあらゆる種類の発行通貨を受け入れ、取引することができます。[分散型取引所での取引](/docs/tutorials/dex/trade-in-the-decentralized-exchange.md#trade-in-the-decentralized-exchange)をご覧ください。
|
||||
|
||||
## NFTのインデックス化
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Create AMM
|
||||
|
||||
Code samples for the [Create an Automated Market Maker tutorial](../../docs/tutorials/how-tos/use-tokens/create-an-automated-market-maker.md), showing how to make set up a new AMM.
|
||||
Code samples for the [Create an Automated Market Maker tutorial](../../docs/tutorials/dex/create-an-automated-market-maker.md), showing how to make set up a new AMM.
|
||||
|
||||
@@ -25,14 +25,14 @@ The Ripple Consensus Ledger's multi-signing feature also allows signers to indep
|
||||
|
||||
1. Include the signer's address in your SignerList.
|
||||
2. Fund the signer's address in the ledger.
|
||||
3. [Assign a Regular Key Pair](/docs/tutorials/how-tos/manage-account-settings/assign-a-regular-key-pair) to the signer's address and disable its master key. (Funded addresses can only sign using their master key pair if it's not disabled.)
|
||||
3. [Assign a Regular Key Pair](/docs/tutorials/best-practices/key-management/assign-a-regular-key-pair.md) to the signer's address and disable its master key. (Funded addresses can only sign using their master key pair if it's not disabled.)
|
||||
4. Have that signer use its regular key pair to contribute to your multi-signatures.
|
||||
|
||||
|
||||
## Further Reading ##
|
||||
|
||||
- [Multi-Signing Summary](/docs/concepts/accounts/multi-signing)
|
||||
- [How to Multi-Sign](/docs/tutorials/how-tos/manage-account-settings/send-a-multi-signed-transaction)
|
||||
- [How to Multi-Sign](/docs/tutorials/best-practices/key-management/send-a-multi-signed-transaction.md)
|
||||
- [MultiSign Amendment](/resources/known-amendments.md#multisign)
|
||||
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ markdown:
|
||||
|
||||
The multi-signing amendment is currently supported by the majority of voting validators on Ripple, and is scheduled to become active on the protocol on Monday, **2016-06-27**. For more information, please see the multi-signing documentation in the Ripple Developer Portal:
|
||||
|
||||
* [How to Multi-Sign](/docs/tutorials/how-tos/manage-account-settings/send-a-multi-signed-transaction)
|
||||
* [How to Multi-Sign](/docs/tutorials/best-practices/key-management/send-a-multi-signed-transaction.md)
|
||||
* [MultiSign Amendment Information](/resources/known-amendments.md#multisign)
|
||||
|
||||
To continue receiving updates about the `rippled` server, please subscribe to the Ripple Server Google Group:
|
||||
|
||||
@@ -57,5 +57,5 @@ For more information, see the following articles:
|
||||
|
||||
* [MultiSign Amendment](/resources/known-amendments.md#multisign)
|
||||
* [Multi-Signing Overview](/docs/concepts/accounts/multi-signing)
|
||||
* [Tutorial - Set Up Multi-Signing](/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing)
|
||||
* [Tutorial - Send a Multi-Signed Transaction](/docs/tutorials/how-tos/manage-account-settings/send-a-multi-signed-transaction)
|
||||
* [Tutorial - Set Up Multi-Signing](../../docs/tutorials/best-practices/key-management/set-up-multi-signing.md)
|
||||
* [Tutorial - Send a Multi-Signed Transaction](../../docs/tutorials/best-practices/key-management/send-a-multi-signed-transaction.md)
|
||||
|
||||
@@ -16,7 +16,7 @@ markdown:
|
||||
|
||||
If you are already using multi-signing, no changes are necessary to continue using it. Optionally, you can now benefit from the reduced reserve requirements by replacing your existing SignerList with an identical or updated one.
|
||||
|
||||
If you are not using multi-signing yet, feel free to take this opportunity to [Set Up Multi-Signing](/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing) with the reduced reserve requirements.
|
||||
If you are not using multi-signing yet, feel free to take this opportunity to [Set Up Multi-Signing](/docs/tutorials/best-practices/key-management/set-up-multi-signing.md) with the reduced reserve requirements.
|
||||
|
||||
|
||||
## MultiSignReserve Summary
|
||||
|
||||
@@ -30,9 +30,9 @@ If you run a tool that parses full ledgers or transaction metadata, you need to
|
||||
|
||||
## Using AMM
|
||||
|
||||
If you want to use AMM after the amendment goes live, the first step is to [Create an Automated Maker](../../docs/tutorials/how-tos/use-tokens/create-an-automated-market-maker.md) for the currency pair you want to trade. Only the first user for any given currency pair needs to do this, though; other users can deposit to the existing AMM to get in on the action.
|
||||
If you want to use AMM after the amendment goes live, the first step is to [Create an Automated Maker](../../docs/tutorials/dex/create-an-automated-market-maker.md) for the currency pair you want to trade. Only the first user for any given currency pair needs to do this, though; other users can deposit to the existing AMM to get in on the action.
|
||||
|
||||
There are no special steps to use an AMM when trading currencies on the XRP Ledger. If you follow the standard steps to [Trade in the DEX](../../docs/tutorials/how-tos/use-tokens/trade-in-the-decentralized-exchange.md), and there's an AMM for the currency pair you're trading, your transaction automatically uses the AMM when doing so produces a better rate than consuming orders from the order book.
|
||||
There are no special steps to use an AMM when trading currencies on the XRP Ledger. If you follow the standard steps to [Trade in the DEX](../../docs/tutorials/dex/trade-in-the-decentralized-exchange.md), and there's an AMM for the currency pair you're trading, your transaction automatically uses the AMM when doing so produces a better rate than consuming orders from the order book.
|
||||
|
||||
## Further Reading
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ python3 lesson1-send-xrp.py
|
||||
|
||||
## Transferring XRP: A Hands-on Experience
|
||||
|
||||
With your accounts at the ready, it's time to [send XRP payments using Python](./../../docs/tutorials/python/send-payments/index.md) back and forth. Experience the thrill of moving digital currency with just a few clicks:
|
||||
With your accounts at the ready, it's time to [send XRP payments using Python](./../../docs/tutorials/payments/create-accounts-send-xrp-in-python.md) back and forth. Experience the thrill of moving digital currency with just a few clicks:
|
||||
|
||||
- **From Standby to Operational**: Enter the XRP amount, paste the operational account's address into the destination field, and watch the magic happen.
|
||||
- **Back to Standby**: Reverse the roles and transfer XRP from the operational account back to the standby account, completing the circle.
|
||||
|
||||
@@ -208,6 +208,7 @@
|
||||
[MPTokensV1_1 amendment]: /resources/known-amendments.md#priceoracle
|
||||
[RFC-1751]: https://tools.ietf.org/html/rfc1751
|
||||
[RequireFullyCanonicalSig amendment]: /resources/known-amendments.md#requirefullycanonicalsig
|
||||
[Require Destination Tag]: docs/tutorials/compliance-features/require-destination-tags.md
|
||||
[RippleState entry]: /docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md
|
||||
[RippleState object]: /docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md
|
||||
[SHA-512Half]: /docs/references/protocol/data-types/basic-data-types.md#hashes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
It can take several minutes to sync with the rest of the XRP Ledger network, during which time the server outputs various warnings. For information about log messages, see [Understanding Log Messages](../infrastructure/troubleshooting/understanding-log-messages.md).
|
||||
|
||||
You can use the [`rippled` commandline interface](../tutorials/http-websocket-apis/build-apps/get-started.md#commandline) to see if your server is synced with the network:
|
||||
You can use the [`rippled` commandline interface](../tutorials/get-started/get-started-http-websocket-apis.md#commandline) to see if your server is synced with the network:
|
||||
|
||||
```sh
|
||||
rippled server_info
|
||||
|
||||
@@ -74,8 +74,8 @@ If a standby address is compromised, the consequences are like an operational ad
|
||||
- [Accounts](index.md)
|
||||
- [Cryptographic Keys](cryptographic-keys.md)
|
||||
- **Tutorials:**
|
||||
- [Assign a Regular Key Pair](../../tutorials/how-tos/manage-account-settings/assign-a-regular-key-pair.md)
|
||||
- [Change or Remove a Regular Key Pair](../../tutorials/how-tos/manage-account-settings/change-or-remove-a-regular-key-pair.md)
|
||||
- [Assign a Regular Key Pair](../../tutorials/best-practices/key-management/assign-a-regular-key-pair.md)
|
||||
- [Change or Remove a Regular Key Pair](../../tutorials/best-practices/key-management/change-or-remove-a-regular-key-pair.md)
|
||||
- **References:**
|
||||
- [account_info method][]
|
||||
- [SetRegularKey transaction][]
|
||||
|
||||
@@ -90,7 +90,7 @@ The [wallet_propose method][] is one way of generating a master key pair. The re
|
||||
|
||||
{% admonition type="danger" name="Warning" %}If a malicious actor learns your master private key (or seed), they have full control over your account, unless your master key pair is disabled. They can take all the money your account holds and do other irreparable harm. Treat your secret values with care!{% /admonition %}
|
||||
|
||||
Because changing a master key pair is impossible, you should treat it with care proportionate to the value it holds. A good practice is to [keep your master key pair offline](../../tutorials/how-tos/manage-account-settings/offline-account-setup.md) and set up a regular key pair to sign transactions from your account instead. By keeping the master key pair enabled but offline, you can be reasonably certain that no one can get access to it using the internet, but you can still go find it to use in an emergency.
|
||||
Because changing a master key pair is impossible, you should treat it with care proportionate to the value it holds. A good practice is to [keep your master key pair offline](../../tutorials/best-practices/key-management/offline-account-setup.md) and set up a regular key pair to sign transactions from your account instead. By keeping the master key pair enabled but offline, you can be reasonably certain that no one can get access to it using the internet, but you can still go find it to use in an emergency.
|
||||
|
||||
Keeping your master key pair offline means not putting the secret information (passphrase, seed, or private key) anywhere that malicious actors can get access to it. In general, this means it is not within reach of a computer program that interacts with the internet at large. For example, you could keep it on an air-gapped machine that never connects to the internet, on a piece of paper stored in a safe, or have it completely memorized. (Memorization has some drawbacks, though, including making it impossible to pass the key on after you are dead.)
|
||||
|
||||
@@ -121,7 +121,7 @@ A good security practice is to save your master private key somewhere offline, a
|
||||
|
||||
Regular key pairs have the same format as master key pairs. You generate them the same way (for example, using the [wallet_propose method][]). The only difference is that a regular key pair is not intrinsically tied to the account it signs transactions for. It is possible (but not a good idea) to use the master key pair from one account as the regular key pair for another account.
|
||||
|
||||
The [SetRegularKey transaction][] assigns or changes the regular key pair for an account. For a tutorial on assigning or changing a regular key pair, see [Assign a Regular Key Pair](../../tutorials/how-tos/manage-account-settings/assign-a-regular-key-pair.md).
|
||||
The [SetRegularKey transaction][] assigns or changes the regular key pair for an account. For a tutorial on assigning or changing a regular key pair, see [Assign a Regular Key Pair](../../tutorials/best-practices/key-management/assign-a-regular-key-pair.md).
|
||||
|
||||
|
||||
## Signing Algorithms
|
||||
@@ -250,8 +250,8 @@ The steps to derive the XRP Ledger's secp256k1 account key pair from a seed valu
|
||||
- **Concepts:**
|
||||
- [Issuing and Operational Addresses](account-types.md)
|
||||
- **Tutorials:**
|
||||
- [Assign a Regular Key Pair](../../tutorials/how-tos/manage-account-settings/assign-a-regular-key-pair.md)
|
||||
- [Change or Remove a Regular Key Pair](../../tutorials/how-tos/manage-account-settings/change-or-remove-a-regular-key-pair.md)
|
||||
- [Assign a Regular Key Pair](../../tutorials/best-practices/key-management/assign-a-regular-key-pair.md)
|
||||
- [Change or Remove a Regular Key Pair](../../tutorials/best-practices/key-management/change-or-remove-a-regular-key-pair.md)
|
||||
- **References:**
|
||||
- [SetRegularKey transaction][]
|
||||
- [AccountRoot ledger object](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md)
|
||||
|
||||
@@ -64,6 +64,6 @@ The typical way to get an account in the XRP Ledger is as follows:
|
||||
- [AccountRoot object](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md)
|
||||
- **Tutorials:**
|
||||
- [Manage Account Settings (Category)](../../tutorials/how-tos/manage-account-settings/index.md)
|
||||
- [Monitor Incoming Payments with WebSocket](../../tutorials/http-websocket-apis/build-apps/monitor-incoming-payments-with-websocket.md)
|
||||
- [Monitor Incoming Payments with WebSocket](../../tutorials/advanced-developer-topics/client-library-development//monitor-incoming-payments-with-websocket.md)
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -58,7 +58,7 @@ There might be a scenario where you create a multi-signing list as a "backup pla
|
||||
|
||||
To successfully submit a multi-signed transaction, you must do all of the following:
|
||||
|
||||
* The address sending the transaction (specified in the `Account` field) must have a [`SignerList` object in the ledger](../../references/protocol/ledger-data/ledger-entry-types/signerlist.md). For instructions on how to do this, see [Set Up Multi-Signing](../../tutorials/how-tos/manage-account-settings/set-up-multi-signing.md).
|
||||
* The address sending the transaction (specified in the `Account` field) must have a [`SignerList` object in the ledger](../../references/protocol/ledger-data/ledger-entry-types/signerlist.md). For instructions on how to do this, see [Set Up Multi-Signing](../../tutorials/best-practices/key-management/set-up-multi-signing.md).
|
||||
* The transaction must include the `SigningPubKey` field as an empty string.
|
||||
* The transaction must include a [`Signers` field](../../references/protocol/transactions/common-fields.md#signers-field) containing an array of signatures.
|
||||
* The signatures present in the `Signers` array must match signers defined in the `SignerList`.
|
||||
@@ -70,8 +70,8 @@ To successfully submit a multi-signed transaction, you must do all of the follow
|
||||
## See Also
|
||||
|
||||
- **Tutorials:**
|
||||
- [Set Up Multi-Signing](../../tutorials/how-tos/manage-account-settings/set-up-multi-signing.md)
|
||||
- [Send a Multi-Signed Transaction](../../tutorials/how-tos/manage-account-settings/send-a-multi-signed-transaction.md)
|
||||
- [Set Up Multi-Signing](../../tutorials/best-practices/key-management/set-up-multi-signing.md)
|
||||
- [Send a Multi-Signed Transaction](../../tutorials/best-practices/key-management/send-a-multi-signed-transaction.md)
|
||||
- **Concepts:**
|
||||
- [Cryptographic Keys](cryptographic-keys.md)
|
||||
- [Special Transaction Cost for Multi-signed transactions](../transactions/transaction-cost.md#special-transaction-costs)
|
||||
|
||||
@@ -59,7 +59,7 @@ Applications can look up the current base and incremental reserve values using t
|
||||
|
||||
To determine the owner reserve of an account, multiply the incremental reserve by the number of objects the account owns. To look up the number of objects an account owns, call the [account_info method][] and take `account_data.OwnerCount`.
|
||||
|
||||
To calculate an address's total reserve requirement, multiply `OwnerCount` by `reserve_inc_xrp`, then add `reserve_base_xrp`. [Here is a demonstration](../../tutorials/python/build-apps/build-a-desktop-wallet-in-python.md#codeblock-17) of this calculation in Python.
|
||||
To calculate an address's total reserve requirement, multiply `OwnerCount` by `reserve_inc_xrp`, then add `reserve_base_xrp`. [Here is a demonstration](../../tutorials/sample-apps/build-a-desktop-wallet-in-python.md#codeblock-17) of this calculation in Python.
|
||||
|
||||
|
||||
## Going Below the Reserve Requirement
|
||||
@@ -81,6 +81,6 @@ The XRP Ledger has a mechanism to adjust the reserve requirements. Such adjustme
|
||||
- [AccountRoot Object][]
|
||||
- [Fee Voting](../consensus-protocol/fee-voting.md)
|
||||
- [SetFee pseudo-transaction][]
|
||||
- [Tutorial: Calculate and display the reserve requirement (Python)](../../tutorials/python/build-apps/build-a-desktop-wallet-in-python.md#3-display-an-account)
|
||||
- [Tutorial: Calculate and display the reserve requirement (Python)](../../tutorials/sample-apps/build-a-desktop-wallet-in-python.md#3-display-an-account)
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -63,7 +63,7 @@ Any account can create and use Tickets on any type of transaction. However, some
|
||||
- **Concepts:**
|
||||
- [Multi-Signing](multi-signing.md)
|
||||
- **Tutorials:**
|
||||
- [Use Tickets](../../tutorials/how-tos/manage-account-settings/use-tickets.md)
|
||||
- [Use Tickets](../../tutorials/best-practices/transaction-sending/use-tickets.md)
|
||||
- **References:**
|
||||
- [TicketCreate transaction][]
|
||||
- [Transaction Common Fields](../../references/protocol/transactions/common-fields.md)
|
||||
|
||||
@@ -27,7 +27,7 @@ You need to trust the server you use. If you connect to a malicious server, ther
|
||||
* It could selectively show or hide payment paths and currency exchange offers to guarantee its own profit while not providing you the best deal.
|
||||
* If you sent it your address's secret key, it could make arbitrary transactions on your behalf, and even transfer or destroy all the money your address holds.
|
||||
|
||||
Additionally, running your own server gives you [admin access](../../tutorials/http-websocket-apis/build-apps/get-started.md#admin-access), which allows you to run important admin-only and load-intensive commands. If you use a shared server, you have to worry about other users of the same server competing with you for the server's computing power. Many of the commands in the WebSocket API can put a lot of strain on the server, so the server has the option to scale back its responses when it needs to. If you share a server with others, you may not always get the best results possible.
|
||||
Additionally, running your own server gives you [admin access](../../tutorials/get-started/get-started-http-websocket-apis.md#admin-access), which allows you to run important admin-only and load-intensive commands. If you use a shared server, you have to worry about other users of the same server competing with you for the server's computing power. Many of the commands in the WebSocket API can put a lot of strain on the server, so the server has the option to scale back its responses when it needs to. If you share a server with others, you may not always get the best results possible.
|
||||
|
||||
Finally, if you run a validating server, you can use a stock server as a proxy to the public network while keeping your validating server on a private network only accessible to the outside world through the stock server. This makes it more difficult to compromise the integrity of your validating server.
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ The `rippled` server software can run in several modes depending on its configur
|
||||
|
||||
- [**P2P Mode**](#p2p-mode) - This is the main mode of the server: it follows the peer-to-peer network, processes transactions, and maintains some amount of [ledger history](ledger-history.md). This mode can be configured to do any or all of the following roles:
|
||||
- [**Validator**](#validators) - Helps secure the network by participating in consensus.
|
||||
- [**API Server**](#api-servers) - Provides [API access](../../tutorials/http-websocket-apis/build-apps/get-started.md) to read data from the shared ledger, submit transactions, and watch activity in the ledger. Optionally, this can be a [**Full History Server**](#full-history-servers), which keeps a complete record of transaction and ledger history.
|
||||
- [**API Server**](#api-servers) - Provides [API access](../../tutorials/get-started/get-started-http-websocket-apis.md) to read data from the shared ledger, submit transactions, and watch activity in the ledger. Optionally, this can be a [**Full History Server**](#full-history-servers), which keeps a complete record of transaction and ledger history.
|
||||
- [**Hub Server**](#public-hubs) - Relays messages between many other members of the peer-to-peer network.
|
||||
- [**Stand-alone mode**](#stand-alone-mode) - An offline mode for testing. Does not connect to the peer-to-peer network or use consensus.
|
||||
|
||||
|
||||
@@ -49,11 +49,11 @@ For more information about Checks in the XRP Ledger, see:
|
||||
- [CheckCash][]
|
||||
- [CheckCancel][]
|
||||
- [Checks Tutorials](../../tutorials/how-tos/use-specialized-payment-types/use-checks/index.md)
|
||||
- [Send a Check](../../tutorials/how-tos/use-specialized-payment-types/use-checks/send-a-check.md)
|
||||
- [Look up Checks](../../tutorials/how-tos/use-specialized-payment-types/use-checks/look-up-checks.md)
|
||||
- [Cash a Check for an exact amount](../../tutorials/how-tos/use-specialized-payment-types/use-checks/cash-a-check-for-an-exact-amount.md)
|
||||
- [Cash a Check for a flexible amount](../../tutorials/how-tos/use-specialized-payment-types/use-checks/cash-a-check-for-a-flexible-amount.md)
|
||||
- [Cancel a Check](../../tutorials/how-tos/use-specialized-payment-types/use-checks/cancel-a-check.md)
|
||||
- [Send a Check](../../tutorials/payments/send-a-check.md)
|
||||
- [Look up Checks](../../tutorials/payments/look-up-checks.md)
|
||||
- [Cash a Check for an exact amount](../../tutorials/payments/cash-a-check-for-an-exact-amount.md)
|
||||
- [Cash a Check for a flexible amount](../../tutorials/payments/cash-a-check-for-a-flexible-amount.md)
|
||||
- [Cancel a Check](../../tutorials/payments/cancel-a-check.md)
|
||||
- [Checks amendment][]
|
||||
|
||||
For more information about related features, see:
|
||||
|
||||
@@ -39,8 +39,8 @@ The basis of any financial system is transferring value. The quickest and simple
|
||||
## See Also
|
||||
|
||||
- **Tutorials:**
|
||||
- [Send XRP (Interactive Tutorial)](../../tutorials/how-tos/send-xrp.md)
|
||||
- [Monitor Incoming Payments with WebSocket](../../tutorials/http-websocket-apis/build-apps/monitor-incoming-payments-with-websocket.md)
|
||||
- [Send XRP (Interactive Tutorial)](../../tutorials/payments/send-xrp)
|
||||
- [Monitor Incoming Payments with WebSocket](../../tutorials/advanced-developer-topics/client-library-development//monitor-incoming-payments-with-websocket.md)
|
||||
- **References:**
|
||||
- [Payment transaction][]
|
||||
- [Transaction Results](../../references/protocol/transactions/transaction-results/index.md)
|
||||
|
||||
@@ -130,7 +130,7 @@ Using [the `delivered_amount` field](#the-delivered_amount-field) when processin
|
||||
- [Transactions](../transactions/index.md)
|
||||
- **Tutorials:**
|
||||
- [Look Up Transaction Results](../transactions/finality-of-results/look-up-transaction-results.md)
|
||||
- [Monitor Incoming Payments with WebSocket](../../tutorials/http-websocket-apis/build-apps/monitor-incoming-payments-with-websocket.md)
|
||||
- [Monitor Incoming Payments with WebSocket](../../tutorials/advanced-developer-topics/client-library-development/monitor-incoming-payments-with-websocket.md)
|
||||
- [Use Specialized Payment Types](../../tutorials/how-tos/use-specialized-payment-types/index.md)
|
||||
- [List XRP as an Exchange](../../use-cases/defi/list-xrp-as-an-exchange.md)
|
||||
- **References:**
|
||||
|
||||
@@ -196,7 +196,7 @@ The data type that holds MPT balances has a valid range of **0** to **2<sup>63</
|
||||
|
||||
- **Tutorial**
|
||||
|
||||
- [Sending MPTs](../../../tutorials/javascript/send-payments/sending-mpts.md)
|
||||
- [Sending MPTs](../../../tutorials/tokens/sending-mpts-in-javascript.md)
|
||||
|
||||
- **References:**
|
||||
- [MPToken](../../../references/protocol/ledger-data/ledger-entry-types/mptoken.md)
|
||||
|
||||
@@ -16,7 +16,7 @@ To guarantee a fixed number of NFTs:
|
||||
1. Use `AccountSet` to assign your operational wallet as an authorized minter for the issuer. See [Authorizing Another Account to Mint Your NFTs](authorizing-another-minter.md).
|
||||
1. Use your operational account to mint the tokens using `NFTokenMint`. The operational wallet holds all of the tokens minted for the Issuer. See [Batch Minting](batch-minting.md).
|
||||
1. Use `AccountSet` to remove your operational wallet as an authorized minter for the Issuer.
|
||||
1. “Blackhole” the Issuer account. See [Disable Master Key Pair](../../../tutorials/how-tos/manage-account-settings/disable-master-key-pair.md).
|
||||
1. “Blackhole” the Issuer account. See [Disable Master Key Pair](../../../tutorials/best-practices/key-management/disable-master-key-pair.md).
|
||||
|
||||
At this point, it is impossible for any new tokens to be minted with the issuer’s address as the issuing account.
|
||||
|
||||
|
||||
@@ -454,7 +454,7 @@ Most other transactions create a specific type of ledger entry and [adjust the s
|
||||
- [Finality of Results](index.md)
|
||||
- [Reliable Transaction Submission](../reliable-transaction-submission.md)
|
||||
- **Tutorials:**
|
||||
- [Monitor Incoming Payments with WebSocket](../../../tutorials/http-websocket-apis/build-apps/monitor-incoming-payments-with-websocket.md)
|
||||
- [Monitor Incoming Payments with WebSocket](../../../tutorials/advanced-developer-topics/client-library-development/monitor-incoming-payments-with-websocket.md)
|
||||
- **References:**
|
||||
- [Ledger Entry Types Reference](../../../references/protocol/ledger-data/ledger-entry-types/index.md) - All possible fields of all types of ledger entries
|
||||
- [Transaction Metadata](../../../references/protocol/transactions/metadata.md) - Summary of the metadata format and fields that appear in metadata
|
||||
|
||||
@@ -65,7 +65,7 @@ Sending a transaction to the XRP Ledger involves several steps:
|
||||
5. The servers apply those transactions to the previous ledger in a canonical order and share their results.
|
||||
6. If enough [trusted validators](../networks-and-servers/rippled-server-modes.md#validators) created the exact same ledger, that ledger is declared _validated_ and the [results of the transactions](../../references/protocol/transactions/transaction-results/index.md) in that ledger are immutable.
|
||||
|
||||
See [Send XRP](../../tutorials/how-tos/send-xrp.md) for an interactive tutorial in sending XRP payments.
|
||||
See [Send XRP](../../tutorials/payments/send-xrp) for an interactive tutorial in sending XRP payments.
|
||||
|
||||
|
||||
### Example Unsigned Transaction
|
||||
@@ -207,9 +207,9 @@ Example response from the `tx` command:
|
||||
- [Payment Types](../payment-types/index.md)
|
||||
- **Tutorials:**
|
||||
- [Set Up Secure Signing](secure-signing.md)
|
||||
- [Send XRP](../../tutorials/how-tos/send-xrp.md)
|
||||
- [Send XRP](../../tutorials/payments/send-xrp)
|
||||
- [Look Up Transaction Results](finality-of-results/look-up-transaction-results.md)
|
||||
- [Monitor Incoming Payments with WebSocket](../../tutorials/http-websocket-apis/build-apps/monitor-incoming-payments-with-websocket.md)
|
||||
- [Monitor Incoming Payments with WebSocket](../../tutorials/advanced-developer-topics/client-library-development/monitor-incoming-payments-with-websocket.md)
|
||||
- [Cancel or Skip a Transaction](finality-of-results/canceling-a-transaction.md)
|
||||
- [Reliable Transaction Submission](reliable-transaction-submission.md)
|
||||
- **References:**
|
||||
|
||||
@@ -170,7 +170,7 @@ The difference between the two transaction failure cases (labeled (1) and (2) in
|
||||
|
||||
{% admonition type="success" name="Tip" %}The [`AccountTxnID` field](../../references/protocol/transactions/common-fields.md#accounttxnid) can help prevent redundant transactions from succeeding in this situation.{% /admonition %}
|
||||
|
||||
- A malicious actor may have used your secret key to send a transaction. If this is the case, [rotate your key pair](../../tutorials/how-tos/manage-account-settings/change-or-remove-a-regular-key-pair.md) if you can, and check for other transactions sent. You should also audit your network to determine if the secret key was part of a larger intrusion or security leak. When you successfully rotate your key pair and are certain that the malicious actor no longer has access to your accounts and systems, you can resume normal activities.
|
||||
- A malicious actor may have used your secret key to send a transaction. If this is the case, [rotate your key pair](../../tutorials/best-practices/key-management/change-or-remove-a-regular-key-pair.md) if you can, and check for other transactions sent. You should also audit your network to determine if the secret key was part of a larger intrusion or security leak. When you successfully rotate your key pair and are certain that the malicious actor no longer has access to your accounts and systems, you can resume normal activities.
|
||||
|
||||
|
||||
#### Ledger Gaps
|
||||
|
||||
@@ -47,7 +47,7 @@ In this configuration, you run `rippled` on the machine that generates the trans
|
||||
|
||||
The [example config file](https://github.com/XRPLF/rippled/blob/8429dd67e60ba360da591bfa905b58a35638fda1/cfg/rippled-example.cfg#L1050-L1073) listens for connections on the local loopback network (127.0.0.1), with JSON-RPC (HTTP) on port 5005 and WebSocket (WS) on port 6006, and treats all connected clients as admin.
|
||||
|
||||
{% admonition type="warning" name="Caution" %}Using the [commandline API](../../references/http-websocket-apis/api-conventions/request-formatting.md#commandline-format) for signatures is less secure than [using the Websocket or JSON-RPC APIs](../../tutorials/http-websocket-apis/build-apps/get-started.md) through non-commandline clients. When using the commandline syntax, your secret key may be visible to other users in the system's process listing, and your shell history may save the key in plain text.{% /admonition %}
|
||||
{% admonition type="warning" name="Caution" %}Using the [commandline API](../../references/http-websocket-apis/api-conventions/request-formatting.md#commandline-format) for signatures is less secure than [using the Websocket or JSON-RPC APIs](../../tutorials/get-started/get-started-http-websocket-apis.md) through non-commandline clients. When using the commandline syntax, your secret key may be visible to other users in the system's process listing, and your shell history may save the key in plain text.{% /admonition %}
|
||||
|
||||
3. Maintain the server to keep it running, updated, and in sync with the network while you're using it.
|
||||
|
||||
@@ -140,7 +140,7 @@ To use this configuration, follow the steps for [running `rippled` on a private
|
||||
- [Multi-Signing](../accounts/multi-signing.md)
|
||||
- **Tutorials:**
|
||||
- [Install rippled](../../infrastructure/installation/index.md)
|
||||
- [Assign a Regular Key Pair](../../tutorials/how-tos/manage-account-settings/assign-a-regular-key-pair.md)
|
||||
- [Assign a Regular Key Pair](../../tutorials/best-practices/key-management/assign-a-regular-key-pair.md)
|
||||
- [Reliable Transaction Submission](reliable-transaction-submission.md)
|
||||
- [Enable Public Signing](../../infrastructure/configuration/enable-public-signing.md)
|
||||
- **References:**
|
||||
|
||||
@@ -42,12 +42,12 @@ Assigning tags in numerical order provides less privacy to customers. Since all
|
||||
|
||||
## Requiring Tags
|
||||
|
||||
For an XRP Ledger address that may receive payments intended for several customer accounts, receiving a payment _without_ a destination tag can be a problem: it is not immediately obvious which customer to credit, which can require a manual intervention and a discussion with the sender to figure out who was the intended recipient. To reduce cases like this, you can [enable the `RequireDest` setting](../../tutorials/how-tos/manage-account-settings/require-destination-tags.md). That way, if a user forgets to include a destination tag in a payment, the XRP Ledger rejects their payment instead of giving you money you don't know what to do with. The user can then send the payment again, using the tag as they should have.
|
||||
For an XRP Ledger address that may receive payments intended for several customer accounts, receiving a payment _without_ a destination tag can be a problem: it is not immediately obvious which customer to credit, which can require a manual intervention and a discussion with the sender to figure out who was the intended recipient. To reduce cases like this, you can [enable the `RequireDest` setting](../../tutorials/compliance-features/require-destination-tags.md). That way, if a user forgets to include a destination tag in a payment, the XRP Ledger rejects their payment instead of giving you money you don't know what to do with. The user can then send the payment again, using the tag as they should have.
|
||||
|
||||
|
||||
## See Also
|
||||
|
||||
- [Require Destination Tags](../../tutorials/how-tos/manage-account-settings/require-destination-tags.md)
|
||||
- [Require Destination Tags](../../tutorials/compliance-features/require-destination-tags.md)
|
||||
- [Payment Types](../payment-types/index.md)
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
|
||||
@@ -54,7 +54,7 @@ This divides transactions into roughly three categories:
|
||||
|
||||
## Local Load Cost
|
||||
|
||||
Each `rippled` server maintains a cost threshold based on its current load. If you submit a transaction with a `Fee` value that is lower than current load-based transaction cost of the `rippled` server, that server neither applies nor relays the transaction. (**Note:** If you submit a transaction through an [admin connection](../../tutorials/http-websocket-apis/build-apps/get-started.md), the server applies and relays the transaction as long as the transaction meets the un-scaled minimum transaction cost.) A transaction is very unlikely to survive [the consensus process](../consensus-protocol/index.md) unless its `Fee` value meets the requirements of a majority of servers.
|
||||
Each `rippled` server maintains a cost threshold based on its current load. If you submit a transaction with a `Fee` value that is lower than current load-based transaction cost of the `rippled` server, that server neither applies nor relays the transaction. (**Note:** If you submit a transaction through an [admin connection](../../tutorials/get-started/get-started-http-websocket-apis.md), the server applies and relays the transaction as long as the transaction meets the un-scaled minimum transaction cost.) A transaction is very unlikely to survive [the consensus process](../consensus-protocol/index.md) unless its `Fee` value meets the requirements of a majority of servers.
|
||||
|
||||
## Open Ledger Cost
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ labels:
|
||||
---
|
||||
# Configure Amendment Voting
|
||||
|
||||
Servers configured as validators can vote on [amendments](../../concepts/networks-and-servers/amendments.md) to the XRP Ledger protocol using the [feature method][]. (This method requires [admin access](../../tutorials/http-websocket-apis/build-apps/get-started.md#admin-access).)
|
||||
Servers configured as validators can vote on [amendments](../../concepts/networks-and-servers/amendments.md) to the XRP Ledger protocol using the [feature method][]. (This method requires [admin access](../../tutorials/get-started/get-started-http-websocket-apis.md#admin-access).)
|
||||
|
||||
For example, to vote against the "SHAMapV2" amendment, run the following command:
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ To enable gRPC on your server, complete the following steps:
|
||||
- [XRP Ledger Overview](/about/)
|
||||
- [`rippled` Server Modes](../../concepts/networks-and-servers/rippled-server-modes.md)
|
||||
- **Tutorials:**
|
||||
- [Get Started Using HTTP / WebSocket APIs](../../tutorials/http-websocket-apis/build-apps/get-started.md)
|
||||
- [Get Started Using HTTP / WebSocket APIs](../../tutorials/get-started/get-started-http-websocket-apis.md)
|
||||
- [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md)
|
||||
- [Manage the rippled Server](../installation/install-rippled-on-ubuntu.md)
|
||||
- **References:**
|
||||
|
||||
@@ -57,7 +57,7 @@ To configure advisory deletion with a daily schedule, perform the following step
|
||||
|
||||
2. Test running the [can_delete method][] to prompt the server to run online deletion.
|
||||
|
||||
You can use the [`rippled` commandline interface](../../../tutorials/http-websocket-apis/build-apps/get-started.md#commandline) to run this command. For example:
|
||||
You can use the [`rippled` commandline interface](../../../tutorials/get-started/get-started-http-websocket-apis.md#commandline) to run this command. For example:
|
||||
|
||||
```
|
||||
$ rippled --conf=/etc/opt/ripple/rippled.cfg can_delete now
|
||||
|
||||
@@ -11,7 +11,7 @@ labels:
|
||||
|
||||
By default, the signing methods for [`rippled`](../../concepts/networks-and-servers/index.md) are limited to [administrative connections](../../references/http-websocket-apis/admin-api-methods/index.md). If you want to allow signing methods to be used as public API methods (like with versions of `rippled` before v1.1.0), you can enable it with a configuration change.
|
||||
|
||||
This enables the following methods to be used on "public" [JSON-RPC and WebSocket connections](../../tutorials/http-websocket-apis/build-apps/get-started.md), if your server accepts them:
|
||||
This enables the following methods to be used on "public" [JSON-RPC and WebSocket connections](../../tutorials/get-started/get-started-http-websocket-apis.md), if your server accepts them:
|
||||
|
||||
- [sign][sign method]
|
||||
- [sign_for][sign_for method]
|
||||
@@ -51,8 +51,8 @@ To enable public signing, perform the following steps:
|
||||
- [Cryptographic Keys](../../concepts/accounts/cryptographic-keys.md)
|
||||
- **Tutorials:**
|
||||
- [Set Up Secure Signing](../../concepts/transactions/secure-signing.md)
|
||||
- [Get Started Using HTTP / WebSocket APIs](../../tutorials/http-websocket-apis/build-apps/get-started.md)
|
||||
- [Get Started Using JavaScript](../../tutorials/javascript/build-apps/get-started.md)
|
||||
- [Get Started Using HTTP / WebSocket APIs](../../tutorials/get-started/get-started-http-websocket-apis.md)
|
||||
- [Get Started Using JavaScript](../../tutorials/get-started/get-started-javascript.md)
|
||||
- **References:**
|
||||
- [sign method][]
|
||||
- [sign_for method][]
|
||||
|
||||
@@ -109,7 +109,7 @@ Before you install `rippled`, you must meet the [System Requirements](system-req
|
||||
- **Tutorials:**
|
||||
- [Configure rippled](../configuration/index.md)
|
||||
- [Troubleshoot rippled](../troubleshooting/index.md)
|
||||
- [Get Started with the rippled API](../../tutorials/http-websocket-apis/build-apps/get-started.md)
|
||||
- [Get Started with the rippled API](../../tutorials/get-started/get-started-http-websocket-apis.md)
|
||||
- **References:**
|
||||
- [rippled API Reference](../../references/http-websocket-apis/index.md)
|
||||
- [`rippled` Commandline Usage](../commandline-usage.md)
|
||||
|
||||
@@ -143,7 +143,7 @@ Before you install `rippled`, you must meet the [System Requirements](system-req
|
||||
- **Tutorials:**
|
||||
- [Configure rippled](../configuration/index.md)
|
||||
- [Troubleshoot rippled](../troubleshooting/index.md)
|
||||
- [Get Started with the rippled API](../../tutorials/http-websocket-apis/build-apps/get-started.md)
|
||||
- [Get Started with the rippled API](../../tutorials/get-started/get-started-http-websocket-apis.md)
|
||||
- **References:**
|
||||
- [rippled API Reference](../../references/http-websocket-apis/index.md)
|
||||
- [`rippled` Commandline Usage](../commandline-usage.md)
|
||||
|
||||
@@ -183,7 +183,7 @@ To migrate your transaction database to a larger page size, perform the followin
|
||||
|
||||
11. Confirm that the `rippled` service started successfully.
|
||||
|
||||
You can use the [commandline interface](../../tutorials/http-websocket-apis/build-apps/get-started.md#commandline) to check the server status (unless you have configured your server not to accept JSON-RPC requests). For example:
|
||||
You can use the [commandline interface](../../tutorials/get-started/get-started-http-websocket-apis.md#commandline) to check the server status (unless you have configured your server not to accept JSON-RPC requests). For example:
|
||||
|
||||
```
|
||||
/opt/ripple/bin/rippled server_info
|
||||
|
||||
@@ -127,7 +127,7 @@ The entry contains the IP address of the client that exceeded its rate limit, an
|
||||
|
||||
If you see frequent messages from the same IP address, you may want to block those IP addresses from your network to reduce the load on your server's public API. (For example, you may be able to configure your firewall to block those IP addresses.)
|
||||
|
||||
To avoid being dropped by rate limiting on your own server, [connect as an admin](../../tutorials/http-websocket-apis/build-apps/get-started.md#admin-access).
|
||||
To avoid being dropped by rate limiting on your own server, [connect as an admin](../../tutorials/get-started/get-started-http-websocket-apis.md#admin-access).
|
||||
|
||||
## InboundLedger 11 timeouts for ledger
|
||||
|
||||
|
||||
@@ -13,12 +13,12 @@ These client libraries simplify some of the common work of accessing and process
|
||||
|
||||
| Language | Library Name | Get Started | API Reference | Source Code |
|
||||
|---------------------------------|---------------------------|-------------|--------------|-------------|
|
||||
| **Python** | `xrpl-py` | [Get Started Using Python](../tutorials/python/build-apps/get-started.md) | [API Reference](https://xrpl-py.readthedocs.io/) | [Repo](https://github.com/XRPLF/xrpl-py) |
|
||||
| **Go** | `xrpl-go` | [Get Started Using Go](../tutorials/go/build-apps/get-started.md) | [API Reference](https://pkg.go.dev/github.com/Peersyst/xrpl-go) | [Repo](https://github.com/Peersyst/xrpl-go) |
|
||||
| **JavaScript** / **TypeScript** | `xrpl.js` | [Get Started](../tutorials/javascript/build-apps/get-started.md) | [API Reference](https://js.xrpl.org/) | [Repo](https://github.com/XRPLF/xrpl.js) |
|
||||
| **Python** | `xrpl-py` | [Get Started Using Python](../tutorials/get-started/get-started-python.md) | [API Reference](https://xrpl-py.readthedocs.io/) | [Repo](https://github.com/XRPLF/xrpl-py) |
|
||||
| **Go** | `xrpl-go` | [Get Started Using Go](../tutorials/get-started/get-started-go.md) | [API Reference](https://pkg.go.dev/github.com/Peersyst/xrpl-go) | [Repo](https://github.com/Peersyst/xrpl-go) |
|
||||
| **JavaScript** / **TypeScript** | `xrpl.js` | [Get Started](../tutorials/get-started/get-started-javascript.md) | [API Reference](https://js.xrpl.org/) | [Repo](https://github.com/XRPLF/xrpl.js) |
|
||||
| **JavaScript** / **TypeScript** | `xrpl-client` | [Get Started](https://jsfiddle.net/WietseWind/35az6p1b/) | [NPM Reference](https://www.npmjs.com/package/xrpl-client) | [Repo](https://github.com/XRPL-Labs/xrpl-client) |
|
||||
| **JavaScript** / **TypeScript** | `xrpl-accountlib` | [Get Started](https://jsfiddle.net/WietseWind/gkefpnu0/) | [NPM Reference](https://www.npmjs.com/package/xrpl-accountlib) | [Repo](https://github.com/WietseWind/xrpl-accountlib) |
|
||||
| **C++** | `rippled` Signing Library | [Get Started](https://github.com/XRPLF/rippled/tree/develop/Builds/linux#signing-library) | | (Part of [`rippled`](https://github.com/XRPLF/rippled/)) |
|
||||
| **Java** | `xrpl4j` | [Get Started Using Java](../tutorials/java/build-apps/get-started.md) | [API Reference](https://javadoc.io/doc/org.xrpl/) | [Repo](https://github.com/XRPLF/xrpl4j) |
|
||||
| **PHP** | `XRPL_PHP` | [Get Started Using PHP](../tutorials/php/build-apps/get-started.md) | [XRPL_PHP Docs](https://alexanderbuzz.github.io/xrpl-php-docs/) | [Repo](https://github.com/AlexanderBuzz/xrpl-php) |
|
||||
| **Java** | `xrpl4j` | [Get Started Using Java](../tutorials/get-started/get-started-java.md) | [API Reference](https://javadoc.io/doc/org.xrpl/) | [Repo](https://github.com/XRPLF/xrpl4j) |
|
||||
| **PHP** | `XRPL_PHP` | [Get Started Using PHP](../tutorials/get-started/get-started-php.md) | [XRPL_PHP Docs](https://alexanderbuzz.github.io/xrpl-php-docs/) | [Repo](https://github.com/AlexanderBuzz/xrpl-php) |
|
||||
| **Ruby** | `XRPB` | | [XRPB Docs](https://www.rubydoc.info/gems/xrbp) | [Repo](https://github.com/DevNullProd/XRBP) |
|
||||
|
||||
@@ -16,6 +16,6 @@ For information on the old Data API, see the [rippled-historical-database reposi
|
||||
|
||||
## Alternatives
|
||||
|
||||
For most common operations, like requesting account balances or transaction history, you can query a self-hosted or [public XRP Ledger server](../tutorials/public-servers.md) using a [WebSocket connection](../tutorials/http-websocket-apis/build-apps/get-started.md#websocket-api) or [JSON-RPC (HTTP POST)](../tutorials/http-websocket-apis/build-apps/get-started.md#json-rpc).
|
||||
For most common operations, like requesting account balances or transaction history, you can query a self-hosted or [public XRP Ledger server](../tutorials/public-servers.md) using a [WebSocket connection](../tutorials/get-started/get-started-http-websocket-apis.md#websocket-api) or [JSON-RPC (HTTP POST)](../tutorials/get-started/get-started-http-websocket-apis.md#json-rpc).
|
||||
|
||||
See the [Get Started Using HTTP / WebSocket APIs](../tutorials/http-websocket-apis/build-apps/get-started.md) page for more information.
|
||||
See the [Get Started Using HTTP / WebSocket APIs](../tutorials/get-started/get-started-http-websocket-apis.md) page for more information.
|
||||
|
||||
@@ -8,7 +8,7 @@ labels:
|
||||
|
||||
Administer a `rippled` server using these admin API methods. Admin methods are meant only for trusted personnel in charge of keeping the server operational. Admin methods include commands for managing, monitoring, and debugging the server.
|
||||
|
||||
Admin commands are available only if you connect to `rippled` on a host and port that the `rippled.cfg` file identifies as admin. By default, the commandline client uses an admin connection. For more information on connecting to `rippled`, see [Getting Started with the `rippled` API](../../../tutorials/http-websocket-apis/build-apps/get-started.md).
|
||||
Admin commands are available only if you connect to `rippled` on a host and port that the `rippled.cfg` file identifies as admin. By default, the commandline client uses an admin connection. For more information on connecting to `rippled`, see [Getting Started with the `rippled` API](../../../tutorials/get-started/get-started-http-websocket-apis.md).
|
||||
|
||||
|
||||
## [Key Generation Methods](key-generation-methods/index.md)
|
||||
@@ -45,7 +45,7 @@ Use these methods to sign transactions.
|
||||
* **[`sign_for`](signing-methods/sign_for.md)** - Contribute to a multi-signature.
|
||||
* **[`channel_authorize`](../public-api-methods/payment-channel-methods/channel_authorize.md)** - Sign a claim for money from a payment channel.
|
||||
|
||||
By default, these methods are [admin-only](../../../tutorials/http-websocket-apis/build-apps/get-started.md#admin-access). They can be used as public methods if the server admin has [enabled public signing](../../../infrastructure/configuration/enable-public-signing.md).
|
||||
By default, these methods are [admin-only](../../../tutorials/get-started/get-started-http-websocket-apis.md#admin-access). They can be used as public methods if the server admin has [enabled public signing](../../../infrastructure/configuration/enable-public-signing.md).
|
||||
|
||||
## [Peer Management Methods](peer-management-methods/index.md)
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ labels:
|
||||
|
||||
The `rippled` server limits the rate at which API clients can make requests on public APIs. Rate limiting is based on the IP address of the client, so clients behind [network address translation](https://en.wikipedia.org/wiki/Network_address_translation) share a limit based on their public IP address.
|
||||
|
||||
{% admonition type="success" name="Tip" %}Rate limiting does not apply when the client is connected [as an admin](../../../tutorials/http-websocket-apis/build-apps/get-started.md#admin-access).{% /admonition %}
|
||||
{% admonition type="success" name="Tip" %}Rate limiting does not apply when the client is connected [as an admin](../../../tutorials/get-started/get-started-http-websocket-apis.md#admin-access).{% /admonition %}
|
||||
|
||||
When a client is approaching the rate limit, the server adds the field `"warning": "load"` at the top level of an [API response](response-formatting.md). This warning is not added to every response, but the server may send several such warnings before it disconnects a client.
|
||||
|
||||
@@ -58,7 +58,7 @@ The usage rate drops off exponentially over time, so a client that does not make
|
||||
- [The `rippled` Server](../../../concepts/networks-and-servers/index.md)
|
||||
- [Software Ecosystem](../../../introduction/software-ecosystem.md)
|
||||
- **Tutorials:**
|
||||
- [Getting Started with XRP Ledger APIs](../../../tutorials/http-websocket-apis/build-apps/get-started.md)
|
||||
- [Getting Started with XRP Ledger APIs](../../../tutorials/get-started/get-started-http-websocket-apis.md)
|
||||
- [Troubleshooting rippled](../../../infrastructure/troubleshooting/index.md)
|
||||
- **References:**
|
||||
- [rippled API Reference](../index.md)
|
||||
|
||||
@@ -140,7 +140,7 @@ Example warning:
|
||||
|
||||
This warning indicates that the one or more [amendments](../../../concepts/networks-and-servers/amendments.md) to the XRP Ledger protocol are scheduled to become enabled, but the current server does not have an implementation for those amendments. If those amendments become enabled, the current server will become [amendment blocked](../../../concepts/networks-and-servers/amendments.md#amendment-blocked-servers), so you should [upgrade to the latest `rippled` version](../../../infrastructure/installation/index.md) as soon as possible. <!-- STYLE_OVERRIDE: will -->
|
||||
|
||||
The server only sends this warning if the client is [connected as an admin](../../../tutorials/http-websocket-apis/build-apps/get-started.md#admin-access).
|
||||
The server only sends this warning if the client is [connected as an admin](../../../tutorials/get-started/get-started-http-websocket-apis.md#admin-access).
|
||||
|
||||
This warning includes a `details` field with the following fields:
|
||||
|
||||
@@ -199,7 +199,7 @@ It is generally safe to ignore this warning.
|
||||
- [Amendments](../../../concepts/networks-and-servers/amendments.md)
|
||||
- [Known Amendments](/resources/known-amendments.md)
|
||||
- **Tutorials:**
|
||||
- [Get Started with XRP Ledger APIs](../../../tutorials/http-websocket-apis/build-apps/get-started.md)
|
||||
- [Get Started with XRP Ledger APIs](../../../tutorials/get-started/get-started-http-websocket-apis.md)
|
||||
- [Install and Update `rippled`](../../../infrastructure/installation/index.md)
|
||||
- **References:**
|
||||
- [feature method][]
|
||||
|
||||
@@ -6,7 +6,7 @@ metadata:
|
||||
---
|
||||
# HTTP / WebSocket APIs
|
||||
|
||||
You can communicate directly with the XRP Ledger through HTTP-based APIs provided by the core `rippled` server as well as the Clio server. Both types of server provide JSON-RPC and WebSocket APIs with mostly the same functionality. JSON-RPC uses a strict request-response paradigm similar to a REST API, but WebSocket uses a single persistent connection where the server can push messages to the client asynchronously. For more information, see [Get Started Using HTTP / WebSocket APIs](../../tutorials/http-websocket-apis/build-apps/get-started.md).
|
||||
You can communicate directly with the XRP Ledger through HTTP-based APIs provided by the core `rippled` server as well as the Clio server. Both types of server provide JSON-RPC and WebSocket APIs with mostly the same functionality. JSON-RPC uses a strict request-response paradigm similar to a REST API, but WebSocket uses a single persistent connection where the server can push messages to the client asynchronously. For more information, see [Get Started Using HTTP / WebSocket APIs](../../tutorials/get-started/get-started-http-websocket-apis.md).
|
||||
|
||||
[{% inline-svg file="/docs/img/api-functionality-venn-diagram.svg" /%}](/docs/img/api-functionality-venn-diagram.svg "Diagram: Most API methods are provided by both rippled and Clio servers. The rippled server provides admin methods, provides pending/unvalidated data including transaction queue, and has a live view of consensus and peer-to-peer network. The Clio server scales efficiently, provides additional methods nft_history, nft_info, nfts_by_issuer, and mpt_holders, and serves rippled-exclusive API requests by forwarding.")
|
||||
|
||||
|
||||
@@ -225,7 +225,7 @@ The `account_flags` field contains the following nested fields:
|
||||
| `noFreeze` | Boolean | If `true`, the account has permanently given up the abilities to freeze individual trust lines or end a global freeze. See [No Freeze](../../../../concepts/tokens/fungible-tokens/freezes.md#no-freeze) for details. |
|
||||
| `passwordSpent` | Boolean | If `false`, the account can send a special [key reset transaction](../../../../concepts/transactions/transaction-cost.md#key-reset-transaction) with a transaction cost of 0. The protocol turns this flag on and off automatically; it is not controlled by a user-facing setting. |
|
||||
| `requireAuthorization` | Boolean | If `true`, the account is using [Authorized Trust Lines](../../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md) to limit who can hold the tokens it issues. |
|
||||
| `requireDestinationTag` | Boolean | If `true`, the account [requires a destination tag](../../../../tutorials/how-tos/manage-account-settings/require-destination-tags.md) on all payments it receives. |
|
||||
| `requireDestinationTag` | Boolean | If `true`, the account [requires a destination tag](../../../../tutorials/compliance-features/require-destination-tags.md) on all payments it receives. |
|
||||
|
||||
The `queue_data` field, if present, contains the following nested fields:
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ The ID of a `Check` entry is the [SHA-512Half][] of the following values, concat
|
||||
* The `Sequence` number of the [CheckCreate transaction][] that created the `Check`.
|
||||
If the CheckCreate transaction used a [Ticket](../../../../concepts/accounts/tickets.md), use the `TicketSequence` value instead.
|
||||
|
||||
See the tutorial showing how to [Send a Check](../../../../tutorials/how-tos/use-specialized-payment-types/use-checks/send-a-check.md).
|
||||
See the tutorial showing how to [Send a Check](../../../../tutorials/payments/send-a-check.md).
|
||||
|
||||
## See Also
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ An `Oracle` ledger entry holds data associated with a single [price oracle](../.
|
||||
|
||||
| Field | JSON Type | Internal Type | Required? | Description |
|
||||
|---------------------|-----------|---------------|-----------|-------------|
|
||||
| `Owner` | String | AccountID | Yes | The [account](../../../../concepts/accounts/index.md) with update and delete privileges for the oracle. It's recommended to set up [multi-signing](../../../../tutorials/how-tos/manage-account-settings/set-up-multi-signing.md) on this account. |
|
||||
| `Owner` | String | AccountID | Yes | The [account](../../../../concepts/accounts/index.md) with update and delete privileges for the oracle. It's recommended to set up [multi-signing](../../../../tutorials/best-practices/key-management/set-up-multi-signing.md) on this account. |
|
||||
| `Provider` | String | Blob | Yes | An arbitrary value that identifies an oracle provider, such as Chainlink, Band, or DIA. This field is a string, up to 256 ASCII hex encoded characters (`0x20`-`0x7E`). |
|
||||
| `PriceDataSeries` | Array | Array | Yes | An array of up to 10 `PriceData` objects, each representing the price information for an asset pair. More than five `PriceData` objects require two owner reserves. |
|
||||
| `LastUpdateTime` | Number | UInt32 | Yes | The time the data was last updated, represented in Unix time. (**Note:** Unlike many other time values on the XRP Ledger, this value does not use the Ripple Epoch.) |
|
||||
|
||||
@@ -36,7 +36,7 @@ You can protect your account by assigning a regular key pair to it and using it
|
||||
|
||||
For more information about regular and master key pairs, see [Cryptographic Keys](../../../../concepts/accounts/cryptographic-keys.md).
|
||||
|
||||
For a tutorial on assigning a regular key pair to an account, see [Working with a Regular Key Pair](../../../../tutorials/how-tos/manage-account-settings/assign-a-regular-key-pair.md).
|
||||
For a tutorial on assigning a regular key pair to an account, see [Working with a Regular Key Pair](../../../../tutorials/best-practices/key-management/assign-a-regular-key-pair.md).
|
||||
|
||||
For even greater security, you can use [multi-signing](../../../../concepts/accounts/multi-signing.md), but multi-signing requires additional XRP for the [transaction cost][] and [reserve](../../../../concepts/accounts/reserves.md).
|
||||
|
||||
|
||||
@@ -473,7 +473,7 @@ $("#tx_read").click((event) => {
|
||||
## Next Steps
|
||||
|
||||
- [Look Up Transaction Results](../../../concepts/transactions/finality-of-results/look-up-transaction-results.md) to see exactly what a transaction did, and build your software to react appropriately.
|
||||
- Try [Sending XRP](../../how-tos/send-xrp.md) from your own address.
|
||||
- Try [Sending XRP](../../payments/send-xrp) from your own address.
|
||||
- Try monitoring for transactions of advanced types like [Escrows](../../../concepts/payment-types/escrow.md), [Checks](../../../concepts/payment-types/checks.md), or [Payment Channels](../../../concepts/payment-types/payment-channels.md), and responding to incoming notifications.
|
||||
<!--{# TODO: uncomment when it's ready. - To more robustly handle internet instability, [Follow a Transaction Chain](follow-a-transaction-chain.html) to detect if you missed a notification. #}-->
|
||||
|
||||
@@ -10,13 +10,13 @@ labels:
|
||||
---
|
||||
# Test Pre-Release Transaction Types
|
||||
|
||||
_(Requires cloning and modifying XRPL core repositories and understanding of XRPL [transaction serialization](../../references/protocol/binary-format.md))._
|
||||
_(Requires cloning and modifying XRPL core repositories and understanding of XRPL [transaction serialization](../../../references/protocol/binary-format.md))._
|
||||
|
||||
Pre-release transactions are [amendments](../../concepts/networks-and-servers/amendments.md) that represent new features or other changes to transaction processing. Features are typically released to the [XRPL Devnet](../../concepts/networks-and-servers/parallel-networks.md) for early testing.
|
||||
Pre-release transactions are [amendments](../../../concepts/networks-and-servers/amendments.md) that represent new features or other changes to transaction processing. Features are typically released to the [XRPL Devnet](../../../concepts/networks-and-servers/parallel-networks.md) for early testing.
|
||||
|
||||
This guide walks through the steps to test transaction types in development using either JavaScript with `xrpl.js` or Python with `xrpl-py`. This approach is typically only necessary for pre-release amendments that are available on the [XRPL Devnet](../../concepts/networks-and-servers/parallel-networks.md) for early testing.
|
||||
This guide walks through the steps to test transaction types in development using either JavaScript with `xrpl.js` or Python with `xrpl-py`. This approach is typically only necessary for pre-release amendments that are available on the [XRPL Devnet](../../../concepts/networks-and-servers/parallel-networks.md) for early testing.
|
||||
|
||||
**Note**: The code samples below illustrate how to prepare your development environment and modify the XRPL to support custom transaction types, using the respective [client library](../../references/client-libraries.md).
|
||||
**Note**: The code samples below illustrate how to prepare your development environment and modify the XRPL to support custom transaction types, using the respective [client library](../../../references/client-libraries.md).
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -52,9 +52,9 @@ pip install xrpl-py
|
||||
|
||||
### 2. Generate Definitions File
|
||||
|
||||
Utilize the [server_definitions](../../references/http-websocket-apis/public-api-methods/server-info-methods/server_definitions.md) command to retrieve the definitions.json content.
|
||||
Utilize the [server_definitions](../../../references/http-websocket-apis/public-api-methods/server-info-methods/server_definitions.md) command to retrieve the definitions.json content.
|
||||
|
||||
{% admonition type="info" name="Note" %}Any [parallel test network](../../concepts/networks-and-servers/parallel-networks.md) may be used instead of Devnet.{% /admonition %}
|
||||
{% admonition type="info" name="Note" %}Any [parallel test network](../../../concepts/networks-and-servers/parallel-networks.md) may be used instead of Devnet.{% /admonition %}
|
||||
|
||||
{% tabs %}
|
||||
|
||||
@@ -196,6 +196,6 @@ send_reliable_submission(custom_tx, client, wallet)
|
||||
|
||||
- **Testing**: Utilize the XRPL Testnet or Devnet for testing new transaction types.
|
||||
- **Updates**: Regularly update your `rippled` and XRPL library clones to include the latest features and fixes.
|
||||
- **Custom Types and Serialization**: If your transaction involves new data structures, ensure they are correctly defined and serialized according to [XRPL standards](../../references/protocol/transactions/index.md).
|
||||
- **Custom Types and Serialization**: If your transaction involves new data structures, ensure they are correctly defined and serialized according to [XRPL standards](../../../references/protocol/transactions/index.md).
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -18,7 +18,7 @@ A highly secure [signing configuration](../../../concepts/transactions/secure-si
|
||||
To use offline signing, you must meet the following prerequisites:
|
||||
|
||||
- You must have one computer to use as an offline machine. This machine must be set up with a [supported operating system](../../../infrastructure/installation/system-requirements.md). See your operating system's support for offline setup instructions. (For example, [Red Hat Enterprise Linux DVD ISO installation instructions](https://access.redhat.com/solutions/7227).) Be sure that the software and physical media you use are not infected with malware.
|
||||
- You must have a separate computer to use as an online machine. This machine does not need to run `rippled` but it must be able to connect to the XRP Ledger network and receive information about the state of the shared ledger. For example, you can use a [WebSocket connection to a public server](../../http-websocket-apis/build-apps/get-started.md).
|
||||
- You must have a separate computer to use as an online machine. This machine does not need to run `rippled` but it must be able to connect to the XRP Ledger network and receive information about the state of the shared ledger. For example, you can use a [WebSocket connection to a public server](../../get-started/get-started-http-websocket-apis.md).
|
||||
- You must have a secure way to transfer signed transaction binary data from the offline machine to the online machine.
|
||||
- One way to do this is with a QR code generator on the offline machine, and a QR code scanner on the online machine. (In this case, your "online machine" could be a handheld device such as a smartphone.)
|
||||
- Another way is to copy files from the offline machine to an online machine using physical media. If you use this method, be sure not to use physical media that could infect your offline machine with malicious software. (For example, do not reuse the same USB drive on both online and offline machines.)
|
||||
@@ -143,7 +143,7 @@ Optionally, save the current ledger index to the offline machine. You can use th
|
||||
On the offline machine, prepare and sign transactions for configuring your account. The details depend on how you intend to use your account. Some examples of things you might want to do include:
|
||||
|
||||
- [Assign a regular key pair](assign-a-regular-key-pair.md) that you can rotate regularly.
|
||||
- [Require destination tags](require-destination-tags.md) so that users can't send you payments without tagging the reason they sent it or the customer it's intended for.
|
||||
- [Require destination tags](../../compliance-features/require-destination-tags.md) so that users can't send you payments without tagging the reason they sent it or the customer it's intended for.
|
||||
- [Set Up Multi-Signing](set-up-multi-signing.md) for a higher bar of account security.
|
||||
- [Enable DepositAuth](../../../concepts/accounts/depositauth.md) so you can only receive payments you've explicitly accepted or from parties you've pre-approved.
|
||||
- [Require Auth](../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md#enabling-require-auth) so that users can't open [trust lines](../../../concepts/tokens/fungible-tokens/index.md) to you without your permission. If you don't plan to use the XRP Ledger's decentralized exchange or [token](../../../concepts/tokens/index.md) features, you may want to do this as a precaution.
|
||||
@@ -24,7 +24,7 @@ To complete this tutorial, you should:
|
||||
|
||||
- Have a basic understanding of the XRP Ledger.
|
||||
- Have an XRP Ledger client library set up in your development environment. This page provides examples for the following:
|
||||
- **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js). See [Get Started Using JavaScript](../../javascript/build-apps/get-started.md) for setup steps.
|
||||
- **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js). See [Get Started Using JavaScript](../../get-started/get-started-javascript.md) for setup steps.
|
||||
|
||||
## Source Code
|
||||
|
||||
@@ -26,7 +26,7 @@ To complete this tutorial, you should:
|
||||
|
||||
- Have a basic understanding of the XRP Ledger.
|
||||
- Have an XRP Ledger client library set up in your development environment. This page provides examples for the following:
|
||||
- **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js). See [Get Started Using JavaScript](../../javascript/build-apps/get-started.md) for setup steps.
|
||||
- **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js). See [Get Started Using JavaScript](../../get-started/get-started-javascript.md) for setup steps.
|
||||
|
||||
## Source Code
|
||||
|
||||
@@ -20,7 +20,7 @@ steps: ['Generate', 'Connect', 'Check Sequence', 'Prepare & Sign', 'Submit', 'Wa
|
||||
<script type="application/javascript" src="/js/interactive-tutorial.js"></script>
|
||||
<script type="application/javascript" src="/js/tutorials/use-tickets.js"></script>
|
||||
|
||||
This page provides JavaScript examples that use the [xrpl.js](https://js.xrpl.org/) library. See [Get Started Using JavaScript](../../javascript/build-apps/get-started.md) for setup instructions.
|
||||
This page provides JavaScript examples that use the [xrpl.js](https://js.xrpl.org/) library. See [Get Started Using JavaScript](../../get-started/get-started-javascript.md) for setup instructions.
|
||||
|
||||
Since JavaScript works in the web browser, you can read along and use the interactive steps without any setup.
|
||||
|
||||
@@ -251,7 +251,7 @@ Ticketed transactions go through the consensus process the same way that Sequenc
|
||||
|
||||
One of the main use cases for Tickets is to be able to collect signatures for several [multi-signed transactions](../../../concepts/accounts/multi-signing.md) in parallel. By using a Ticket, you can send a multi-signed transaction as soon as it is fully signed and ready to go, without worrying about which one will be ready first. <!-- STYLE_OVERRIDE: will -->
|
||||
|
||||
In this scenario, [step 8, "Prepare Ticketed Transaction"](#8-prepare-ticketed-transaction) is slightly different. Instead of preparing and signing all at once, you would follow the steps for [sending any multi-signed transaction](send-a-multi-signed-transaction.md): first prepare the transaction, then circulate it among trusted signers to collect their signatures, and finally combine the signatures into the final multi-signed transaction.
|
||||
In this scenario, [step 8, "Prepare Ticketed Transaction"](#8-prepare-ticketed-transaction) is slightly different. Instead of preparing and signing all at once, you would follow the steps for [sending any multi-signed transaction](../../best-practices/key-management/send-a-multi-signed-transaction.md): first prepare the transaction, then circulate it among trusted signers to collect their signatures, and finally combine the signatures into the final multi-signed transaction.
|
||||
|
||||
You could do this in parallel for several different potential transactions as long as each one uses a different Ticket.
|
||||
|
||||
@@ -262,7 +262,7 @@ You could do this in parallel for several different potential transactions as lo
|
||||
- [Tickets](../../../concepts/accounts/tickets.md)
|
||||
- [Multi-Signing](../../../concepts/accounts/multi-signing.md)
|
||||
- **Tutorials:**
|
||||
- [Set Up Multi-Signing](set-up-multi-signing.md)
|
||||
- [Set Up Multi-Signing](../../best-practices/key-management/set-up-multi-signing.md)
|
||||
- [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md)
|
||||
- **References:**
|
||||
- [account_objects method][]
|
||||
@@ -12,7 +12,7 @@ steps: ['Generate', 'Connect', 'Send AccountSet', 'Wait', 'Confirm Settings', 'T
|
||||
---
|
||||
# Require Destination Tags
|
||||
|
||||
The Require Destination Tag setting is designed for addresses that host balances for multiple people or purposes, to prevent people from sending money and forgetting to use a [destination tag](../../../concepts/transactions/source-and-destination-tags.md) to identify whom to credit. When this setting is enabled on your address, the XRP Ledger rejects [any payment](../../../concepts/payment-types/index.md) to your address if it does not specify a destination tag.
|
||||
The Require Destination Tag setting is designed for addresses that host balances for multiple people or purposes, to prevent people from sending money and forgetting to use a [destination tag](../../concepts/transactions/source-and-destination-tags.md) to identify whom to credit. When this setting is enabled on your address, the XRP Ledger rejects [any payment](../../concepts/payment-types/index.md) to your address if it does not specify a destination tag.
|
||||
|
||||
This tutorial demonstrates how to enable the Require Destination Tag flag on your account.
|
||||
|
||||
@@ -23,8 +23,8 @@ This tutorial demonstrates how to enable the Require Destination Tag flag on you
|
||||
- You need a funded XRP Ledger account, with an address, secret key, and some XRP. For production, you can use the same address and secret consistently. For this tutorial, you can generate new test credentials as needed.
|
||||
- You need a connection to the XRP Ledger network. As shown in this tutorial, you can use public servers for testing.
|
||||
- You should be familiar with the Getting Started instructions for your preferred client library. This page provides examples for the following:
|
||||
- **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../../javascript/build-apps/get-started.md) for setup steps.
|
||||
- **Python** with the [`xrpl-py` library](https://xrpl-py.readthedocs.io/). See [Get Started using Python](../../python/build-apps/get-started.md) for setup steps.
|
||||
- **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../get-started/get-started-javascript.md) for setup steps.
|
||||
- **Python** with the [`xrpl-py` library](https://xrpl-py.readthedocs.io/). See [Get Started using Python](../get-started/get-started-python.md) for setup steps.
|
||||
- You can also read along and use the interactive steps in your browser without any setup.
|
||||
|
||||
<!-- Source for this specific tutorial's interactive bits: -->
|
||||
@@ -45,11 +45,11 @@ To transact on the XRP Ledger, you need an address and secret key, and some XRP.
|
||||
|
||||
{% partial file="/docs/_snippets/interactive-tutorials/generate-step.md" /%}
|
||||
|
||||
When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../../concepts/transactions/secure-signing.md).
|
||||
When you're building production-ready software, you should use an existing account, and manage your keys using a [secure signing configuration](../../concepts/transactions/secure-signing.md).
|
||||
|
||||
### 2. Connect to the Network
|
||||
|
||||
You must be connected to the network to submit transactions to it. The following code shows how to connect to a public XRP Ledger Testnet server a supported [client library](../../../references/client-libraries.md):
|
||||
You must be connected to the network to submit transactions to it. The following code shows how to connect to a public XRP Ledger Testnet server a supported [client library](../../references/client-libraries.md):
|
||||
|
||||
{% tabs %}
|
||||
|
||||
@@ -69,7 +69,7 @@ For this tutorial, click the following button to connect:
|
||||
|
||||
### 3. Send AccountSet Transaction
|
||||
|
||||
To enable the `RequireDest` flag, set the [`asfRequireDest` value (`1`)](../../../references/protocol/transactions/types/accountset.md#accountset-flags) in the `SetFlag` field of an [AccountSet transaction][]. To send the transaction, you first _prepare_ it to fill out all the necessary fields, then _sign_ it with your account's secret key, and finally _submit_ it to the network.
|
||||
To enable the `RequireDest` flag, set the [`asfRequireDest` value (`1`)](../../references/protocol/transactions/types/accountset.md#accountset-flags) in the `SetFlag` field of an [AccountSet transaction][]. To send the transaction, you first _prepare_ it to fill out all the necessary fields, then _sign_ it with your account's secret key, and finally _submit_ it to the network.
|
||||
|
||||
For example:
|
||||
|
||||
@@ -98,7 +98,7 @@ For example:
|
||||
|
||||
### 4. Wait for Validation
|
||||
|
||||
Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md).)
|
||||
Most transactions are accepted into the next ledger version after they're submitted, which means it may take 4-7 seconds for a transaction's outcome to be final. If the XRP Ledger is busy or poor network connectivity delays a transaction from being relayed throughout the network, a transaction may take longer to be confirmed. (For information on how to set an expiration for transactions, see [Reliable Transaction Submission](../../concepts/transactions/reliable-transaction-submission.md).)
|
||||
|
||||
{% partial file="/docs/_snippets/interactive-tutorials/wait-step.md" /%}
|
||||
|
||||
@@ -131,7 +131,7 @@ After the transaction is validated, you can check your account's settings to con
|
||||
|
||||
{% /interactive-block %}
|
||||
|
||||
For further confirmation, you can send test transactions (from a different address) to confirm that the setting is working as you expect it to. If you a payment with a destination tag, it should succeed, and if you send one _without_ a destination tag, it should fail with the error code [`tecDST_TAG_NEEDED`](../../../references/protocol/transactions/transaction-results/tec-codes.md).
|
||||
For further confirmation, you can send test transactions (from a different address) to confirm that the setting is working as you expect it to. If you a payment with a destination tag, it should succeed, and if you send one _without_ a destination tag, it should fail with the error code [`tecDST_TAG_NEEDED`](../../references/protocol/transactions/transaction-results/tec-codes.md).
|
||||
|
||||
{% interactive-block label="Test Payments" steps=$frontmatter.steps %}
|
||||
|
||||
@@ -148,13 +148,13 @@ For further confirmation, you can send test transactions (from a different addre
|
||||
## See Also
|
||||
|
||||
- **Concepts:**
|
||||
- [Accounts](../../../concepts/accounts/index.md)
|
||||
- [Source and Destination Tags](../../../concepts/transactions/source-and-destination-tags.md)
|
||||
- [Transaction Cost](../../../concepts/transactions/transaction-cost.md)
|
||||
- [Payment Types](../../../concepts/payment-types/index.md)
|
||||
- [Accounts](../../concepts/accounts/index.md)
|
||||
- [Source and Destination Tags](../../concepts/transactions/source-and-destination-tags.md)
|
||||
- [Transaction Cost](../../concepts/transactions/transaction-cost.md)
|
||||
- [Payment Types](../../concepts/payment-types/index.md)
|
||||
- **References:**
|
||||
- [account_info method][]
|
||||
- [AccountSet transaction][]
|
||||
- [AccountRoot Flags](../../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags)
|
||||
- [AccountRoot Flags](../../references/protocol/ledger-data/ledger-entry-types/accountroot.md#accountroot-flags)
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -6,10 +6,10 @@ labels:
|
||||
---
|
||||
# Verify Credentials in Python
|
||||
|
||||
This tutorial describes how to verify that an account holds a valid [credential](/docs/concepts/decentralized-storage/credentials) on the XRP Ledger, which has different use cases depending on the type of credential and the meaning behind it. A few possible reasons to verify a credential include:
|
||||
This tutorial describes how to verify that an account holds a valid [credential](../../concepts/decentralized-storage/credentials.md) on the XRP Ledger, which has different use cases depending on the type of credential and the meaning behind it. A few possible reasons to verify a credential include:
|
||||
|
||||
- Confirming that a recipient has passed a background check before sending a payment.
|
||||
- Checking a person's professional certifications, after verifying their identity with a [DID](/docs/concepts/decentralized-storage/decentralized-identifiers).
|
||||
- Checking a person's professional certifications, after verifying their identity with a [DID](../../concepts/decentralized-storage/decentralized-identifiers.md).
|
||||
- Displaying a player's achievements in a blockchain-connected game.
|
||||
|
||||
This tutorial uses sample code in Python using the [xrpl-py library](../index.md).
|
||||
@@ -19,7 +19,7 @@ This tutorial uses sample code in Python using the [xrpl-py library](../index.md
|
||||
- You must have Python installed and know how to run Python code from the command line. Python 3.8 or later is required for xrpl-py.
|
||||
- You should have a basic understanding of the XRP Ledger.
|
||||
- The credential you want to verify should exist in the ledger already, and you should know the addresses of both the issuer and the holder, as well as the official credential type you want to check.
|
||||
- For sample code showing how to create credentials, see [Build a Credential Issuing Service](../build-apps/credential-issuing-service.md).
|
||||
- For sample code showing how to create credentials, see [Build a Credential Issuing Service](../sample-apps/credential-issuing-service-in-python.md).
|
||||
|
||||
## Setup
|
||||
|
||||
@@ -175,7 +175,7 @@ The first thing the function does is verify that the user provided a credential
|
||||
|
||||
{% code-snippet file="/_code-samples/verify-credential/py/verify_credential.py" language="py" from="# Handle function inputs" before="# Perform XRPL lookup" /%}
|
||||
|
||||
Next, it calls the [ledger_entry method](/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry#get-credential-entry) to look up the requested Credential ledger entry:
|
||||
Next, it calls the [ledger_entry method](../../references/http-websocket-apis/public-api-methods/ledger-methods/ledger_entry.md#get-credential-entry) to look up the requested Credential ledger entry:
|
||||
|
||||
{% code-snippet file="/_code-samples/verify-credential/py/verify_credential.py" language="py" from="# Perform XRPL lookup" before="# Confirm that the credential has been accepted" /%}
|
||||
|
||||
@@ -183,7 +183,7 @@ If it succeeds in finding the credential, the function continues by checking tha
|
||||
|
||||
{% code-snippet file="/_code-samples/verify-credential/py/verify_credential.py" language="py" from="# Confirm that the credential has been accepted" before="# Confirm that the credential is not expired" /%}
|
||||
|
||||
Then, if the credential has an expiration time, the function checks that the credential is not expired. If the credential has no expiration, this step can be skipped. A credential is officially considered expired if its expiration time is before the [official close time](/docs/concepts/ledgers/ledger-close-times) of the most recently validated ledger. This is more universal than comparing the expiration to your own local clock. Thus, the code uses the [ledger method][] to look up the most recently validated ledger:
|
||||
Then, if the credential has an expiration time, the function checks that the credential is not expired. If the credential has no expiration, this step can be skipped. A credential is officially considered expired if its expiration time is before the [official close time](../../concepts/ledgers/ledger-close-times.md) of the most recently validated ledger. This is more universal than comparing the expiration to your own local clock. Thus, the code uses the [ledger method][] to look up the most recently validated ledger:
|
||||
|
||||
{% code-snippet file="/_code-samples/verify-credential/py/verify_credential.py" language="py" from="# Confirm that the credential is not expired" before="# Credential has passed all checks" /%}
|
||||
|
||||
@@ -215,7 +215,7 @@ Otherwise, the code exits as normal, which returns a successful exit code of `0`
|
||||
|
||||
Now that you know how to use `xrpl-py` to verify credentials, you can try building this or related steps together into a bigger project. For example:
|
||||
|
||||
- Incorporate credential verification into a [wallet application](../build-apps/build-a-desktop-wallet-in-python.md).
|
||||
- Issue your own credentials with a [credential issuing service](../build-apps/credential-issuing-service.md).
|
||||
- Incorporate credential verification into a [wallet application](../sample-apps/build-a-desktop-wallet-in-python.md).
|
||||
- Issue your own credentials with a [credential issuing service](../sample-apps/credential-issuing-service-in-python.md).
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -7,10 +7,10 @@ labels:
|
||||
|
||||
# Verify Credentials in Javascript
|
||||
|
||||
This tutorial describes how to verify that an account holds a valid [credential](/docs/concepts/decentralized-storage/credentials) on the XRP Ledger, which has different use cases depending on the type of credential and the meaning behind it. A few possible reasons to verify a credential include:
|
||||
This tutorial describes how to verify that an account holds a valid [credential](../../concepts/decentralized-storage/credentials.md) on the XRP Ledger, which has different use cases depending on the type of credential and the meaning behind it. A few possible reasons to verify a credential include:
|
||||
|
||||
- Confirming that a recipient has passed a background check before sending a payment.
|
||||
- Checking a person's professional certifications, after verifying their identity with a [DID](/docs/concepts/decentralized-storage/decentralized-identifiers).
|
||||
- Checking a person's professional certifications, after verifying their identity with a [DID](../../concepts/decentralized-storage/decentralized-identifiers.md).
|
||||
- Displaying a player's achievements in a blockchain-connected game.
|
||||
|
||||
This tutorial uses sample code in Javascript using the [xrpl-js library](../index.md).
|
||||
@@ -20,7 +20,7 @@ This tutorial uses sample code in Javascript using the [xrpl-js library](../inde
|
||||
- You must have Node.js installed and know how to run Javascript code from the command line. Node.js v18 is required for xrpl.js.
|
||||
- You should have a basic understanding of the XRP Ledger.
|
||||
- The credential you want to verify should exist in the ledger already, and you should know the addresses of both the issuer and the holder, as well as the official credential type you want to check.
|
||||
- For sample code showing how to create credentials, see [Build a Credential Issuing Service](../build-apps/credential-issuing-service.md).
|
||||
- For sample code showing how to create credentials, see [Build a Credential Issuing Service](../sample-apps/credential-issuing-service-in-javascript.md).
|
||||
|
||||
|
||||
## Setup
|
||||
@@ -253,7 +253,7 @@ Then it defines a type of exception to throw if something goes wrong when connec
|
||||
|
||||
{% code-snippet file="/_code-samples/verify-credential/js/verify_credential.js" language="js" from="// Define an error to throw" before="const CREDENTIAL" /%}
|
||||
|
||||
Finally, a regular expression to validate the credential format and the [lsfAccepted](../../../references/protocol/ledger-data/ledger-entry-types/credential.md#credential-flags) flag are defined as constants for use further on in the code.
|
||||
Finally, a regular expression to validate the credential format and the [lsfAccepted](../../references/protocol/ledger-data/ledger-entry-types/credential.md#credential-flags) flag are defined as constants for use further on in the code.
|
||||
|
||||
{% code-snippet file="/_code-samples/verify-credential/js/verify_credential.js" language="js" from="const CREDENTIAL" before="async function verifyCredential" /%}
|
||||
|
||||
@@ -310,11 +310,11 @@ Finally, the code runs the `main()` function:
|
||||
|
||||
Now that you know how to use `xrpl.js` to verify credentials, you can try building this or related steps together into a bigger project. For example:
|
||||
|
||||
- Incorporate credential verification into a [wallet application](../build-apps/build-a-desktop-wallet-in-javascript.md).
|
||||
- Issue your own credentials with a [credential issuing service](../build-apps/credential-issuing-service.md).
|
||||
- Incorporate credential verification into a [wallet application](../sample-apps/build-a-desktop-wallet-in-javascript.md).
|
||||
- Issue your own credentials with a [credential issuing service](../sample-apps/credential-issuing-service-in-javascript.md).
|
||||
|
||||
## See Also
|
||||
|
||||
- [Verify Credentials in Python](../../python/compliance/verify-credential.md)
|
||||
- [Verify Credentials in Python](./verify-credentials-in-python.md)
|
||||
|
||||
{% raw-partial file="/docs/_snippets/common-links.md" /%}
|
||||
@@ -1,10 +1,10 @@
|
||||
# Add Assets to an AMM
|
||||
|
||||
Follow the steps from the [Create an AMM](/docs/tutorials/javascript/amm/create-an-amm/) tutorial before proceeding.
|
||||
Follow the steps from the [Create an AMM](./create-an-amm-in-javascript.md) tutorial before proceeding.
|
||||
|
||||
This example shows how to:
|
||||
|
||||
1. Deposit assets to an existing [AMM](/docs/concepts/tokens/decentralized-exchange/automated-market-makers) and receive LP tokens.
|
||||
1. Deposit assets to an existing [AMM](../../concepts/tokens/decentralized-exchange/automated-market-makers.md) and receive LP tokens.
|
||||
2. Vote on AMM trading fees.
|
||||
3. Check the value of your LP tokens.
|
||||
4. Redeem LP tokens for assets in the AMM pair.
|
||||
@@ -37,7 +37,7 @@ Without the Quickstart Samples, you will not be able to try the examples that fo
|
||||
|
||||
### Get the AMM
|
||||
|
||||
Use the information from either the XRP/Token or Token/Token AMM you created in [Create an AMM](/docs/tutorials/javascript/amm/create-an-amm/#create-an-xrp/token-amm).
|
||||
Use the information from either the XRP/Token or Token/Token AMM you created in [Create an AMM](./create-an-amm-in-javascript.md#create-an-xrp/token-amm).
|
||||
|
||||
1. Enter a [currency code](/docs/references/protocol/data-types/currency-formats.md#currency-codes) in the **Asset 1 Currency** field. For example, `XRP`.
|
||||
2. Enter a second currency code in the **Asset 2 Currency** field. For example, `TST`.
|
||||
@@ -63,7 +63,7 @@ Send issued tokens from the operational account to the standby account. In the o
|
||||
|
||||
1. Select **Allow Rippling** and click **Configure Account**.
|
||||
{% admonition type="info" name="Note" %}
|
||||
This enables the `defaultRipple` flag on the issuing account, which is set to `false` by default. You need to enable this in order to trade tokens issued by the account. See [Configure Issuer Settings](../../how-tos/use-tokens/issue-a-fungible-token.md#3-configure-issuer-settings) to learn more.
|
||||
This enables the `defaultRipple` flag on the issuing account, which is set to `false` by default. You need to enable this in order to trade tokens issued by the account. See [Configure Issuer Settings](../how-tos/use-tokens/issue-a-fungible-token.md#3-configure-issuer-settings) to learn more.
|
||||
{% /admonition %}
|
||||
2. Enter a value in the **Amount** field, up to the maximum transfer amount you set in the trustline.
|
||||
3. Enter the standby account address in the **Destination** field.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user