Weekly Tech Update: Week 48.
Growing the Californicum testnet: 600+ nodes synced and producing blocks. More work on logging social data.
Testnet node operations:
- Looking into a few critical issues that are causing nodes to stall:
- There is a race condition that causes nodes to stop syncing and get stuck, we have a PR that’s already implemented & being reviewed, will be merged soon.
- There might be other race conditions impacting syncing & gossip having to do with peer connection management, this is being looked at.
2. Fixed some voting issues:
- Fixed the proposal vote only using stake ‘1’ for the generation issue. When generating a proposal vote, use normal “weighted_votes_count_“ but when generating a proposal PBFT block and verifying a proposal vote only use stake ‘1’.
- Fixed the trigger for many useless next-votes syncing requests. There may have been two next vote values for the previous PBFT round. Only if a node own has one next vote value and peer has two, need trigger syncing request.
- Ran a local node on the testnet. Found the ‘vote sortition failed’ error because when verifying the vote, the ‘weight’ was calculated at 0. That means when generating the vote, the weight for the vote generator shouldn’t be 0, otherwise, the vote won’t be sent. But when verifying the vote, on the verifier side the “weight” is calculated as 0. Finally, found this was a timing issue as the verifier treats the votes as further votes.
- Fixed the errors in no vote sender staking in the DPOS table. That happened because after the deep syncing, a node could receive votes but was stalled behind, may doesn’t have the vote sender state in the table.
3. Working on a variety of other fixes that might not be too noticeable (e.g., adjusting the dynamic VRF difficulty algorithm) but should make the network overall more stable and efficient.
We are now in the process of re-writing Marinate’s UI and building out an open API to allow for integrations with popular messenger platforms. We’ve been exploring how to get consistent data from Telegram groups and channels to be able to track trending data in social apps:
- Telegram ingester:
- Adding multiple columns (bot count, chat dialog, and username) and other changes to the ingester.
- Finished FTB-45 Start Action for Telegram Client.
- Finished models migration to the ingester.
- Peer debugging and fixes on both sides of the app.