naivecoin icon indicating copy to clipboard operation
naivecoin copied to clipboard

Fork implementing GraphQL API + React frontend - How to organize PRs?

Open eaverdeja opened this issue 5 years ago • 3 comments

Hey Conrado,

I made a fork for the project with lot's of changes. Modifications include:

  • Addition of a merkle root to the block header. Miners now use the block header for the hashing input in the proof-of-work algorithm. This makes mining more perfomant, since mining effort is no longer relative to the number of transactions in a block. Core functions were updated to use the merkle root when validating the chain.
  • GraphQL API instead of the traditional HTTP approach
  • Frontend app for consuming the API
  • Reimplementation of the p2p communication to also use the GraphQL API. Nodes now forward peers to their known peers when receiving a valid block. This makes connecting to other peers more "organic".

I would love to organize these in pull requests to this project, but since it's so many changes and since I never actually submitted a PR to a open source project, I'm kinda confused as to how I should do it. I haven't rewritten the test suite. Should I start there?

If anyone has doubts as to how they can start the dev environment with docker, give me a ping.

eaverdeja avatar Oct 10 '18 13:10 eaverdeja

Hey. Nice work man. I'll look into it. Give me some days, please.

Have you done your changes over the branch v1.0.0 or over the master?

Best

conradoqg avatar Oct 15 '18 19:10 conradoqg

I think you have created a new repository instead of a fork. I can't merge it that way. It's even hard to compare, hehe.

I also need to think if I should merge your vision of this project here or if I should link my project to yours in case someone wants to see your vision of the project (which is nice, because of the merkle root and graphql).

Tell me what you think.

Best

conradoqg avatar Oct 15 '18 19:10 conradoqg

Hey Conrado. Thanks for the kudos :100:

I've done everything based of the master branch. I'll fork the repo again from the v1.0.0 and organize the pull requests in:

  • Merkle Root implementation
  • GraphQL API and rewriting of p2p communication
  • Docker workflow, with links to the frontend app

There are still more things in my roadmap which I would like to discuss, but I guess we should take one step at a time.

eaverdeja avatar Oct 17 '18 13:10 eaverdeja