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. |
Beta Was this translation helpful? Give feedback.
-
might be clear but just to be safe: keys should not be saved in the same directory tree as the database |
Beta Was this translation helpful? Give feedback.
-
Few questions on this diagram:
|
Beta Was this translation helpful? Give feedback.
-
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? |
Beta Was this translation helpful? Give feedback.
-
Reviving this discussion to see if there is enough of a consensus to move forward with issue #2076. |
Beta Was this translation helpful? Give feedback.
-
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 wallet
To address the unresolved configuration discussion, here are my proposals regarding this:
get_configuration
is implemented inforest
and exposed via RPC,forest-cli
is 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 dump
asks via RPC theforest
to send its serialized configuration.forest-cli config --client dump
dumps the client configuration file.forest-cli
, but that's something for the future.forest
, it's a no-brainer; forforest-cli
I 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!
Beta Was this translation helpful? Give feedback.
All reactions