Optimization proposal from Sculptex
- Langage dominant
- Go
- Étoiles
- 28
- Forks
- 23
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
https://discord.com/channels/992566329632641056/1045060754103078933/1373235805459316816
Quotes from the discord message from Sculptex:
I have an app that uses the cli tools on the back end to post transactions to the Blockchain (Solana + Züs). Now the miner Active Set is much smaller, just a small number of inactive miners has a more dramatic effect on tx times.
My understanding is that each tx is sent to a random subset of miners. If inoperative miners are included in this subset, then there is a 30s timeout experienced. This can clearly and consistently be seen, the times for cli tx commands to complete consistently falls in the range around 5-7 seconds, 35-37 seconds or even 65-67 seconds. This shows instances of timeouts. The 5+ odd seconds is consistent with a minimum number of blocks passing to ensure finalization which is fine, it's the clear stepping of additional 30 seconds that is a problem.
The simple fix is to reduce the default timeout for miner response in the order of a few seconds max, this way the tx will be retried much quicker with a different set of miners.
This will result in a much more consistent UX.
A different approach that I have had success with is to curate the Active Set list of miners to only include ones that are recently active, so instead of using mainnet/dns/network that returns the entire Active Set, you would have a service running that excludes any miners that are currently inactive, such as active/dns/network.


Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Examinez la logique d'envoi de transaction de l'outil CLI, probablement dans le GoSDK, pour trouver où les sous-ensembles de mineurs sont sélectionnés et les délais d'attente sont définis. Le problème mentionne de réduire le délai d'attente par défaut pour la réponse des mineurs et éventuellement de sélectionner l'Active Set. Commencez par examiner les fonctions d'appel réseau et les configurations de délai d'attente. Tester les changements nécessitera de comprendre le flux de transaction et éventuellement de configurer un environnement de test pour simuler les réponses des mineurs.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- go, shell
- Domaine
- backend, cli, performance
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100