V1 Prototype Snapshot#27
Conversation
The first version of the HotPocket specification.
…aking module changes
Next steps: 1. Network message 2. Initialize network module properly 3. Uncomment publishing in consensus Tasks: - Need to figure out why starting the network module fails: /Users/olshansky/workspace/pocket/pocket/consensus/pkg/pocket/node.go - Uncomment publishing after figuring out the above: /Users/olshansky/workspace/pocket/pocket/consensus/pkg/consensus/leader_election/module.go Top of the list: 1. Network message 2. Initialize network module properly 3. Uncomment publishing in consensus
…p 172.26.0.1:8081
Added: - prep2p - Delve - ConsensusMessages / NetworkMessage TODO: - Need to revert proto & utility module changes
…ityContext(s) && updated utility interfaces accordingly
|
@luyzdeleon I created the PR but it was still a WIP, so I should've marked it as a draft. Ready for review now! |
|
@andrewnguyen22 @derrandz Note that I tried to keep the codebase as close as possible to what was presented last Friday. The only changes I made to make the testing instructions above work are these: |
|
@Olshansk Good for me, I tried running this locally and everything works 👍🏻 |
derrandz
left a comment
There was a problem hiding this comment.
Just eyeballed this, the final judge for me was the working running result. I expect proper "code" review will happen when we will be shipping in the modules, for a prototype snapshot, this is good for me.
|
@derrandz Correct. The entire @luyzdeleon @andrewnguyen22 PTAL (Please Take A Look) when you have a chance, just from a functionality perspective, because once we move this over into mainline via a handful of PRs, we'd be able to delete |
|
@Olshansk will look into giving it thorough review sometime in the weekend. |
|
@derrandz I was trying to imply that you SHOULD NOT do a thorough review of the code under |
|
Expected version of protoc should be specified. |
|
I am unable to complete this step:
|
|
After discussing with @iajrz it seems that is an alias for git checkout XD Since this blocked me for 20 minutes, I must suggest you don't use alias' in your PRs |
|
Failed at the proto generate step 2 Then I installed it: Then I got the following: |
|
Functionality wise, seems good so approving |
I added a
Sorry about that. I'll make sure to test with just plain bash in the future. For context, it's an alias that's part of the ohmyzsh git plugin in case anyone is curious: https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/git/git.plugin.zsh#L111
Per the TODO I added above and since this is just prototype code, I will move forward with submitting it for now. |
…n specific bus # Context This is the first of several PRs to address #21. A lot of the code here was copied over from the `prototype` in #27, with some fixes, cleanup, modularization. **IMPORTANT NOTE TO THE REVIEWER**: Note that some code was deleted so just a skeleton is submitted and should be added back when the module-specific code is added back in. ## Details - Various additions to the .gitignore file - Makefile addition: temporary / experimental targets to enable V1 prototype development - Add Dockerfiles for validator, debug client and Protobufs generation - Add a 1st iteration version of the configuration file - Add a 1st iteration version of the genesis file - Add a docker-compose file for 4 validators and a debug client - Add a debug client with a placeholder trigger - Skeleton implementations of all 4 modules - Update all go dependencies (go.mod, go.sum, etc…) - Migrated first iteration of crypto library from pre-prototype to the prototype ## Next Steps * Submit this PR as the foundation for pocket V1 * Prepare a small "design document" (< 1 page) on the structure of the bus and modules * Write up a small document on how to use these (for contributors and new employees) ## TODOs as a result of the discussion PR ** (will create an issue and add these before submission) - [ ] **[Small]** Remove makefile altogether - [ ] **[Small]** Remove protobuf generation from host machine to Dockerfiles - [ ] **[Small]** Add documentation for Goland & DLV debugging - [ ] **[Medium]** Migrate all useful targets from Makefile to mage - [ ] **[Large]** Discuss & design how `LoadConfig` should be implemented - [ ] **[Ongoing]** Iterate on and define the structure of the configuration file - [ ] **[Ongoing]** Iterate on and define the structure of the genesis file ## Testing ## 1. Pull changes (if not already local): ``` $ git clone git@github.com:pokt-network/pocket.git pocket $ cd pocket $ git checkout -b issue21/prototype/entrypoint origin/issue21/prototype/entrypoint ``` ## [Optional] 2. View available commands: ``` $ make ``` ## 3. Clean environment: ``` $ make docker_wipe # Press `y` if prompted ``` ### 3.1 Shell 1: ``` $ make compose_and_watch ``` ### 3.2 Shell 2: ``` $ make client_start $ make client_connect ``` ### 3.3. Run commands Inspect that a placeholder events gets continually sent to the main bus ## [Optional] 4. Try running the other `make` targets: ``` $ make mockgen $ make test_all $ make protogen_local ```
This PR is meant to address this issue: #22.
It is a functional snapshot of the V1 prototype that can be referenced and used as a baseline as V1 development continues.
Testing
0. Prerequisite
The development environment and instructions here are not expected to be complete since the development environment is still a work in progress, but the two following assumptions are made:
protocis installed and running locally.1. Pull changes:
2. Clean environment:
3. Run localnet
Example video can be found here.
3.1 Shell 1:
3.2 Shell 2:
3.3. Run commands
In Shell:
TogglePaceMakerManualModeTogglePaceMakerManualMode