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
Skepticoin GUI (coming in 18 months) #83
base: master
Are you sure you want to change the base?
Conversation
Very nice. I was thinking of implementing this almost the same. Some ideas:
|
Good idea. I'll look into this for the next iteration. Also, I like it that documentation exists on how to integrate Flask with other front-end frameworks such as React etc.
It's a GUI, my first thought is that there would be buttons and other GUI controls in the GUI, not additional commands in the CLI. |
…n height in browser
Flask was pretty easy to add. Over the weekend I'll look into integrating ReactJS. My initial goal (MVP) is to be able to visualize the blockchain in the browser. |
I checked the code so far, looks nice. Do we have a risk of race-conditions when a miner and your gui would run on the same wallet and chain at the same time? I will be on holidays, so from Friday you won't see me here for a week. |
There will be no race conditions because only one process can bind to the peer port, 2412. You'll be able to start mining threads from within the GUI, without conflict. Enjoy your holidays! |
My 2 cents on the architecture: the main value a GUI would bring to the project in my eyes would be to make skepticoin accessible to those that are skeptical to cryptocurrencies, but not tech savvy enough to work on a command line. This includes the process of starting up the GUI with a single click. I did not look at the code yet, but an architecture with a separate server which is to be accessed via the browser sounds a bit more complicated than that. |
There are ways to package it up so that it launches in one click. |
i would suggest to not package a GUI inside the skepticoin core code. Trivia |
Considering the activity of development in the last few months I wouldn't be too concerned about seeing a GUI inside this repo any time soon, if ever. |
i cloned the pr and run it. its not compatible with the current version. when trying to merge. it requires some work to make it run |
This PR was intended as a proof of concept just to check how hard or easy it would be. Other contributors are welcome to continue where I left off. I have updated the issue title to say it is "coming in 18 months" which is a common way to acknowledge missing features in crypto projects. |
This Draft PR is an initial proof of concept to demonstrate one possible architecture for a Skepticoin GUI.
Architecture:
The basic idea is to run an embedded HTTP Server in the Skepticoin Python code, and fire up a browser based app. The embedded HTTP Server has access to all the Skepticoin data structures such as wallet, blockchain, and peer connections. The browser based app uses a combination of GET api calls and EventSource to get information from the Python runtime.
Testing:
Run from this branch with: