[DevExp] Developer Workflow Experience & Improvements #384
Labels
documentation
Improvements or additions to documentation
testing
Test (or test utils) additions, fixes, improvements or other
tooling
Tooling - CLI, scripts, helpers, off-chain, etc...
Milestone
Objective
Improve the developer experience for blockchain developers.
Origin Document
I encountered a handful of problems going through #359, ranging from bugs, issues and institutional knowledge that we have to capture and iterate on.
Goals
hidden expected undefined
behaviour such asI know this doesn't work
that others might not be aware ofDeliverables
[E2E Testing]
Make it easier to run a single E2E test. Formulating the following CLI command is non-trivial and there is an opportunity to have amake
helper to just put in a fuzzy matched namego test -v -tags=test,e2e -count=1 -run \ TestFeatures/Tokenomics_Namespaces/Basic_tokenomics_validation_that_Supplier_mint_equals_Application_burn \ ./e2e/tests/...
[Tooling
] Make it easier to run anypoktrolld
command w/ default flags during development. Formulating the following CLI command is non-trivial and there is an opportunity to have amake
helper to just put in a fuzzy matched name.[Infra]
Make it easier to maintain state across LocalNet restarts. Currently, every time we clickTrigger Update
, the blockchain restarts fromheight=1
[Infra]
Enable hot reloading. This is not in place today unless we clickTrigger Update
explicitly.[Infra]
Document the order of operations if theSequencer
is restarted. Specifically,relayminers
andappgateservers
need to haveTrigger Update
clicked AFTER thesequencer
is back up for things to function normally[Logging]
Documenton-chain
logging best practices #856Consider which logger should be used:
1. The default cosmos-sdk logger is not very practical when used at the "debug" level as it's overwhelmed with cosmos-sdk specific output.
2. We should prefer using the "debug" level for any log that doesn't require node operator attention (e.g. handling invalid requests). I think this represents (or it should) the majority of logger calls.
Search each module for usages of
logger.Info()
andlogger.Error()
. Places where an error is logged and returned are prime examples of mis-leveled logs.[Debugging]
Make it easier to sift through logs. Specifically:JSON
fromlogger
stack trace
from on-chain codesequencer
showed no errors even through therelayminer
show apanic tx timeout
Non-goals / Non-deliverables
General deliverables
Creator: @Olshansk
Co-Owners: @red-0ne @okdas
The text was updated successfully, but these errors were encountered: