Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add migration guide #5

Open
wants to merge 6 commits into
base: dev
Choose a base branch
from
Open

Add migration guide #5

wants to merge 6 commits into from

Conversation

devendran-m
Copy link
Contributor

@devendran-m devendran-m commented Feb 12, 2025

This PR copies Michael's Migration Guide draft(GitBook version) to docs-redux.

This PR also includes the pointers Ed highlighted in a couple of L1 and Sprint planning meetings. These sections are highlighted with the comment "Placeholder—Core Team input required", which seeks feedback and input to expand the content needed for exchanges.

Related Issue - https://github.com/casper-network/Governance/issues/529

Note:

  • The changes were tested locally, and the result is included in the PR.

Screenshot:
image

Test result PDF:
Casper_2.0_Migration_Guide_for_Crypto_Exchanges _ CasperDocs-Redux.pdf

Copy link

@davidatwhiletrue davidatwhiletrue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@devendran-m I've added to comments content for .NET SDK and Go SDK .

| |The appropriate SDK to upgrade to is the lates v5.x release found [here](https://github.com/casper-ecosystem/casper-js-sdk/releases). |
| | Common use case examples (connect to RPC, send a transfer, etc.) can be found in [Casper JS SDK 5.0 README](https://github.com/ casper-ecosystem/casper-js-sdk/tree/feat-5.0.0?tab=readme-ov-file#usage-examples) |
| |To upgrade your integration, follow the detailed [V2 to V5 Migration Guide](https://github.com/casper-ecosystem/casper-js-sdk/blob/feat-5.0.0/resources/migration-guide-v2-v5.md) |
| **#C .NET** / **Go** / **Java** | While it may not be strictly necessary to upgrade your integration if all you do is submit `Deploys` to the network (e.g. transfers in and out of accounts), it is STRONGLY RECOMMENDED to upgrade to the new SDK now, to experience a seamless upgrade to Casper 2.0 and beyond.|

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@devendran-m
Content for C# SDK:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @davidatwhiletrue ,

I've incorporated your comments in the commit - ff82e88

Please review and let me know in case of any other changes.

cc: @KMCreatesWorlds

| | Common use case examples (connect to RPC, send a transfer, etc.) can be found in [Casper JS SDK 5.0 README](https://github.com/ casper-ecosystem/casper-js-sdk/tree/feat-5.0.0?tab=readme-ov-file#usage-examples) |
| |To upgrade your integration, follow the detailed [V2 to V5 Migration Guide](https://github.com/casper-ecosystem/casper-js-sdk/blob/feat-5.0.0/resources/migration-guide-v2-v5.md) |
| **#C .NET** / **Go** / **Java** | While it may not be strictly necessary to upgrade your integration if all you do is submit `Deploys` to the network (e.g. transfers in and out of accounts), it is STRONGLY RECOMMENDED to upgrade to the new SDK now, to experience a seamless upgrade to Casper 2.0 and beyond.|
| **Other** | If you are using an SDK not listed in this chapter, please contact the Casper Exchange Support Team.|

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@devendran-m
Content for Go SDK:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @davidatwhiletrue ,

I've incorporated your comments in the commit - ff82e88

Please review and let me know in case of any other changes.

cc: @KMCreatesWorlds

@devendran-m devendran-m requested a review from ihor February 27, 2025 14:08
@devendran-m
Copy link
Contributor Author

Hi @ihor ,
This is the migration guide PR.

Casper 2.0 implements a number of changes to the JSON RPC interface of the node, which includes new methods, renamed methods and methods with a change in response format.
Importantly, the block structure is different in Casper 2.0 vs. Casper 1.x, and `Deploys` have been renamed to `Transactions`.

At the same time, legacy (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 not have to make any changes prior to mainnet activation of Casper 2.0.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the word legacy and move Casper 1.x out of the parentheses

Copy link

@darthsiroftardis darthsiroftardis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So overall this document feels incomplete to me.

  1. We need to mention that 1.x structures like Deploys are being deprecated, so while they will continue to work 2.x, they're due to be phased out and exchanges should understand that new types like TransactionV1 are the go forward.
  2. Additionally, the sidecar needs mentioning as well, especially if certain exchanges run their own node, which means we need to guide them on the fact that RPC component now resides on the sidecar, which this document doesn't mention
  3. The document keeps mentioning that its 'recommended' to be using the latest SDK release. It should be clear that updating to a new SDK will become necessary when addressable entity becomes enabled, which will require the exchanges to be using an SDK that is compatible with the Entity go forward.


The Casper Network is in the process of upgrading to Casper 2.0, which introduces breaking changes to the node software, the protocol and the interfaces associated with interacting with the network. In order to maintain compatibility with Casper Network after the upgrade of mainnet, tentatively scheduled for March 2025, crypto exchanges that offer $CSPR pairs, allow for $CSPR deposits and withdrawals and/or allow their users to stake $CSPR, may need to upgrade their integration with Casper Network. This migration guide will help you determine whether, and if so - how, to migrate your integration in prepartion for the network upgrade.

More information about the specific changes in, and features introduced by Casper 2.0 can be found here (LINK).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the link point to the changelog? when will we instantiate it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @darthsiroftardis and @zajko ,
I've incorporated the changes in the latest commit 3f8c52248dc059c617f58ffd0b6aa6b1331c9a04.
Yes, we should be pointing to the change log and I need your help in getting the change log linked here.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in, should be removed together with the comma


### RPC Integration
Casper 2.0 implements a number of changes to the JSON RPC interface of the node, which includes new methods, renamed methods and methods with a change in response format.
Importantly, the block structure is different in Casper 2.0 vs. Casper 1.x, and `Deploys` have been renamed to `Transactions`.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Deploys have been renamed to Transactions" is misleading. Transactions are a higher-order concept which encapsulate both Deploys and V1 transactions. Transaction is a polymorphic data structure that, for now is either a Deploy (which should be compliant with the 1.x definition) or a V1

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also,
"Casper 2.0 implements a number of changes to the JSON RPC interface of the node"
The node no longer has a json rpc interface.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @zajko ,
I've incorporated the possible and required changes in the latest commit 3f8c52248dc059c617f58ffd0b6aa6b1331c9a04.

Casper 2.0 implements a number of changes to the JSON RPC interface of the node, which includes new methods, renamed methods and methods with a change in response format.
Importantly, the block structure is different in Casper 2.0 vs. Casper 1.x, and `Deploys` have been renamed to `Transactions`.

At the same time, legacy (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 not have to make any changes prior to mainnet activation of Casper 2.0.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"you may not have to make any changes prior to mainnet activation of Casper 2.0. "
That statement is not precise. Although the account-put-deploy JSON RPC method should accept the same structure of the input data, the result of "info_get_deploy" is not backwards compatible with 1.x.
So the only way an exchange would not need to do any changes is if they wouldn't care for the results of an execution (?)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @zajko ,
I've incorporated the possible and required changes in the latest commit 3f8c52248dc059c617f58ffd0b6aa6b1331c9a04.


At the same time, legacy (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 not have to make any changes prior to mainnet activation of Casper 2.0.

➡️ To assess your next steps, please evaluate your integration agains the 1.x -> 2.0 JSON RPC changes detailed in this document.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the json rpc changes section TBD or are they somewhere else?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @zajko ,
I've incorporated the possible and required changes in the latest commit 3f8c52248dc059c617f58ffd0b6aa6b1331c9a04. I have linked the existing Casper 2.0 page that explains the 1.x vs 2.0 JSON RPC changes. Please let me know if that's the appropriate link we can use in this context.


## Important changes/updates in Casper 2.0(Placeholder - Core Team input required)

Casper 2.0 introduces new block structures, transaction formats and retrograde support. More details can be found below/here (LINK or content below).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should have the detailed document explaining the differences? Who is responsible for creating that document?
Also are we talking about the JSON RPC API or do we want to explain in details how the internal protocol data changed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @zajko ,
I've incorporated the possible and required changes in the latest commit 3f8c52248dc059c617f58ffd0b6aa6b1331c9a04.
With regards to internal protocol data, I think it don't have to as detailed in the migration guide. However, please correct if my understanding is incorrect.

@zajko
Copy link

zajko commented Mar 5, 2025

I agree with what @darthsiroftardis wrote, additionally:

  • we need to explain that an operator which wants to have a forward facing API needs to turn on binary-port (since sidecar uses it). But in the same time the binary-port doesn't need to be a public port (it only needs to be exposed to sidecar)
  • I'm not sure what are we aiming at in this document. If we want to provide a minimal guide on how to migrate - I would focus on explaining how to use 1.x deploys in a 2.x node - stressing that sidecars account_put_deploy should be compatible with 1.x node account_put_deploy, but sidecars info_get_deploy isn't 100% compatible with 1.x nodes info_get_deploy
  • We need a section on the SSE feed changes

@devendran-m
Copy link
Contributor Author

I agree with what @darthsiroftardis wrote, additionally:

  • we need to explain that an operator which wants to have a forward facing API needs to turn on binary-port (since sidecar uses it). But in the same time the binary-port doesn't need to be a public port (it only needs to be exposed to sidecar)
  • I'm not sure what are we aiming at in this document. If we want to provide a minimal guide on how to migrate - I would focus on explaining how to use 1.x deploys in a 2.x node - stressing that sidecars account_put_deploy should be compatible with 1.x node account_put_deploy, but sidecars info_get_deploy isn't 100% compatible with 1.x nodes info_get_deploy
  • We need a section on the SSE feed changes

Thanks, @zajko ,
I've incorporated the possible and required changes in the latest commit 3f8c52248dc059c617f58ffd0b6aa6b1331c9a04.

@@ -0,0 +1,193 @@
# Casper 2.0 Migration Guide for Crypto Exchanges

The Casper Network is in the process of upgrading to Casper 2.0, which introduces breaking changes to the node software, the protocol and the interfaces associated with interacting with the network. In order to maintain compatibility with Casper Network after the upgrade of mainnet, tentatively scheduled for March 2025, crypto exchanges that offer $CSPR pairs, allow for $CSPR deposits and withdrawals and/or allow their users to stake $CSPR, may need to upgrade their integration with Casper Network. This migration guide will help you determine whether, and if so - how, to migrate your integration in prepartion for the network upgrade.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's shorten the interfaces associated with interacting with the network to the API interfaces

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically, there should be an Oxford comma after the protocol in the node software, the protocol, and the interfaces, but I don't want to start a fight here. Let's just make sure we use the oxford comma consistently.

@@ -0,0 +1,193 @@
# Casper 2.0 Migration Guide for Crypto Exchanges

The Casper Network is in the process of upgrading to Casper 2.0, which introduces breaking changes to the node software, the protocol and the interfaces associated with interacting with the network. In order to maintain compatibility with Casper Network after the upgrade of mainnet, tentatively scheduled for March 2025, crypto exchanges that offer $CSPR pairs, allow for $CSPR deposits and withdrawals and/or allow their users to stake $CSPR, may need to upgrade their integration with Casper Network. This migration guide will help you determine whether, and if so - how, to migrate your integration in prepartion for the network upgrade.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent capitalization of mainnet. It's capitalized in all (most of?) other places in the documentation Mainnet

@@ -0,0 +1,193 @@
# Casper 2.0 Migration Guide for Crypto Exchanges

The Casper Network is in the process of upgrading to Casper 2.0, which introduces breaking changes to the node software, the protocol and the interfaces associated with interacting with the network. In order to maintain compatibility with Casper Network after the upgrade of mainnet, tentatively scheduled for March 2025, crypto exchanges that offer $CSPR pairs, allow for $CSPR deposits and withdrawals and/or allow their users to stake $CSPR, may need to upgrade their integration with Casper Network. This migration guide will help you determine whether, and if so - how, to migrate your integration in prepartion for the network upgrade.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we shorten crypto exchanges that offer $CSPR pairs, allow for $CSPR deposits and withdrawals and/or allow their users to stake $CSPR to crypto exchanges that work with the $CSPR token?

@@ -0,0 +1,193 @@
# Casper 2.0 Migration Guide for Crypto Exchanges

The Casper Network is in the process of upgrading to Casper 2.0, which introduces breaking changes to the node software, the protocol and the interfaces associated with interacting with the network. In order to maintain compatibility with Casper Network after the upgrade of mainnet, tentatively scheduled for March 2025, crypto exchanges that offer $CSPR pairs, allow for $CSPR deposits and withdrawals and/or allow their users to stake $CSPR, may need to upgrade their integration with Casper Network. This migration guide will help you determine whether, and if so - how, to migrate your integration in prepartion for the network upgrade.
Copy link

@ihor ihor Mar 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This migration guide will help you determine whether, and if so - how, to migrate your integration in prepartion for the network upgrade.

  1. Typo preparation
  2. Typo hyphen - instead of dash
  3. Let's replace migration here with update
  4. There shouldn't be a comma after how


More information about the specific changes in, and features introduced by Casper 2.0 can be found here (LINK).

This migration guide aims at listing down the key information required for exchanges to make the necessary changes on their side to become Casper 2.0 ready.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can remove this paragraph w/o loosing information or clarity.


This migration guide aims at listing down the key information required for exchanges to make the necessary changes on their side to become Casper 2.0 ready.

## Should I migrate my integration?
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's change migrate to update here

| **Indirect** | Some exchanges do not integrate with Casper Network directly but leverage liquidity provided by other exchanges through their APIs | No migration required (assuming the downstream exchange migrates on time, if needed) |
| **[Run own node](#)** | Some exchanges run their own node and interface with its RPC methods | Exchange needs to upgrade the node software, and participate in the network upgrade process. Additionally, exchange needs to ensure the RPC methods they rely on are either still supported in 2.0 or migrate to new RPC methods |
| **[RPC integration](#)** | Some exchanges use public node infrastructure and interface with those via RPC | Exchange needs to ensure the RPC methods they rely on are either still supported in 2.0, or migrate to new RPC methods |
| **[SDK integration](#)** | Some exchanges 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, you may or may not need to migrate prior to mainnet launch |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"This migration guide will help you determine whether, and if so - how, to migrate your integration in prepartion for the network upgrade.

More information about the specific changes in, and features introduced by Casper 2.0 can be found here (LINK).

This migration guide aims at listing down the key information required for exchanges to make the necessary changes on their side to become Casper 2.0 ready.

Should I migrate my integration?

Exchanges have different levels of integration with Casper Network, and offer different subsets of functionality relating to $CSPR to their user base. Depending on the specifics of your integration, you may or may not have to migrate your integration prior to the mainnet launch of Casper 2.0. The table below helps you determine your next steps, if any."

The above piece of text contains repeated information. Similarly, the table seems to be unnecessarily verbose. What about replacing them with the following?

This guide should help you determine if any changes are needed on your end and, if so, how to update your integration in preparation for the network upgrade.

Should I update my integration?

Integration type Required actions
Indirect integration through a 3rd party partner No migration required, assuming the partner updates their integration
Running a node Node software upgrade is required
Direct RPC API interaction Adjustments to new response structures is required. Deprecated methods should be replaced with their newer alternatives
Interaction through an SDK Upgrade to a Casper 2.0 compatible version is required

More information about the specific changes in, and features introduced by Casper 2.0 can be found here.

| **[RPC integration](#)** | Some exchanges use public node infrastructure and interface with those via RPC | Exchange needs to ensure the RPC methods they rely on are either still supported in 2.0, or migrate to new RPC methods |
| **[SDK integration](#)** | Some exchanges 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, you may or may not need to migrate prior to mainnet launch |

## Integration-specific Migration Documentation
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we shrink the section with the table we can reduce this title to just "Integration types"

If you run your own node, your migration experience will likely involve two distinct paths.

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.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have a separate section for the RPC API integration. Mentioning it here seems to be redundant. At the same time, this section doesn't mention anything about the actual changes in how the API is functioning in 2.0. We can find that information in the "RPC integration" section, but:
It's not applicable to the pure RPC integration, when the consumer isn't running their own node
It's unnecessarily verbose and partially incorrect at the same time (for example the SSE part)
Let's change this section to something like:

In Casper 2.0, the JSON RPC API is moved from the node to an accompanying software called 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.

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.

SSE API users can optionally configure the sidecar to store the SSE events in an external database. The current options are SQLite or PostgreSQL.

More information about the sidecar configuration can be found in the corresponding documentation. Also, before the Mainnet upgrade, the Casper team will provide the upgrade instructions to the node operators with reasonable default configuration options.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"the required libraries exist only for the Rust language."
If you're referring to casper-binary-port-client - we don't intend to release it in the near future AFAIK so I wouldn't mention it.

I would also omit details like storing SSE events since it's not relevant to the migration of exchanges.


**SSE (Server Side Events) Server**

Casper 2.0 introduces a realtime API of events, emitted by the node when processing blocks and/or transactions.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As mentioned in my previous comment, the section above doesn't belong here.


A **Transaction** is a polymorphic data structure that, for now, can be either:
- A **Deploy**, which remains compliant with the **1.x definition**.
- A **V1 transaction**, representing the new standard moving forward.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's not correct in terms of the RPC interface. A new type of transaction called TransactionV1 is introduced alongside the Deploy type.


➡️ 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).

Please refer to this [page](https://docs.casper.network/condor/jsonrpc) for more details on **casper-sidecar** and **JSON RPC** changes.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The RPC integration section doesn't provide much information about what has to be changed, essentially sending the reader to check the RPC schema by themselves.

The above has to be rewritten to include the list of changes in the RPC protocol divided into two parts:

  1. Change in types with correspondences between the semantically identical types (Deploy and TransactionV1, Block and BlockV2)
  2. Changes in the RPC methods that clearly describe which methods are deprecated and what are their newer alternatives.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additionally, this section is a very heavy lift. Do we know of case where somebody integrates with the RPC interface directly w/o an SDK?

### SDK Integration
Depending on which SDK language (e.g. JavaScript, Go) you use, and which methods you interface with, you might not have to immediately migrate your integration. However, in order to be safe and future-proof, it is strongly recommended to upgrade your SDK to the latest version applicable to your stack. For most languages, this can be done immediately, as the SDKs maintain both forward (2.x) and backward (1.x) compatibility at the same time.

While it may not be strictly necessary to upgrade your integration if all you do is submit Deploys to the network (e.g. transfers in and out of accounts), it is STRONGLY RECOMMENDED to upgrade to the new SDK now, to experience a seamless upgrade to Casper 2.0 and beyond.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The two paragraphs above kind of repeat themselves that "you may or may not need to upgrade". We should replace the intro with more specifics of how new SDKs operate to help the reader understand the changes and make the decision. We could replace it with something like this:

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.

To simplify the transition for developers, we prepared new backward and forward-compatible Casper SDKs that provide a uniform data interface across both Casper 1.5.x and Casper 2.0. This ensures that developers can work with consistent data types, regardless of the network version in which the data was created.

Upgrading to a new version of Casper SDKs makes it possible to have one integration that guarantees future compatibility with Casper 2.0 while maintaining the existing compatibility with Casper 1.5. The network upgrade will require no changes in the consumer code, ensuring no disruption in the service.

>
> Updating to a Casper 2.0-compatible SDK will be necessary when the **addressable entity** is enabled.
>
> Once the **addressable entity** is enabled, exchanges will be required to use an SDK compatible with the Entity.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should not include not-enabled functionality in the migration guide. It unnecessarily overloads the reader w/o providing any clear value.

| |Typical use case examples (connect to RPC, send a transfer, etc.) can be found in the [README](https://github.com/make-software/casper-go-sdk/blob/master/README.md). |
| **Java** | The appropriate SDK to upgrade to is the latest v2.x release can be found [here](https://github.com/casper-network/casper-java-sdk/releases).|
| |Casper Java SDK in Maven Repository can be found in the link [here](https://central.sonatype.com/artifact/network.casper/casper-java-sdk/2.7.0-BETA.4/overview). |
| **Other** | If you are using an SDK not listed in this chapter, please contact the Casper Exchange Support Team.|
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any reason why we use a table here? It's not formatted conventionally. Having subsections for each language would probably be more readable:

Screenshot 2025-03-06 at 13 53 08

Additionally, the last row says to contact the Casper team but doesn't provide any way how to do that.

@devendran-m
Copy link
Contributor Author

Hi @ihor ,
cc: @zajko , @darthsiroftardis , @EdHastingsCasperAssociation

I've addressed most of your comments in the latest commit - 1b2d0ec.
Regarding the information about the sidecar, transactions, and the difference between 1.x and 2.0, I have added the details shared by Jakub and Karan in their earlier review cycle. I also request that the core team review and share their input/feedback to elaborate the guide.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants