From eb4592974dcc77c54e9533aeeaf4980872b2da89 Mon Sep 17 00:00:00 2001 From: Daniel Olshansky Date: Mon, 5 Jun 2023 18:00:38 -0700 Subject: [PATCH 1/5] Add README for Devlog8 for iteration17 (#805) - Added Iteration17 (i.e. Devlog) - Add a qualifier to the timelines --- docs/devlog/devlog8.md | 105 +++++++++++++++++++++++++++++++++++++++++ docs/roadmap/README.md | 6 ++- 2 files changed, 109 insertions(+), 2 deletions(-) create mode 100644 docs/devlog/devlog8.md diff --git a/docs/devlog/devlog8.md b/docs/devlog/devlog8.md new file mode 100644 index 0000000000..f6c1c631dc --- /dev/null +++ b/docs/devlog/devlog8.md @@ -0,0 +1,105 @@ +# Pocket V1 DevLog #8 + +**Date Published**: June 5th, 2023 + +We have kept the goals and details in this document short, but feel free to reach out to @Olshansk in the [core-dev-chat](https://discord.com/channels/553741558869131266/986789914379186226) for additional details, links & resources. + +## Table of Contents + +- [Iteration 17 Goals \& Results](#iteration-17-goals--results) + - [M1: PoS](#m1-pos) + - [M2: DoS](#m2-dos) + - [M3: RoS](#m3-ros) + - [M\*: North Start](#m-north-start) +- [Demo 💻](#demo-) +- [Contribute to V1 🧑‍💻](#contribute-to-v1-) + - [Links \& References](#links--references) +- [ScreenShots](#screenshots) + - [Iteration 17 - Completed](#iteration-17---completed) + - [Iteration 18 - Planned](#iteration-18---planned) + +## Iteration 17 Goals & Results + +**Iterate Dates**: May 17th - May 30th, 2023 + +### M1: PoS + +1. Consensus - Finish minimum viable state sync to sync state between full nodes + +- **Score**: 3/10 ± 1 +- **Notes**: + - Worked by @gokutheengineer was picked up + - Changes are being merged upstream and refactored to work asynchronously + +2. P2P - Finish minimum viable gossip to facilitate peer discovery and messages propogation + +- **Score**: 5/10 ± 2 +- **Notes**: + - A lot of progress was made by we are hitting some issues on the edges cases + - Major improvements are being made to the debugging utilities to facilitate investigation + +3. Persistence - Finish the atomic store refactor to facilitate rollbacks + +- **Score**: 6/10 ± 1 +- **Notes**: + - The largest of the 3 refactor PRs is almost ready for review + - Local components are separately implemented, but tests are failing and code needs to be cleaned up + +### M2: DoS + +4. Provide the backend and infra team visibility into DevNet (documentation, dashboarding, tooling, etc...) + +- **Score**: 5/10 ± 1 +- **Notes**: + - DevNet Workshop almost complete + - Work started on a new tool to help explore the V1 state + +### M3: RoS + +5. E2E Trustless Relay - Kickoff / POC of E2E trustless relay + +- **Score**: 7/10 ± 1 +- **Notes**: + - We kicked off the start of the implementation of E2E trustless relay + - Introduced a new member to the team: Welcome @adshmh! + +6. MVT (Minimum Viable TestNet) Feature List + +- **Score**: 8/10 ± 1 +- **Notes**: + - We documented the [list of Utility Features](https://github.com/pokt-network/pocket/blob/main/utility/doc/E2E_FEATURE_LIST.md) we plan to have in TestNet & MainNet + - The approach we will follow to implementing it can be found [here](https://github.com/pokt-network/pocket/blob/main/utility/doc/E2E_FEATURE_PATH_TEMPLATE.md) + - Bonus: We published [Relay Mining](https://arxiv.org/abs/2305.10672) with the help of @RawthiL from PoktScan on how it will be implemented + +### M\*: North Start + +7. **Bonus**: IBC & SMT! + +- **Notes**: + - With @h5law FT for the summer, we kicked of IBC implementation + - We started picking up work on our [Sparse Merkle Tree](https://github.com/pokt-network/smt) implementation + +## Demo 💻 + +There was no demo in this explicit DevLog but check out [this teaser](https://twitter.com/olshansky/status/1661886785662914561) on Twitter from @Olshansk. + +![Teaser](https://github.com/pokt-network/pocket/assets/1892194/a2fab136-9337-4926-adf8-c3299c61c1f2) + +## Contribute to V1 🧑‍💻 + +### Links & References + +- [V1 Specifications](https://github.com/pokt-network/pocket-network-protocol) +- [V1 Repo](https://github.com/pokt-network/pocket) +- [V1 Wiki](https://github.com/pokt-network/pocket/wiki) +- [V1 Project Dashboard](https://github.com/pokt-network/pocket/projects?query=is%3Aopen) + +## ScreenShots + +### Iteration 17 - Completed + +![Iteration17](https://github.com/pokt-network/pocket/assets/1892194/44763167-7165-4e6e-be9f-456c4103d089) + +### Iteration 18 - Planned + +![Iteration 18](https://github.com/pokt-network/pocket/assets/1892194/5778c180-e1f9-4e37-9ce3-48d006a290eb) diff --git a/docs/roadmap/README.md b/docs/roadmap/README.md index 79da39c8a2..18a9cebf11 100644 --- a/docs/roadmap/README.md +++ b/docs/roadmap/README.md @@ -1,6 +1,8 @@ -# Roadmap & Milestones +# [WIP] Roadmap & Milestones -This document was last updated on 02-02-2022. +_This document was last updated on 06-05-2023._ + +IMPORTANT: Please note that with recent changes to the Pocket Network protocol team, the dates below are subject to change. With the loss of some of our key team members, our capacity is lower while we work on rebuilding the team. Though it is a temporary hurdle, and we are still doing our best to reprioritze and cut some scope, and we will update these dates as soon as we have more certainty on the new timelines! - [V1 Roadmap](#v1-roadmap) - [Milestones](#milestones) From dee50d838d88ec65d960f355c375cb7bf7c7ec36 Mon Sep 17 00:00:00 2001 From: Daniel Olshansky Date: Mon, 5 Jun 2023 18:01:19 -0700 Subject: [PATCH 2/5] Add github wiki tag to devlog8 --- docs/devlog/devlog8.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/devlog/devlog8.md b/docs/devlog/devlog8.md index f6c1c631dc..4d88135af3 100644 --- a/docs/devlog/devlog8.md +++ b/docs/devlog/devlog8.md @@ -103,3 +103,5 @@ There was no demo in this explicit DevLog but check out [this teaser](https://tw ### Iteration 18 - Planned ![Iteration 18](https://github.com/pokt-network/pocket/assets/1892194/5778c180-e1f9-4e37-9ce3-48d006a290eb) + + From dbc0deb6a7aec39359745e9be952a4992689052a Mon Sep 17 00:00:00 2001 From: BigBoss Date: Wed, 7 Jun 2023 22:01:19 -0500 Subject: [PATCH 3/5] [Core] Deploying all-the-protocol-actors (#710) ## Description Adds necessary updates to begin deploying different kind of actor nodes for Pocket Network. It is still incomplete according to #613 . ## Issue Fixes https://github.com/pokt-network/pocket/issues/613 ## Type of change Please mark the relevant option(s): - [x] New feature, functionality or library - [ ] Bug fix - [ ] Code health or cleanup - [x] Major breaking change - [x] Documentation - [x] Development Tools ## List of changes - Updates localnet to support deploying different actors - Adds new config protos for enabling various actors - Creates and starts new actor specific utility module - Adds new RPC routes - /v1/query/nodeRoles - Adds new CLI command `bin/p1 query noderoles` for querying a nodes roles - Stub `HandleRelay` - Converts "" to ":memory:" to be explicit about using in memory stores ## Testing - [x] `make develop_test`; if any code changes were made - [x] [Docker Compose LocalNet](https://github.com/pokt-network/pocket/blob/main/docs/development/README.md); if any major functionality was changed or introduced - [x] [k8s LocalNet](https://github.com/pokt-network/pocket/blob/main/build/localnet/README.md); if any infrastructure or configuration changes were made ## Required Checklist - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [x] I have added, or updated, [`godoc` format comments](https://go.dev/blog/godoc) on touched members (see: [tip.golang.org/doc/comment](https://tip.golang.org/doc/comment)) - [x] I have tested my changes using the available tooling - [x] I have updated the corresponding CHANGELOG ### If Applicable Checklist - [x] I have updated the corresponding README(s); local and/or global - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have added, or updated, [mermaid.js](https://mermaid-js.github.io) diagrams in the corresponding README(s) - [ ] I have added, or updated, documentation and [mermaid.js](https://mermaid-js.github.io) diagrams in `shared/docs/*` if I updated `shared/*`README(s) --------- Co-authored-by: github-actions --- .dockerignore | 4 + Makefile | 11 +- app/client/cli/debug.go | 4 +- app/client/cli/query.go | 27 + app/docs/CHANGELOG.md | 5 + build/config/config.fisherman1.json | 56 + build/config/config.servicer1.json | 57 + .../{config1.json => config.validator1.json} | 12 +- .../{config2.json => config.validator2.json} | 5 +- .../{config3.json => config.validator3.json} | 5 +- .../{config4.json => config.validator4.json} | 5 +- build/config/genesis.json | 35 +- ...5 => 909aa7caea408519a7ed73df70ca3e65.md5} | 0 build/debug_keybase/debug_keybase.bak | Bin 5935696 -> 6928184 bytes build/deployments/.env.example | 44 +- build/deployments/docker-compose.yaml | 138 ++- build/docs/CHANGELOG.md | 6 + build/localnet/README.md | 25 + build/localnet/Tiltfile | 91 +- build/localnet/cluster-manager/utils.go | 6 +- build/localnet/manifests/cli-client.yaml | 4 +- build/localnet/manifests/configs.yaml | 17 +- build/localnet/manifests/private-keys.yaml | 1011 ++++++++++++++++- build/localnet/manifests/role-bindings.yaml | 1 - build/localnet/manifests/roles.yaml | 2 - .../localnet/manifests/service-accounts.yaml | 1 - charts/CHANGELOG.md | 5 + charts/pocket/.gitignore | 1 + charts/pocket/README.md | 2 + charts/pocket/values.yaml | 4 + docs/demos/iteration_3_end_to_end_tx.md | 14 +- docs/development/FAQ.md | 26 +- docs/development/PROFILING.md | 2 +- docs/development/README.md | 4 +- persistence/blockstore/block_store.go | 2 +- persistence/docs/CHANGELOG.md | 4 + persistence/docs/README.md | 8 +- persistence/indexer/indexer.go | 2 +- persistence/state.go | 2 +- persistence/test/setup_test.go | 6 +- rpc/doc/CHANGELOG.md | 4 + rpc/handlers.go | 9 +- rpc/handlers_query.go | 9 + rpc/v1/openapi.yaml | 33 +- runtime/configs/config.go | 34 +- runtime/configs/proto/fisherman_config.proto | 12 + runtime/configs/proto/servicer_config.proto | 15 + runtime/configs/proto/utility_config.proto | 8 - runtime/configs/proto/validator_config.proto | 12 + runtime/defaults/defaults.go | 3 +- runtime/docs/CHANGELOG.md | 5 + runtime/manager_test.go | 54 +- shared/k8s/debug.go | 38 +- shared/modules/doc/CHANGELOG.md | 5 + shared/modules/utility_module.go | 31 +- utility/doc/CHANGELOG.md | 4 + utility/fisherman/module.go | 57 + utility/main_test.go | 11 +- utility/module.go | 147 ++- utility/module_enable_actors_test.go | 100 ++ utility/service/module.go | 9 - .../service.go => servicer/module.go} | 188 +-- .../module_test.go} | 4 +- utility/servicer/relay.go | 151 +++ utility/session.go | 7 +- utility/unit_of_work/unit_of_work_test.go | 6 +- utility/validator/module.go | 57 + 67 files changed, 2279 insertions(+), 388 deletions(-) create mode 100644 .dockerignore create mode 100644 build/config/config.fisherman1.json create mode 100644 build/config/config.servicer1.json rename build/config/{config1.json => config.validator1.json} (90%) rename build/config/{config2.json => config.validator2.json} (94%) rename build/config/{config3.json => config.validator3.json} (94%) rename build/config/{config4.json => config.validator4.json} (94%) rename build/debug_keybase/{73e3f85e886d74e4cea14458f39a338a.md5 => 909aa7caea408519a7ed73df70ca3e65.md5} (100%) create mode 100644 charts/pocket/.gitignore create mode 100644 runtime/configs/proto/fisherman_config.proto create mode 100644 runtime/configs/proto/servicer_config.proto create mode 100644 runtime/configs/proto/validator_config.proto create mode 100644 utility/fisherman/module.go create mode 100644 utility/module_enable_actors_test.go delete mode 100644 utility/service/module.go rename utility/{service/service.go => servicer/module.go} (58%) rename utility/{service/service_test.go => servicer/module_test.go} (97%) create mode 100644 utility/servicer/relay.go create mode 100644 utility/validator/module.go diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000..3f18d607fd --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +/var +.idea +.vscode +.github diff --git a/Makefile b/Makefile index 4b24726082..758b6bc510 100644 --- a/Makefile +++ b/Makefile @@ -164,11 +164,11 @@ build_and_watch: ## Continous build Pocket's main entrypoint as files change # TODO(olshansky): Need to think of a Pocket related name for `compose_and_watch`, maybe just `pocket_watch`? .PHONY: compose_and_watch compose_and_watch: docker_check db_start monitoring_start ## Run a localnet composed of 4 consensus validators w/ hot reload & debugging - ${docker-compose} up --force-recreate node1.consensus node2.consensus node3.consensus node4.consensus + ${docker-compose} up --force-recreate validator1 validator2 validator3 validator4 servicer1 fisherman1 .PHONY: rebuild_and_compose_and_watch rebuild_and_compose_and_watch: docker_check db_start monitoring_start ## Rebuilds the container from scratch and launches compose_and_watch - ${docker-compose} up --build --force-recreate node1.consensus node2.consensus node3.consensus node4.consensus + ${docker-compose} up --build --force-recreate validator1 validator2 validator3 validator4 servicer1 fisherman1 .PHONY: db_start db_start: docker_check ## Start a detached local postgres and admin instance; compose_and_watch is responsible for instantiating the actual schemas @@ -179,7 +179,7 @@ db_cli: ## Open a CLI to the local containerized postgres instance echo "View schema by running 'SELECT schema_name FROM information_schema.schemata;'" docker exec -it pocket-db bash -c "psql -U postgres" -psqlSchema ?= node1 +psqlSchema ?= validator1 .PHONY: db_cli_node db_cli_node: ## Open a CLI to the local containerized postgres instance for a specific node @@ -320,10 +320,11 @@ generate_rpc_openapi: go_oapi-codegen ## (Re)generates the RPC server and client oapi-codegen --config ./rpc/client.gen.config.yml ./rpc/v1/openapi.yaml > ./rpc/client.gen.go echo "OpenAPI client and server generated" +SWAGGER_PORT=127.0.0.1:8080 .PHONY: swagger-ui swagger-ui: ## Starts a local Swagger UI instance for the RPC API echo "Attempting to start Swagger UI at http://localhost:8080" - docker run -p 8080:8080 -e SWAGGER_JSON=/v1/openapi.yaml -v $(shell pwd)/rpc/v1:/v1 swaggerapi/swagger-ui + docker run --name pocket-swagger-ui --rm -p $(SWAGGER_PORT):8080 -e SWAGGER_JSON=/v1/openapi.yaml -v $(shell pwd)/rpc/v1:/v1 swaggerapi/swagger-ui .PHONY: generate_cli_commands_docs generate_cli_commands_docs: ## (Re)generates the CLI commands docs (this is meant to be called by CI) @@ -571,4 +572,4 @@ search_interfaces: ## Greps and outputs all of the structs in the project (exclu .PHONY: search_protos search_protos: ## Finds all of the proto files in the project (excluding vendor) - find . -name "*.proto" -not -path "./vendor/*" \ No newline at end of file + find . -name "*.proto" -not -path "./vendor/*" diff --git a/app/client/cli/debug.go b/app/client/cli/debug.go index 5588786788..bd581fa644 100644 --- a/app/client/cli/debug.go +++ b/app/client/cli/debug.go @@ -106,7 +106,7 @@ func NewDebugCommand() *cobra.Command { // persistentPreRun is called by both debug and debug sub-commands before runs func persistentPreRun(cmd *cobra.Command, _ []string) { // TECHDEBT: this is to keep backwards compatibility with localnet - configPath = runtime.GetEnv("CONFIG_PATH", "build/config/config1.json") + configPath = runtime.GetEnv("CONFIG_PATH", "build/config/config.validator1.json") rpcURL := fmt.Sprintf("http://%s:%s", rpcHost, defaults.DefaultRPCPort) runtimeMgr := runtime.NewManagerFromFiles( @@ -257,7 +257,7 @@ func broadcastDebugMessage(cmd *cobra.Command, debugMsg *messaging.DebugMessage) // TODO(olshansky): Once we implement the cleanup layer in RainTree, we'll be able to use // broadcast. The reason it cannot be done right now is because this client is not in the - // address book of the actual validator nodes, so `node1.consensus` never receives the message. + // address book of the actual validator nodes, so `validator1` never receives the message. // p2pMod.Broadcast(anyProto) pstore, err := fetchPeerstore(cmd) diff --git a/app/client/cli/query.go b/app/client/cli/query.go index fd2cf32d05..dcea5f176b 100644 --- a/app/client/cli/query.go +++ b/app/client/cli/query.go @@ -884,6 +884,33 @@ func queryCommands() []*cobra.Command { return rpcResponseCodeUnhealthy(statusCode, resp) }, }, + { + Use: "NodeRoles", + Short: "Get current the node roles", + Long: "Queries the node RPC to returns the type of utility actor(s) running on the node", + Aliases: []string{"noderoles"}, + RunE: func(cmd *cobra.Command, args []string) error { + client, err := rpc.NewClientWithResponses(remoteCLIURL) + if err != nil { + return err + } + response, err := client.PostV1QueryNodeRoles(cmd.Context()) + if err != nil { + return unableToConnectToRpc(err) + } + statusCode := response.StatusCode + body, err := io.ReadAll(response.Body) + if err != nil { + fmt.Fprintf(os.Stderr, "❌ Error reading response body: %s\n", err.Error()) + return err + } + if statusCode == http.StatusOK { + fmt.Println(string(body)) + return nil + } + return rpcResponseCodeUnhealthy(statusCode, body) + }, + }, } return cmds } diff --git a/app/docs/CHANGELOG.md b/app/docs/CHANGELOG.md index 2cf322c606..1b2098eb33 100644 --- a/app/docs/CHANGELOG.md +++ b/app/docs/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.0.0.8] - 2023-06-06 + +- Adds `query nodeRoles` sub-command the client CLI +- Renames config file + ## [0.0.0.7] - 2023-04-28 - Adds debug sub-commands to the debug CLI and appropriate documentation diff --git a/build/config/config.fisherman1.json b/build/config/config.fisherman1.json new file mode 100644 index 0000000000..ea20cff45e --- /dev/null +++ b/build/config/config.fisherman1.json @@ -0,0 +1,56 @@ +{ + "root_directory": "/go/src/github.com/pocket-network", + "private_key": "90ccfd6ba76d876e02ba09440af67582e0f4a37cbda2ce4c30b251132b670eda2777a49cdfde21867a538ddcfca05002f0115b1955a75b80e965ed63fc95f809", + "consensus": { + "max_mempool_bytes": 500000000, + "pacemaker_config": { + "timeout_msec": 10000, + "manual": true, + "debug_time_between_steps_msec": 1000 + }, + "private_key": "90ccfd6ba76d876e02ba09440af67582e0f4a37cbda2ce4c30b251132b670eda2777a49cdfde21867a538ddcfca05002f0115b1955a75b80e965ed63fc95f809", + "server_mode_enabled": true + }, + "utility": { + "max_mempool_transaction_bytes": 1073741824, + "max_mempool_transactions": 9000 + }, + "persistence": { + "postgres_url": "postgres://postgres:postgres@pocket-db:5432/postgres", + "node_schema": "fisherman1", + "block_store_path": "/var/blockstore", + "tx_indexer_path": "/var/txindexer", + "trees_store_dir": "/var/trees", + "max_conns_count": 50, + "min_conns_count": 1, + "max_conn_lifetime": "5m", + "max_conn_idle_time": "1m", + "health_check_period": "30s" + }, + "p2p": { + "hostname": "fisherman1", + "port": 42069, + "use_rain_tree": true, + "is_empty_connection_type": false, + "private_key": "90ccfd6ba76d876e02ba09440af67582e0f4a37cbda2ce4c30b251132b670eda2777a49cdfde21867a538ddcfca05002f0115b1955a75b80e965ed63fc95f809", + "max_mempool_count": 100000 + }, + "telemetry": { + "enabled": true, + "address": "0.0.0.0:9000", + "endpoint": "/metrics" + }, + "logger": { + "level": "debug", + "format": "pretty" + }, + "rpc": { + "enabled": true, + "port": 50832, + "timeout": 30000, + "use_cors": false + }, + "fisherman": { + "enabled": true + } +} diff --git a/build/config/config.servicer1.json b/build/config/config.servicer1.json new file mode 100644 index 0000000000..c5b0e713bd --- /dev/null +++ b/build/config/config.servicer1.json @@ -0,0 +1,57 @@ +{ + "root_directory": "/go/src/github.com/pocket-network", + "private_key": "e4ad8d293ebf5287e2403e6483ecb6c4e80b22b2d3effc8698dfe34eb35fc9466ac62bddc541432cff818a02bab732f815ef2e6f7099e7dddc793d62d482b451", + "consensus": { + "max_mempool_bytes": 500000000, + "pacemaker_config": { + "timeout_msec": 10000, + "manual": true, + "debug_time_between_steps_msec": 1000 + }, + "private_key": "e4ad8d293ebf5287e2403e6483ecb6c4e80b22b2d3effc8698dfe34eb35fc9466ac62bddc541432cff818a02bab732f815ef2e6f7099e7dddc793d62d482b451", + "server_mode_enabled": true + }, + "utility": { + "max_mempool_transaction_bytes": 1073741824, + "max_mempool_transactions": 9000 + }, + "persistence": { + "postgres_url": "postgres://postgres:postgres@pocket-db:5432/postgres", + "node_schema": "servicer1", + "block_store_path": "/var/blockstore", + "tx_indexer_path": "/var/txindexer", + "trees_store_dir": "/var/trees", + "max_conns_count": 50, + "min_conns_count": 1, + "max_conn_lifetime": "5m", + "max_conn_idle_time": "1m", + "health_check_period": "30s" + }, + "p2p": { + "hostname": "servicer1", + "port": 42069, + "use_rain_tree": true, + "is_empty_connection_type": false, + "private_key": "e4ad8d293ebf5287e2403e6483ecb6c4e80b22b2d3effc8698dfe34eb35fc9466ac62bddc541432cff818a02bab732f815ef2e6f7099e7dddc793d62d482b451", + "max_mempool_count": 100000 + }, + "telemetry": { + "enabled": true, + "address": "0.0.0.0:9000", + "endpoint": "/metrics" + }, + "logger": { + "level": "debug", + "format": "pretty" + }, + "rpc": { + "enabled": true, + "port": 50832, + "timeout": 30000, + "use_cors": false + }, + "servicer": { + "enabled": true, + "chains": ["0001"] + } +} diff --git a/build/config/config1.json b/build/config/config.validator1.json similarity index 90% rename from build/config/config1.json rename to build/config/config.validator1.json index 71970410c3..67051df18d 100644 --- a/build/config/config1.json +++ b/build/config/config.validator1.json @@ -1,7 +1,6 @@ { "root_directory": "/go/src/github.com/pocket-network", "private_key": "0ca1a40ddecdab4f5b04fa0bfed1d235beaa2b8082e7554425607516f0862075dfe357de55649e6d2ce889acf15eb77e94ab3c5756fe46d3c7538d37f27f115e", - "use_lib_p2p": false, "network_id": "localnet", "consensus": { "max_mempool_bytes": 500000000, @@ -19,7 +18,7 @@ }, "persistence": { "postgres_url": "postgres://postgres:postgres@pocket-db:5432/postgres", - "node_schema": "node1", + "node_schema": "validator1", "block_store_path": "/var/blockstore", "tx_indexer_path": "/var/txindexer", "trees_store_dir": "/var/trees", @@ -30,7 +29,7 @@ "health_check_period": "30s" }, "p2p": { - "hostname": "node1.consensus", + "hostname": "validator1", "port": 42069, "use_rain_tree": true, "is_empty_connection_type": false, @@ -51,5 +50,12 @@ "port": "50832", "timeout": 30000, "use_cors": false + }, + "validator": { + "enabled": true + }, + "servicer": { + "enabled": true, + "chains": ["0001"] } } diff --git a/build/config/config2.json b/build/config/config.validator2.json similarity index 94% rename from build/config/config2.json rename to build/config/config.validator2.json index ad3dd4dd24..25b952eccd 100644 --- a/build/config/config2.json +++ b/build/config/config.validator2.json @@ -1,7 +1,6 @@ { "root_directory": "/go/src/github.com/pocket-network", "private_key": "ba81e6e56d293895b299bc495ae75d490644429a5e0028fabeb5e1871c1098e7eb2c78364525a210d994a83e02d18b4287ab81f6670cf4510ab6c9f51e296d91", - "use_lib_p2p": false, "network_id": "localnet", "consensus": { "max_mempool_bytes": 500000000, @@ -19,7 +18,7 @@ }, "persistence": { "postgres_url": "postgres://postgres:postgres@pocket-db:5432/postgres", - "node_schema": "node2", + "node_schema": "validator2", "block_store_path": "/var/blockstore", "tx_indexer_path": "/var/txindexer", "trees_store_dir": "/var/trees", @@ -30,7 +29,7 @@ "health_check_period": "30s" }, "p2p": { - "hostname": "node2.consensus", + "hostname": "validator2", "port": 42069, "use_rain_tree": true, "is_empty_connection_type": false, diff --git a/build/config/config3.json b/build/config/config.validator3.json similarity index 94% rename from build/config/config3.json rename to build/config/config.validator3.json index 8e4c9a57ff..648ef2a5a5 100644 --- a/build/config/config3.json +++ b/build/config/config.validator3.json @@ -1,7 +1,6 @@ { "root_directory": "/go/src/github.com/pocket-network", "private_key": "25b385b367a827eaafcdb1003bd17a25f2ecc0d10d41f138846f52ae1015aa941041a9c76539791fef9bee5b4fcd5bf4a1a489e0790c44cbdfa776b901e13b50", - "use_lib_p2p": false, "network_id": "localnet", "consensus": { "max_mempool_bytes": 500000000, @@ -19,7 +18,7 @@ }, "persistence": { "postgres_url": "postgres://postgres:postgres@pocket-db:5432/postgres", - "node_schema": "node3", + "node_schema": "validator3", "block_store_path": "/var/blockstore", "tx_indexer_path": "/var/txindexer", "trees_store_dir": "/var/trees", @@ -30,7 +29,7 @@ "health_check_period": "30s" }, "p2p": { - "hostname": "node3.consensus", + "hostname": "validator3", "port": 42069, "use_rain_tree": true, "is_empty_connection_type": false, diff --git a/build/config/config4.json b/build/config/config.validator4.json similarity index 94% rename from build/config/config4.json rename to build/config/config.validator4.json index a8e107edaa..65887d3983 100644 --- a/build/config/config4.json +++ b/build/config/config.validator4.json @@ -1,7 +1,6 @@ { "root_directory": "/go/src/github.com/pocket-network", "private_key": "4ff3292ff14213149446f8208942b35439cb4b2c5e819f41fb612e880b5614bdd6cea8706f6ee6672c1e013e667ec8c46231e0e7abcf97ba35d89fceb8edae45", - "use_lib_p2p": false, "network_id": "localnet", "consensus": { "max_mempool_bytes": 500000000, @@ -19,7 +18,7 @@ }, "persistence": { "postgres_url": "postgres://postgres:postgres@pocket-db:5432/postgres", - "node_schema": "node4", + "node_schema": "validator4", "block_store_path": "/var/blockstore", "tx_indexer_path": "/var/txindexer", "trees_store_dir": "/var/trees", @@ -30,7 +29,7 @@ "health_check_period": "30s" }, "p2p": { - "hostname": "node4.consensus", + "hostname": "validator4", "port": 42069, "use_rain_tree": true, "is_empty_connection_type": false, diff --git a/build/config/genesis.json b/build/config/genesis.json index 5ce30bd75e..0b7f1e3cc1 100755 --- a/build/config/genesis.json +++ b/build/config/genesis.json @@ -4040,7 +4040,7 @@ "address": "00104055c00bed7c983a48aac7dc6335d7c607a7", "public_key": "dfe357de55649e6d2ce889acf15eb77e94ab3c5756fe46d3c7538d37f27f115e", "chains": null, - "service_url": "node1.consensus:42069", + "service_url": "validator1:42069", "staked_amount": "1000000000000", "paused_height": -1, "unstaking_height": -1, @@ -4051,7 +4051,7 @@ "address": "00204737d2a165ebe4be3a7d5b0af905b0ea91d8", "public_key": "eb2c78364525a210d994a83e02d18b4287ab81f6670cf4510ab6c9f51e296d91", "chains": null, - "service_url": "node2.consensus:42069", + "service_url": "validator2:42069", "staked_amount": "1000000000000", "paused_height": -1, "unstaking_height": -1, @@ -4062,7 +4062,7 @@ "address": "00304d0101847b37fd62e7bebfbdddecdbb7133e", "public_key": "1041a9c76539791fef9bee5b4fcd5bf4a1a489e0790c44cbdfa776b901e13b50", "chains": null, - "service_url": "node3.consensus:42069", + "service_url": "validator3:42069", "staked_amount": "1000000000000", "paused_height": -1, "unstaking_height": -1, @@ -4073,7 +4073,7 @@ "address": "00404a570febd061274f72b50d0a37f611dfe339", "public_key": "d6cea8706f6ee6672c1e013e667ec8c46231e0e7abcf97ba35d89fceb8edae45", "chains": null, - "service_url": "node4.consensus:42069", + "service_url": "validator4:42069", "staked_amount": "1000000000000", "paused_height": -1, "unstaking_height": -1, @@ -4095,27 +4095,38 @@ ], "servicers": [ { - "address": "43d9ea9d9ad9c58bb96ec41340f83cb2cabb6496", - "public_key": "16cd0a304c38d76271f74dd3c90325144425d904ef1b9a6fbab9b201d75a998b", + "address": "00104055c00bed7c983a48aac7dc6335d7c607a7", + "public_key": "dfe357de55649e6d2ce889acf15eb77e94ab3c5756fe46d3c7538d37f27f115e", + "chains": ["0001"], + "service_url": "validator1:42069", + "staked_amount": "1000000000000", + "paused_height": -1, + "unstaking_height": -1, + "output": "00104055c00bed7c983a48aac7dc6335d7c607a7", + "actor_type": 2 + }, + { + "address": "00604d18001a2012830b93efcc23100450e5a512", + "public_key": "6ac62bddc541432cff818a02bab732f815ef2e6f7099e7dddc793d62d482b451", "chains": ["0001"], - "service_url": "node1.consensus:42069", + "service_url": "servicer1:42069", "staked_amount": "1000000000000", "paused_height": -1, "unstaking_height": -1, - "output": "43d9ea9d9ad9c58bb96ec41340f83cb2cabb6496", + "output": "00604d18001a2012830b93efcc23100450e5a512", "actor_type": 2 } ], "fishermen": [ { - "address": "9ba047197ec043665ad3f81278ab1f5d3eaf6b8b", - "public_key": "68efd26af01692fcd77dc135ca1de69ede464e8243e6832bd6c37f282db8c9cb", + "address": "00504987d4b181c1e97b1da9af42f3db733b1ff4", + "public_key": "2777a49cdfde21867a538ddcfca05002f0115b1955a75b80e965ed63fc95f809", "chains": ["0001"], - "service_url": "node1.consensus:42069", + "service_url": "fisherman1:42069", "staked_amount": "1000000000000", "paused_height": -1, "unstaking_height": -1, - "output": "9ba047197ec043665ad3f81278ab1f5d3eaf6b8b", + "output": "00504987d4b181c1e97b1da9af42f3db733b1ff4", "actor_type": 3 } ], diff --git a/build/debug_keybase/73e3f85e886d74e4cea14458f39a338a.md5 b/build/debug_keybase/909aa7caea408519a7ed73df70ca3e65.md5 similarity index 100% rename from build/debug_keybase/73e3f85e886d74e4cea14458f39a338a.md5 rename to build/debug_keybase/909aa7caea408519a7ed73df70ca3e65.md5 diff --git a/build/debug_keybase/debug_keybase.bak b/build/debug_keybase/debug_keybase.bak index 5759fddefa2c3dd50f01a9981402b1d0c76f5f85..55138faa2ae3c58066655104bfaa7ab230b2ca16 100644 GIT binary patch literal 6928184 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

-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