Forest executables structure #2274
Replies: 6 comments 22 replies
|
@LesnyRumcajs this look great. Really awesome. Would be good to see a sketch or explanation of our current architecture. This way we can scope and estimate the tasks involved for the more leaner proposed model. We can also magnify / point out the bottlenecks of the current architecture. |
might be clear but just to be safe: keys should not be saved in the same directory tree as the database |
Few questions on this diagram:
|
|
Great work, @LesnyRumcajs. We are likely to want Forest to be a drop-in replacement of Lotus for people who are running miners (aka storage providers). As things stand right now, the miner requires the node to be responsible for wallet handling. This makes it a bit more complicated to move the wallet out of the Forest node. Maybe we remove the keystore from Forest and then add a separate compatibility layer specifically for the Lotus miner? |
|
Reviving this discussion to see if there is enough of a consensus to move forward with issue #2076. |




Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Let's discuss how we want to see the Forest structure in the long run. The main goal is to have a solid architecture that wouldn't require many breaking changes once it is set; we don't like breaking existing workflows or constantly memorising "new ways" of doing the same thing.
Other things to highlight:
Current proposal sketch that we can improve together:

In this proposal, we have four executables:
forest/forestd- the primary node.forest-cli/forest-client- the program that connects to the node and communicates with it via RPC.forest-tool- aggregate for all other commands we consider helpful but don't require having a running node.snapshot,db.forest-wallet/forest-account- per @q9f suggestion, all operations related to signing.forest-cli walletTo address the unresolved configuration discussion, here are my proposals regarding this:
get_configurationis implemented inforestand exposed via RPC,forest-cliis not aware of the specific structure behind the node configuration - this ensures backward compatibility in case of a single changed parameter,forest-cli config --node dumpasks via RPC theforestto send its serialized configuration.forest-cli config --client dumpdumps the client configuration file.forest-cli, but that's something for the future.forest, it's a no-brainer; forforest-cliI believe it may be helpful (i.e. for JWT, node address and logging params).Let's discuss this, reach a consensus and then start implementing it!
All reactions