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

automatically managed/self-contained coins file #2268

Open
onur-ozkan opened this issue Nov 7, 2024 · 5 comments
Open

automatically managed/self-contained coins file #2268

onur-ozkan opened this issue Nov 7, 2024 · 5 comments
Labels
enhancement New feature or request good first issue Good for newcomers Good test task P2

Comments

@onur-ozkan
Copy link
Member

onur-ozkan commented Nov 7, 2024

Right now, KDF is expecting for the coins file to be created manually by the user. Because the process is manual, any breaking changes in the coins file directly cause breaking changes in KDF as well (because we need to inform every client that they should update their coins file...). This is a big problem because if the coins file directly impacts KDF's breaking changes, it needs to be managed automatically in a self-contained way.

KDF could create the coins file inside its runtime home directory (which is ~/.kdf by default) and make updates there. This way, all changes to the coins file would be automatically handled by KDF and breaking changes could be avoided. Users can still manage their own coin files, but this should not be the default approach.

@onur-ozkan onur-ozkan added enhancement New feature or request good first issue Good for newcomers Good test task P2 labels Nov 7, 2024
@cipig
Copy link
Member

cipig commented Nov 7, 2024

i hope it would still be possible to build GUIs with own coins file, eg for tests during integration. atm this happens on build time by using a fork of the coins repo, see https://github.com/cipig/atomicDEX-Desktop/blob/nogeo/CMakeLists.txt#L81

@dimxy
Copy link
Collaborator

dimxy commented Nov 8, 2024

KDF could create the coins file inside its runtime home directory (which is ~/.kdf by default) and make updates there.

Could you plz clarify - who will be making those updates?
I thought it should be the dev team to make updates to the coins file (add new protocols and coins)

@onur-ozkan
Copy link
Member Author

i hope it would still be possible to build GUIs with own coins file, eg for tests during integration. atm this happens on build time by using a fork of the coins repo, see https://github.com/cipig/atomicDEX-Desktop/blob/nogeo/CMakeLists.txt#L81

I guess you missed reading the last part of the issue, which says "Users can still manage their own coin files, but this should not be the default approach".

Could you plz clarify - who will be making those updates?
I thought it should be the dev team to make updates to the coins file (add new protocols and coins)

I am not referring to updating the coins file repository; I mean updating the coins file that the KDF uses at runtime. When we make breaking changes to the coins file, new KDF versions will require those updates. This means anyone using the latest KDF versions will have to manually update their coins file, which is really bad in terms of user experience.

@cipig
Copy link
Member

cipig commented Nov 8, 2024

This means anyone using the latest KDF versions will have to manually update their coins file, which is really bad in terms of user experience.

Maybe kdf should fetch latest coins file from https://github.com/KomodoPlatform/coins/blob/master/coins (or from a configurable source) on each start, validate and use. If validation fails, it uses previous coins file.

@dimxy
Copy link
Collaborator

dimxy commented Nov 8, 2024

Maybe kdf should fetch latest coins file from https://github.com/KomodoPlatform/coins/blob/master/coins (or from a configurable source) on each start, validate and use. If validation fails, it uses previous coins file.

I also thought about something similar, with versioning:
we maintain several coins versions: add a new version if a breaking change occurs (like a new protocol added). KDF code refers the version it supports. On startup KDF tries to get the updated file (with new coins added) or uses the cached one (first obtained from the installation).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers Good test task P2
Projects
None yet
Development

No branches or pull requests

3 participants