Reducing the role of RGB Node #49
dr-orlovsky
started this conversation in
Ideas
Replies: 0 comments 20 replies
-
This is an excellent idea, and it's basically proved out by the work we've done in bitmask-core. I'd love to be able to deprecate portions of the RGB sections if we can get the same functionality in the RGB std lib. |
Beta Was this translation helpful? Give feedback.
19 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Orignaly, RGB Node was created with the idea of performing P2P communications for client-side-validated data. However, with the later distinction of data transfer from the core of RGB protocol, and support for multiple data transfer solutions (LN/Storm, relays etc) the need in the dedicated node got much reduced.
Currently, to do nearly anything related to RGB, like validate a consignment or pepare a payment, one needs to run RGB Node, which manages stash. This puts high resource requirements, which, in case of mobile or hardware wallets may be too demanding. At the same time, some of the operations carried by RGB Node (like consignment validation) doens't require access to the stash - while others can be performed just by accessing a disk-stored stash.
TL;DR: in most of the cases there is no need for a runtime which is constantly run in memory. A git-like solution working with disk storage in some directory may be enough to perform all the tasks which are needed for mobile, hardware wallets and, in many cases, desktop.
The only situation where a constantly running runtime is needed is a server to do all tasks remotely - for instance to reduce consuming of mobile traffic in roaming when large consignments are involved they may be processed by a server. However this server may be a tiny layer of networking on top of the same library which is used on mobile.
The poposal
Move most of the RGB Node functionality into RGB standard library and make it not requiring networking, permanent runtime, multithreading etc; giving much flexibility to wallet and software developers (like gitlib). Transform RGB node into a small server which uses this library and provides networking RPC API to it.
Beta Was this translation helpful? Give feedback.
All reactions