Skip to content

Commit f9477ba

Browse files
committed
Remove RPC intg section
1 parent 1b2d0ec commit f9477ba

File tree

1 file changed

+22
-73
lines changed

1 file changed

+22
-73
lines changed

condor/migration-guide.md

Lines changed: 22 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -16,90 +16,19 @@ Whether you need to migrate before Casper 2.0’s Mainnet launch depends on your
1616
|---------------------|-------------|
1717
| **Indirect integration via 3rd party Partner [<sup>ⓘ<sup>](a "Exchanges that don’t directly integrate with Casper Network but use liquidity from other exchanges via APIs.")** | No migration required, assuming the partner updates their integration.|
1818
| **[Running your own node](#) [<sup>ⓘ<sup>](a "Exchanges that run their own node and interface with its RPC methods")** | Node software upgrade is required |
19-
| **[Direct RPC API Integration](#) [<sup>ⓘ<sup>](a "Exchanges that use public node infrastructure and interface with those via RPC")** | Adjustments to new response structures is required. Deprecated methods should be replaced with their newer alternatives |
2019
| **[SDK Integration](#) [<sup>ⓘ<sup>](a "Exchanges that use the publicly available Casper SDKs(e.g. JavaScript SDK, C#.NET SDK, Go SDK, etc.)")** | Depending on the SDK language (e.g. JS, Go) and the methods you use, upgrade to a Casper 2.0 compatible version is required|
2120

2221
More information about the specific changes in, and features introduced by Casper 2.0 can be found [here](https://docs.casper.network/condor/index).
2322

23+
NOTE: If you have additional use cases or are using a different integration type, please contact us at [email protected] for assistance.
24+
2425
## Integration Types
2526

2627
### Running your own node
2728
If you run your own node, your migration experience will likely involve two distinct paths.
2829

2930
On the one hand, as a node operator you will participate in the actual Mainnet upgrade of Casper Network, which will take place a specific date and time (you will have a number of days to stage the upgrade in advance of the activation point), while on the other hand you will have to possibly migrate the method by which you interface with your own node. Continue with the migration details provided for exchanges with direct RPC integration or SDK integration, depending on which applies to you.
3031

31-
### Direct RPC API Integration
32-
33-
In Casper 2.0, the JSON RPC API is moved from the node to an accompanying software called [Casper Sidecar](https://github.com/casper-network/casper-sidecar). The sidecar communicates with the node via a binary protocol and exposes a familiar JSON RPC interface to the end users. It's still possible to fetch information directly from the node using the binary protocol; however, at this moment, the required libraries exist only for the Rust language.
34-
35-
The sidecar could be run on the same machine as the node or on a separate instance. Multiple sidecars could be run against one node to increase availability.
36-
37-
SSE API users can optionally configure the sidecar to store the SSE events in an external database. The current options are SQLite or PostgreSQL.
38-
39-
More information about the sidecar configuration can be found in the [corresponding documentation](https://github.com/casper-network/casper-sidecar). Also, before the Mainnet upgrade, the Casper team will provide the upgrade instructions to the node operators with reasonable default configuration options.
40-
41-
**Recommended Key Considerations:**</br>
42-
- Enabling Binary Port for Forward-Facing APIs
43-
- Sidecar Dependency: In Casper 2.0, the JSON-RPC service is moved to the casper-sidecar, which forwards requests to the node’s binary RPC port​.
44-
- Operators who need a public-facing API must enable the binary port on the node (the sidecar is a consumer of this service​)
45-
- Binary Port doesn't need to be a public port (it only needs to be exposed to sidecar)
46-
47-
48-
**Transactions in Casper 2.0**
49-
50-
Transactions are a higher-order concept that encapsulate both **Deploys** and **V1 transactions**.
51-
52-
A **Transaction** is a polymorphic data structure that, for now, can be either:
53-
- A **Deploy**, which remains compliant with the **1.x definition**.
54-
- A **TransactionV1**, representing the new type of transaction, introduced alongside the `Deploy` type.
55-
56-
Secondly, Casper 2.0 includes new methods, renamed methods and methods with a change in response format.
57-
58-
At the same time, Casper 1.x deploys will continue to be accepted by Casper 2.0, hence if your entire integration comprises only the submission of Deploys (such as transfers in and out of accounts), you may want to take into account the below considerations prior to Mainnet activation of Casper 2.0.
59-
60-
<Placeholder requesting Core Team Jakub to share the details>
61-
Contents/details about list of changes in the RPC protocol divided into two parts:
62-
63-
- Change in types with correspondences between the semantically identical types (Deploy and TransactionV1, Block and BlockV2)
64-
- Changes in the RPC methods that clearly describe which methods are deprecated and what are their newer alternatives.
65-
<Placeholder>
66-
67-
**Preparing for Casper 2.0: Compatibility Considerations**
68-
69-
- Exchanges **may not need to make immediate changes** before the Mainnet activation of **Casper 2.0**; however, this depends on how they interact with the network.
70-
71-
- While the **account-put-deploy** JSON-RPC method continues to accept the same input structure as in **1.x**, the response format of **info_get_deploy** is **not backwards compatible** with **1.x**.
72-
73-
- If an exchange relies on the results of **info_get_deploy**, updates will be required to handle the new response format properly.
74-
75-
- Using 1.x Deploys in a 2.x Node:
76-
77-
- Casper 2.0 introduces a new Transaction model (replacing the old “Deploy”), but it will continue to accept and execute valid 1.x deploys for now​.
78-
79-
- Casper Sidecar's `account_put_deploy` will be compatible with 1.x node `account_put_deploy`
80-
81-
- This means the sidecar’s deploy submission method (`account_put_deploy`) remains usable with Casper 2.0 nodes, preserving compatibility for existing integration code. (In the Casper 2.0 JSON-RPC, this method is formally renamed to `account_put_transaction`​)
82-
83-
- However, Casper Sidecar's `info_get_deploy` isn't 100% compatible with 1.x nodes `info_get_deploy`.
84-
85-
Therefore, Exchanges should review how they retrieve deploys/transactions and be aware of the response schema changes when querying for transaction status or details. For schema changes please refer the link [here](https://docs.casper.network/condor/jsonrpc#json-rpc-schema-definitions).
86-
87-
88-
>[!IMPORTANT]
89-
> **Deprecation of 1.x Structures (e.g. Deploys)**
90-
>
91-
> **1.x structures, such as Deploys, are being deprecated.** While they will continue to function in **Casper 2.0**, they are scheduled to be phased out.
92-
>
93-
> Exchanges should be aware of this evolution and prepare for the transition towards **TransactionV1** as the go-forward model.
94-
95-
#### **Action Required**
96-
97-
- ➡️ Exchanges should review their integration and assess whether their systems depend on **info_get_deploy** results. If so, necessary updates must be made to ensure compatibility with **Casper 2.0**.
98-
99-
- ➡️ To assess your next steps, please evaluate your integration against the 1.x -> 2.0 JSON RPC changes detailed in the link [here](https://docs.casper.network/condor/jsonrpc#json-rpc-schema-definitions).
100-
101-
Please refer to this [page](https://docs.casper.network/condor/jsonrpc) for more details on **casper-sidecar** and **JSON RPC** changes.
102-
10332
### SDK Integration
10433
Casper 2.0 introduces changes essential for the network’s future evolution, which also include modifications to data structures that impact API responses. Since historical blockchain data cannot be altered due to cryptographic signatures, both legacy and new data structures will coexist in Casper 2.0 and be returned by the API.
10534

@@ -142,6 +71,19 @@ Casper 2.0 introduces new block structures, transaction formats and retrograde s
14271

14372

14473
### 2. Transaction Formats
74+
75+
**Transactions in Casper 2.0**
76+
77+
Transactions are a higher-order concept that encapsulate both **Deploys** and **V1 transactions**.
78+
79+
A **Transaction** is a polymorphic data structure that, for now, can be either:
80+
- A **Deploy**, which remains compliant with the **1.x definition**.
81+
- A **TransactionV1**, representing the new type of transaction, introduced alongside the `Deploy` type.
82+
83+
Secondly, Casper 2.0 includes new methods, renamed methods and methods with a change in response format.
84+
85+
At the same time, Casper 1.x deploys will continue to be accepted by Casper 2.0, hence if your entire integration comprises only the submission of Deploys (such as transfers in and out of accounts), you may want to take into account the below considerations prior to Mainnet activation of Casper 2.0.
86+
14587
- The new transaction format provides more efficient processing and additional features.
14688
- Exchanges must adapt new transaction formats.
14789

@@ -151,6 +93,13 @@ Casper 2.0 introduces new block structures, transaction formats and retrograde s
15193
- New API endpoints and modifications to existing ones
15294
- Expected changes in response formats
15395

96+
>[!IMPORTANT]
97+
> **Deprecation of 1.x Structures (e.g. Deploys)**
98+
>
99+
> **1.x structures, such as Deploys, are being deprecated.** While they will continue to function in **Casper 2.0**, they are scheduled to be phased out.
100+
>
101+
> Exchanges should be aware of this evolution and prepare for the transition towards **TransactionV1** as the go-forward model.
102+
154103
### 3. Backward Compatibility/Retrograde Support
155104

156105
### 4. Sidecar Adjustments and Integration with Exchange Systems:

0 commit comments

Comments
 (0)