-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Create workspace for multiple networks #54
Conversation
jacobkaufmann
commented
Jul 27, 2021
- Create individual packages for the state and history networks.
- Move the main() function from main.rs to lib.rs for the state network.
- Remove main.rs for the state nework.
- Add a basic main() function in the history network lib.rs.
- Create a 'trin' package to host a single entry point for the program.
- Create individual packages for the state and history networks. - Move the main() function from main.rs to lib.rs for the state network. - Remove main.rs for the state nework. - Add a basic main() function in the history network lib.rs. - Create a 'trin' package to host a single entry point for the program.
Hey, moving from side-channel to the PR:
It's fine to launch them combined. We can add separate launches later, if we want. Though it does become extra important for the version of chain-history on master to not crash on launch, so it doesn't halt development on state network. (that seems like a good invariant to target anyway)
Yeah, similar to full clients, there will probably just be a ton of arguments that need to be named in a disambiguated way. The more we can just use good defaults, the better. Feel fee to mention me when it's ready for final review. |
If you use |
tokio::select! { | ||
history = trin_history::main() => { | ||
history | ||
}, | ||
state = trin_state::main() => { | ||
state | ||
}, | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a cleaner way to do this? Do we want any logging here, or should we leave that to the individual network main()
functions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, fine to leave it bland for now. Seems okay to me.
At some point we can play with whether we want them in separate threads/runtimes, but for now a 👍🏻 from me.
It looks like the A number of additional items we could handle in this PR or as separate tasks:
|
@jacobkaufmann I think it is because I used a ton of credits when I was originally making the CI test for windows then after I realized that I started using the credits on my circleci account, so it should be fine whenever it resets. |
I'm all for adding issues to tackle these both after #54 is merged. I would only consider letting them delay merging this PR if it either was necessary to unblock work on chain history. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make sure the Cargo.toml change in #53 makes it in here, then should be good to go after handling some nitpicks.
README.md
Outdated
@@ -12,6 +12,16 @@ This should sound similar to a light client. It is, but with a peer-to-peer | |||
philosophy rather than the LES client/server model, which has introduced | |||
challenges in an altruistic environment. | |||
|
|||
## Repository Structure | |||
|
|||
Trin is a collection of networks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe:
Trin is a collection of networks. | |
The portal protocol is a collection of networks. Trin needs to connect to all of them. |
trin/Cargo.toml
Outdated
[package] | ||
name = "trin" | ||
version = "0.1.0" | ||
authors = ["Jacob Kaufmann <jacobkaufmann18@gmail.com>"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe add both of us for the joint one? At some point, this will probably turn into a joint member list, like trin@ethereum.org
. But for now, we can just list individual maintainers of the individual crates.
tokio::select! { | ||
history = trin_history::main() => { | ||
history | ||
}, | ||
state = trin_state::main() => { | ||
state | ||
}, | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, fine to leave it bland for now. Seems okay to me.
At some point we can play with whether we want them in separate threads/runtimes, but for now a 👍🏻 from me.