Move wallet crates to node repository and build wallet together with node at release

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.
4 Likes