Skip to content

Commit

Permalink
add reviewer suggestion and fix known amendment info
Browse files Browse the repository at this point in the history
  • Loading branch information
oeggert committed Jan 9, 2024
1 parent fca358e commit 3d01278
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 35 deletions.
29 changes: 24 additions & 5 deletions content/@i18n/ja/resources/known-amendments.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ labels:

| 名前 | 登場 | ステータス |
|:----------------------------------|:-----------|:------------------------------------|
| [XChainBridge][] | v2.0.0 | [Open for Voting: 2024-01-09](https://xrpl.org/blog/2024/rippled-2.0.0.html "BADGE_80d0e0") |
| [AMM][] | v1.12.0 | [投票中: 2023-09-06](https://xrpl.org/blog/2023/rippled-1.12.0.html "BADGE_80d0e0") |
| [Clawback][] | v1.12.0 | [投票中: 2023-09-06](https://xrpl.org/blog/2023/rippled-1.12.0.html "BADGE_80d0e0") |
| [XRPFees][] | v1.10.0 | [投票中: 2023-03-14](https://xrpl.org/blog/2023/rippled-1.10.0.html "BADGE_80d0e0") |
Expand Down Expand Up @@ -82,7 +83,6 @@ labels:
| 名前 | ステータス | 追加情報 |
|:----------------------------------|:------------------------------------------|:-------------------------------|
| [Hooks][] | [開発中: 未定]( "BADGE_LIGHTGREY") | [XRPL Hooks](https://hooks.xrpl.org/) |
| [XChainBridge][] | [開発中: 未定]( "BADGE_LIGHTGREY") | [XLS-38d](https://github.com/XRPLF/XRPL-Standards/blob/master/XLS-38d-XChainBridge/README.md) [ドキュメント](https://opensource.ripple.com/docs/xls-38d-cross-chain-bridge/cross-chain-bridges/) |
| [OwnerPaysFee][] | [開発中: 未定]( "BADGE_LIGHTGREY") | |

**注記:** このリストは手動で更新されています。もしあなたがAmendmentに取り組んでいて、その変更をテストするためのテストネットワークを持っているなら、このページを編集して開発中のamendmentをこのリストに追加することができます。XRP Ledgerへの貢献についての詳細は、[XRP Ledgerのコードへの貢献](contribute-code-flow.html)をご覧ください。
Expand Down Expand Up @@ -193,11 +193,30 @@ Clawbackはデフォルトでは無効になっています。Clawbackを使用
| Amendment | XChainBridge |
|:-------------|:-----------------|
| Amendment ID | C98D98EE9616ACD36E81FDEB8D41D349BF5F1B41DD64A0ABC1FE9AA5EA267E9C |
| Status | 開発中 |
| デフォルトの投票(最新の安定版) | いいえ |
| Amendment前の機能は廃止? | いいえ |
| Status | Open for Voting |
| Default Vote (Latest stable release) | No |
| Pre-amendment functionality retired? | No |

Adds cross-chain bridges, enabling the transfer of digital assets between networks, such as Mainnet and a sidechain.

Adds new transactions:

- XChainAccountCreateCommit - Create a new account for a witness server to submit transactions on an issuing chain..
- XChainAddAccountCreateAttestation - Provide an attestation that an account was created for a witness server to use.
- XChainAddClaimAttestation - Provide an attestation that assets were locked on a locking chain.
- XChainClaim - Claim assets on the destination chain.
- XChainCommit - Locks assets on the locking chain.
- XChainCreateBridge - Create a bridge ledger object.
- XChainCreateClaimID - Create a new cross-chain claim ID that is used for a cross-chain transfer.
- XChainModifyBridge - Modify the parameters of a bridge.

Adds new ledger entry types:

- Bridge - A single cross-chain bridge that connects the XRP Ledger with another blockchain.
- XChainOwnedClaimID - A cross-chain transfer of value that includes information of the account on the source chain that locks or burns the funds on the source chain.
- XChainOwnedCreateAccountClaimID - Collects attestations for creating an account via a cross-chain transfer.

メインネットとサイドチェーンなど異なるネットワーク間でアセットを同期させるための「クロスチェーンブリッジ」を追加します。標準規格: [XLS-38d Cross-Chain Bridge](https://github.com/XRPLF/XRPL-Standards/blob/master/XLS-38d-XChainBridge/README.md)
Adds several new transaction result codes.


### CryptoConditions
Expand Down
4 changes: 2 additions & 2 deletions content/concepts/xrpl-sidechains/cross-chain-bridges.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ At a high-level, bridges enable cross-chain transactions through these steps:
1. Create a cross-chain claim ID on the issuing chain. A cross-chain claim ID represents one transfer of value between blockchains.
2. Submit a commit transaction on the locking chain, putting the assets in a trust. The transaction includes the cross-chain claim ID and reward for witness servers.

**Note:** Witness servers monitor transactions on both chains. They provide attestations, or signed messages, to verify a transaction occurred. There are attestations for `XChainCommit` and `XChainAccountCreateCommit` transactions.
**Note:** Witness servers monitor transactions on both chains. They provide attestations, or signed messages, to verify a transaction occurred. There are attestations for `XChainCommit` and `XChainAccountCreateCommit` transactions.

3. Witness servers provide attestations to the issuing chain, saying the assets were locked on the locking chain.
4. When there are enough signatures to reach quorum, the assets are released on the issuing chain to the destination account.

**Note:** In some cases, such as deposit authorization being enabled or, you'll need to submit a transaction claim for the transferred assets on the issuing chain.
**Note:** In some cases, such as deposit authorization being enabled, you'll need to submit a transaction claim for the transferred assets on the issuing chain.

5. Rewards are distributed to the witness servers' accounts on the issuing chain.

Expand Down
53 changes: 26 additions & 27 deletions content/concepts/xrpl-sidechains/witness-servers.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,10 @@ labels:
- Interoperability
---
# Witness Servers
[[Source]](https://github.com/seelabs/xbridge_witness "Source")

_(Requires the [XChainBridge amendment][] :not_enabled:)_

**TODO**: Add link to sourcefiles after it's moved to XRPL repo.

A _witness server_ acts as a neutral witness for transactions between a locking chain and an issuing chain. It listens to the door accounts on both sides of a bridge and signs attestations that confirm a transaction occurred. They are essentially acting as an oracle to “prove” that value was locked or burned on a source account, which allows the recipient to then claim (via minting or unlocking) the equivalent funds on the destination account.

The bridge between the locking chain and the issuing chain includes the following information in its configuration:
Expand Down Expand Up @@ -90,61 +89,61 @@ The witness server takes a JSON configuration file, specified using the `--conf`

| Field Name | JSON Type | Required? | Description |
|------------------|----------------|-----------|-------------|
| `Admin` | `object` | No | The `Username` and `Password` fields (as strings) for privileged requests to the witness server. **Note:** Both or none of the admin fields must be set. |
| `IssuingChain` | `object` | Yes | The parameters for interacting with the issuing chain. |
| `LockingChain` | `object` | Yes | The parameters for interacting with the locking chain. |
| `RPCEndpoint` | `object` | Yes | The endpoint for RPC requests to the witness server. |
| `LogFile` | `string` | Yes | The location of the log file. |
| `LogLevel` | `string` | Yes | The level of logs to store in the log file. The options are ["All", "Trace", "Debug", "Info", "Warning", "Error", "Fatal", "Disabled","None"]. |
| `DBDir` | `string` | Yes | The location of the directory where the databases are stored. |
| `SigningKeySeed` | `string` | Yes | The seed that the witness server should use to sign its attestations. |
| `SigningKeyType` | `string` | Yes | The algorithm used to encode the `SigningKeySeed`. The options are `secp256k1` and `ed25519`. |
| `XChainBridge` | `XChainBridge` | Yes | The bridge that the witness server is monitoring. |
| `Admin` | Object | No | The `Username` and `Password` fields (as strings) for privileged requests to the witness server. **Note:** Both or none of the admin fields must be set. |
| [`IssuingChain`](#issuingchain-and-lockingchain-fields) | Object | Yes | The parameters for interacting with the issuing chain. |
| [`LockingChain`](#issuingchain-and-lockingchain-fields) | Object | Yes | The parameters for interacting with the locking chain. |
| `RPCEndpoint` | Object | Yes | The endpoint for RPC requests to the witness server. |
| `LogFile` | String | Yes | The location of the log file. |
| `LogLevel` | String | Yes | The level of logs to store in the log file. The options are `All`, `Trace`, `Debug`, `Info`, `Warning`, `Error`, `Fatal`, `Disabled`, and `None`. |
| `DBDir` | String | Yes | The location of the directory where the databases are stored. |
| `SigningKeySeed` | String | Yes | The seed that the witness server should use to sign its attestations. |
| `SigningKeyType` | String | Yes | The algorithm used to encode the `SigningKeySeed`. The options are `secp256k1` and `ed25519`. |
| [`XChainBridge`](#xchainbridge-fields) | XChainBridge | Yes | The bridge that the witness server is monitoring. |


#### IssuingChain and LockingChain Fields

| Field Name | JSON Type | Required? | Description |
|-----------------|-----------|-----------|-------------|
| `Endpoint` | `object` | Yes | The websocket endpoint of a `rippled` node synced with the chain. **Note:** This must be a node you run. |
| `TxnSubmit` | `object` | Yes | The parameters for transaction submission on the chain. |
| `RewardAccount` | `string` | Yes | The account that should receive the witness's share of the `SignatureReward` on the chain. |
| `Endpoint` | Object | Yes | The websocket endpoint of a `rippled` node synced with the chain. **Note:** The same person needs to control the `rippled` node and witness server. |
| `TxnSubmit` | Object | Yes | The parameters for transaction submission on the chain. |
| `RewardAccount` | String | Yes | The account that should receive the witness's share of the `SignatureReward` on the chain. |


#### Endpoint Fields

| Field Name | JSON Type | Required? | Description |
|------------|-----------|-----------|-------------|
| `Host` | `string` | Yes | The IP address of the `rippled` node. **Note:** This doesn't accept URLs |
| `Port` | `string` | Yes | The port used for the websocket endpoint. |
| `Host` | String | Yes | The IP address of the `rippled` node. **Note:** This accepts an IPv4 address or URL. |
| `Port` | String | Yes | The port used for the websocket endpoint. |


#### RPCEndpoint Fields

| Field Name | JSON Type | Required? | Description |
|------------|-----------|-----------|-------------|
| `Host` | `string` | Yes | The IP address of the witness server for RPC requests. **Note:** This doesn't accept URLs |
| `Port` | `string` | Yes | The port used for the websocket endpoint. |
| `Host` | String | Yes | The IP address of the witness server for RPC requests. **Note:** This accepts an IPv4 address or URL. |
| `Port` | String | Yes | The port used for the websocket endpoint. |


#### TxnSubmit Fields

| Field Name | JSON Type | Required? | Description |
|---------------------|-----------|-----------|-------------|
| `ShouldSubmit` | `boolean` | Yes | A boolean indicating whether or not the witness server should submit transactions on the locking chain. |
| `SigningKeySeed` | `string` | No | The seed that the witness server should use to sign its transactions on the locking chain. This is required if `ShouldSubmit` is `true`. |
| `SigningKeyType` | `string` | No | The algorithm used to encode the `SigningKeySeed`. The options are `secp256k1` and `ed25519`. This is required if `ShouldSubmit` is `true`. |
| `SubmittingAccount` | `string` | No | The account from which the `XChainAddClaimAttestation` and `XChainAddAccountCreateAttestation` transactions should be sent. This is required if `ShouldSubmit` is `true`. |
| `ShouldSubmit` | Boolean | Yes | A boolean indicating whether or not the witness server should submit transactions on the locking chain. |
| `SigningKeySeed` | String | No | The seed that the witness server should use to sign its transactions on the locking chain. This is required if `ShouldSubmit` is `true`. |
| `SigningKeyType` | String | No | The algorithm used to encode the `SigningKeySeed`. The options are `secp256k1` and `ed25519`. This is required if `ShouldSubmit` is `true`. |
| `SubmittingAccount` | String | No | The account from which the `XChainAddClaimAttestation` and `XChainAddAccountCreateAttestation` transactions should be sent. This is required if `ShouldSubmit` is `true`. |


#### XChainBridge Fields

| Field | JSON Type | [Internal Type][] | Required? | Description |
|:--------------------|:----------|:------------------|:----------|:----------------|
| `IssuingChainDoor` | `string` | `ACCOUNT` | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). |
| `IssuingChainIssue` | `Issue` | `ISSUE` | Yes | The asset that is minted and burned on the issuing chain. For an IOU-IOU bridge, the issuer of the asset must be the door account on the issuing chain, to avoid supply issues. |
| `LockingChainDoor` | `string` | `ACCOUNT` | Yes | The door account on the locking chain. |
| `LockingChainIssue` | `Issue` | `ISSUE` | Yes | The asset that is locked and unlocked on the locking chain. |
| `IssuingChainDoor` | String | Account | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). |
| `IssuingChainIssue` | Issue | Issue | Yes | The asset that is minted and burned on the issuing chain. For an IOU-IOU bridge, the issuer of the asset must be the door account on the issuing chain, to avoid supply issues. |
| `LockingChainDoor` | String | Account | Yes | The door account on the locking chain. |
| `LockingChainIssue` | Issue | Issue | Yes | The asset that is locked and unlocked on the locking chain. |

<!--{# common link defs #}-->
{% include '_snippets/rippled-api-links.md' %}
Expand Down
2 changes: 1 addition & 1 deletion content/resources/known-amendments.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The following is a comprehensive list of all known [amendments](amendments.html)

| Name | Introduced | Status |
|:----------------------------------|:-----------|:------------------------------|
| [XChainBridge][] | v2.0.0 | [Open for Voting: 2023-12-04](https://xrpl.org/blog/2023/rippled-2.0.0.html "BADGE_80d0e0") |
| [XChainBridge][] | v2.0.0 | [Open for Voting: 2024-01-09](https://xrpl.org/blog/2024/rippled-2.0.0.html "BADGE_80d0e0") |
| [AMM][] | v1.12.0 | [Open for Voting: 2023-09-06](https://xrpl.org/blog/2023/rippled-1.12.0.html "BADGE_80d0e0") |
| [Clawback][] | v1.12.0 | [Open for Voting: 2023-09-06](https://xrpl.org/blog/2023/rippled-1.12.0.html "BADGE_80d0e0") |
| [XRPFees][] | v1.10.0 | [Open for Voting: 2023-03-14](https://xrpl.org/blog/2023/rippled-1.10.0.html "BADGE_80d0e0") |
Expand Down

0 comments on commit 3d01278

Please sign in to comment.