Weekly Dev Update #50
THORChain Weekly Dev Update for Week 01–06 July 2020; Churning, Validator Onboarding, TSS bug-fixes, preparation for Testnet 4
The team continue to test THORNode’s behaviour during various churning environments. The goal is to churn up to 30 nodes, then back down to a complete Ragnarok, all whilst handling various node reliability issues and live funds.
THORChain is unique because it aggressively and continually churns its validator set, adding 2 and removing 1 every 3 days. This is part of THORChain’s design principle of treating nodes as second-class citizens and preventing any and all forms of stagnation and capture. Bitcoin has high validator churn as a function of the stochastic PoW process and is resistant to capture. Poorly-designed PoS systems that don’t churn validators end up becoming vulnerable to centralisation and capture.
The team are in the final stages of verification of Churn. Once they are happy with its stability, Testnet 4 will be launched for Node Operators to join and practice on.
Node Operators can use the following to prepare:
- @thornode_bot on telegram
- Kubernetes Docs: https://gitlab.com/thorchain/devops/helm-charts
- THORNode Docs: https://gitlab.com/thorchain/thornode/-/blob/master/docs/validator.md
More information will compiled once the procedure is finalised. There are two schools of thought for Validator Onboarding:
- Make the onboarding deliberately obtuse so only highly technically-literate operators can get a node set up. They will be better equipped to handle issues with their node, but bonding rates may be low.
- Make the onboarding “1-touch deploy”, so many nodes can get set up and drive up competition (and bonding rates). They may not be well-equipped to handle issues down the line.
The team are still discussing both, and will likely offer a range of options for Node Operators.
Bugfixes from testnets, as well as some quality and feature inclusions from testing.
- Resolve “script hard fork”
- Resolve “[CLEANUP] Internal code audit , manager_vault_v1”
- Resolve “[CLEANUP] internal code audit , managers”
- [bugfix] track inbound rune in unbond handler
- [bugfix] handle infinite unstakes during ragnarok
- [bugfix] use common.SafeSub more carefully
- [bugfix] add all rangarok txs to be tracked internally
- [bugfix] keygen msg id includes blame
- fix the blockheight in bifrost
- Enable internal traffic for both genesis and validator
- upgrade cosmos sdk
- Revert “Merge branch ‘548-issue’ into ‘master’”
- Resolve “[CLEANUP] back fill some unit tests”
- Update logic to choose yggdrasil send out fund
Bugfixes and features. A chain proxy is being added to allow clients to send through transactions direct to connected chains, rather than relying on other services.
- WIP: Resolve “Clean time-based ROI”
- Resolve “Implement pools_history table”
- WIP: Resolve “chain proxies”
Bugfixes as found in testing.
- add ping pong check before join party
- Fix p2p memory leakage
- encrypt the keygen output share
- resolve the freeze in join party
Work continues to prepare the client for Chaosnet.
- README: Add `keystore.json` location
- Store binance address into state
- Feature/asset view
- Refactor wallet structure (part 1)
- Refactor wallet structure (part 2)
- Refactor wallet structure (part 3)
- Fix/asset view intl
- Fix flickering text
- Feature/asset details
- Update i18n for AssetDetails
- Update Binance dependencies
The team continue to mature out the k8s infrastructure:
- Fix set ip address from param
- Add resource limits requests
- Use latest postgres timescaledb to fix memory leak
- Use haproxy instead of istio
- Add helmfile for testing envs
- Update dashboard
A block explorer from an external team has been commissioned and will be ready within the month.
A final infrastructure audit is planned post-Chaosnet.
The testnet 4 is being prepared and will be made public soon. Chaosnet is expected once testnet has been fully-validated in several environments.
To keep up to date, please monitor community channels, particularly Telegram and Twitter: