I remember in the past, there was a split of grin-wallet from grin-node ( Yeastplume - Progress update thread - Mar 19 to Sep 19 )
Personally, I prefer to have separate repos and allow other people build things separately rather everything in one big repo.
I don’t know rust so can’t suggest much but I think now AI can manage most of repeated tasks
I list few pros and cons generated by Grok
Pros (Advantages)
- Independent Release Cycles
- The biggest reason for the split. The wallet can be updated, fixed, or have new features released without forcing a new node release (and vice versa). This was explicitly stated by Yeastplume when he did the split.
- Cleaner Codebase & Maintainability
- Node code (consensus, p2p, blockchain validation) and wallet code (key management, transaction building, Slatepack, etc.) have different concerns. Mixing them creates a bloated, harder-to-navigate codebase.
- Easier for Third-Party Developers
- This matches what you said. Other teams can:
- Build alternative wallets using the official grin-wallet as a library/API (JSON-RPC + libwallet).
- Focus only on the node if they’re building mining pools, explorers, etc.
- Create ecosystem tools without pulling in the entire node.
- Better Security & Auditing Focus
- Wallet code is more security-sensitive (private keys, spending). Separating it makes it easier to audit the wallet independently.
- Flexibility for Users & Builders
- People can run just the wallet connected to a remote node, or just the node, or both. This encourages a richer ecosystem (Grin++, Grim GUI, mobile wallets, etc. all benefit from this).
Cons (Disadvantages)
- Slightly Higher Coordination Effort
- Core developers now need to maintain two repositories instead of one. Version compatibility between node and wallet must be managed carefully.
- Duplicated Work / Overhead
- Some shared logic (e.g., types, crypto primitives) might need to be duplicated or moved into a third common crate. Build scripts, CI/CD, and release processes are doubled.
- Slightly More Complex for Beginners
- New users have to install/download two things instead of one combined package (though in practice this is minor — many projects do this).
- Potential for Desynchronization
- If the wallet and node drift too far apart in features or versions, it can cause temporary friction for users.
Overall Verdict
- The split is generally better for a project like Grin, especially long-term.
- Grin’s philosophy is minimalism and strong separation of concerns. Keeping everything in one repo would make the node unnecessarily heavy and slow down wallet innovation.
- Your point is spot on: it enables a healthier ecosystem. Third-party wallets and tools can depend on a stable grin-wallet library without needing the full node, which is exactly what happened with several community wallets.