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

Provide a way to handle (internal) breaking changes #834

Open
Geod24 opened this issue Nov 27, 2018 · 1 comment
Open

Provide a way to handle (internal) breaking changes #834

Geod24 opened this issue Nov 27, 2018 · 1 comment

Comments

@Geod24
Copy link
Contributor

Geod24 commented Nov 27, 2018

Now that MainNet is deployed, we loose the ability to reset the database at will as we did for TestNet.

This means that the following will have to be handled carefully:

Database

  • Change to a field's type
  • Addition of new keys
  • Addition of new record derived from blocks
  • Removals are fine (because it just means unused data)

API

  • Addition of required fields to existing endpoint (we can use json:omitempty for optional fields)
  • Change to existing URLs
  • Additions of new endpoints are generally okay

Consensus

I think in this area, we are still okay as the network is closed.

Sync

Since the watcher node is going to be used by exchanges, we should treat it as we treat the API.

I suggest we add a Breaking label for any breaking change, and consider its inclusion carefully.

@Geod24
Copy link
Contributor Author

Geod24 commented Nov 27, 2018

Addition of required fields to existing endpoint (we can use json:omitempty for optional fields)

Actually that is not true at the moment. The hash depends on the internal data structure, which means that even optional fields will break compatibility.

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

No branches or pull requests

1 participant