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

Make Grin Less Monolithic #1378

Closed
yeastplume opened this issue Aug 18, 2018 · 3 comments
Closed

Make Grin Less Monolithic #1378

yeastplume opened this issue Aug 18, 2018 · 3 comments

Comments

@yeastplume
Copy link
Member

A meta issue based on a brief discussion on gitter yesterday, hopefully we can discuss a strategy here.

Right now Grin comes fully loaded with several ancillary services by default, including:

  • 'Core' grin p2p service
  • Node API
  • Stratum server
  • Transaction pool
  • Wallet and wallet APIs
  • Static Web server for the wallet application

It's probably preferable to be able to build a 'minimal' grin with just the core p2p/validation service, and optionally include some, all or none of the other components.

There would be a few ways of achieving this, but the path of least resistance would probably be to conditionally build and include each component as compile time features. We'd want to be sure that if a component is excluded, then all associated code isn't built into the binary. Another possibility could be to split up the features into separate projects on top of grin.

However it's done, a good amount of rejigging is likely to be required.

@ignopeverell
Copy link
Contributor

Another simple possibility would be to have a couple different main crates under src/bin. I think we'd only need a couple of these, maybe 3 at most. Overall, grin is already fairly compartmentalized.

@0xmichalis
Copy link
Contributor

Web server and the wallet are out now. Anymore for anymore?

@ignopeverell
Copy link
Contributor

This was a little too vague anyway.

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

No branches or pull requests

3 participants