Welako now talks to ten Steem servers at the same time — and shares a map with the community
🇬🇧 English
What we built
Welako now talks to ten Steem servers at the same time, instead of just one. If one is slow or goes down, the system automatically switches to the next — and you as a user don't notice a thing. That was always my goal: that Welako runs as reliably as a modern booking platform, without the Steem blockchain becoming the weak link.
On the new status page welako.app/steem-status, you can now see live what's happening behind the scenes: which server is responding fastest right now, what the average response time looks like, whether all servers are online. Until now this was only visible to admins — now it's open for everyone, because transparency matters when you want to build trust.
A map with honest gaps
While building the status page I had the idea of showing a world map with the Steem server locations. Sounds simple — until you realize how hard it actually is to find out where a server really stands.
Most Steem API servers run behind Cloudflare or other CDNs. That means: what an IP geolocation shows you is usually just the CDN edge — not the real server location. For some servers I was able to find the actual origin via sister subdomains, for others it wasn't possible.
The result is a map with honest gaps:
Five region markers in different colors (Frankfurt, New York, Dallas, San Francisco, Singapore)
Each server in the legend with the color dot of its region
Four servers shown as "without fixed location" because I couldn't find out despite research
Above the map there's a note: locations are based on simple research and may differ significantly. If you — the server operators — want to share your actual location, send me a message and I'll update the map. Better an honest map with gaps than a pretty one with made-up data.
End of May: every user picks their own server
What I'm showing you here is just the admin phase — currently the Welako admin (that's me) centrally decides which server is used for everyone. That's going to fundamentally change at the end of May.
Then every Welako user can decide individually:
either pick a specific Steem server (for example your own witness server, or the geographically closest one)
or enable automatic optimization — Welako will then measure latency from your location to all servers and automatically use the server that's fastest for you
That means: a user in Berlin automatically gets a server in Europe. A user in Singapore automatically gets a server in Asia. No one has to put up with a central setting that's too slow for half the world. Server selection moves from a central admin setting to an individual user preference.
Open-source module + Condenser fork as a demo
I'm currently preparing the code for the multi-server logic as a standalone open-source module. An npm package called steem-node-rotator. Current spec:
48 tests passing, 98% code coverage
Bundle < 5 KB gzipped (ESM + CJS + browser build)
No external dependencies — pure JavaScript/TypeScript
Three selection strategies: round-robin, latency-based, weighted-random
Sticky broadcast: write operations stay on the once-chosen server until confirmation
Health check with configurable cooldown and blacklisting
SSR-compatible and browser-ready
But to prevent it from just being a code snippet that nobody knows what to do with, I'm planning a further step: since Condenser (Steemit's original frontend) is by far the most-used Steem frontend — and presumably most of you here post through it as well — I'll create a Condenser fork and use steem-node-rotator as a reference implementation in it.
This brings two benefits:
Other developers can see directly how to integrate the module — not as an abstract example but in real, production-grade code
Whoever deploys the fork directly gets a fail-safe Condenser without any further work
The fork will probably appear in the coming weeks, once the npm package is properly published.
Thanks
A special thanks to @blaze.apps from Kathmandu, who offered me his server steemd.blazeapps.org for the Welako bootstrap list yesterday. Exactly this kind of community makes Steem what it is. The server is still in observation mode in my health monitor for another week, then it'll be added.
Take a look: welako.app/steem-status
Feedback, hints and corrections very welcome.
🇩🇪 Deutsch
Was wir gebaut haben
Welako spricht ab jetzt nicht mehr nur mit einem einzigen Steem-Server, sondern mit zehn gleichzeitig. Wenn einer langsam ist oder ausfällt, wechselt das System automatisch zum nächsten — und du als Nutzer merkst gar nichts davon. Das war schon immer mein Ziel: dass Welako genauso zuverlässig läuft wie ein modernes Mietportal, ohne dass die Steem-Blockchain zur Schwachstelle wird.
Auf der neuen Status-Seite welako.app/steem-status kann man jetzt live sehen, was im Hintergrund passiert: welcher Server gerade am schnellsten antwortet, wie die durchschnittliche Antwortzeit aussieht, ob alle Server online sind. Bisher war das nur für Admins sichtbar — jetzt ist es für alle offen, denn Transparenz ist wichtig wenn man Vertrauen aufbauen will.
Eine Karte mit ehrlichen Lücken
Beim Bauen der Status-Seite kam mir die Idee, eine Weltkarte mit den Standorten der Steem-Server zu zeigen. Das klingt einfach — bis man merkt, wie schwer es eigentlich ist herauszufinden, wo ein Server tatsächlich steht.
Die meisten Steem-API-Server laufen hinter Cloudflare oder anderen CDNs. Das heißt: was eine IP-Geolocation anzeigt, ist meistens nur der CDN-Edge — nicht der echte Server-Standort. Bei manchen Servern konnte ich über Schwester-Subdomains den echten Origin-Standort herausfinden, bei anderen war das nicht möglich.
Das Ergebnis ist eine Karte mit ehrlichen Lücken:
Fünf Region-Marker mit verschiedenen Farben (Frankfurt, New York, Dallas, San Francisco, Singapur)
Jeder Server in der Legende mit Farbpunkt seiner Region
Vier Server stehen als "ohne festen Standort" da, weil ich es trotz Recherche nicht herausfinden konnte
Über der Karte steht ein Hinweis: Die Standorte basieren auf einfacher Recherche und können erheblich abweichen. Wenn ihr — die Server-Betreiber — euren echten Standort mitteilen wollt, schreibt mir und ich aktualisiere die Karte. Lieber eine ehrliche Karte mit Lücken als eine schöne mit erfundenen Daten.
Ende Mai: jeder User wählt seinen eigenen Server
Was ich euch hier zeige, ist erst die Admin-Phase — aktuell legt der Welako-Admin (also ich) zentral fest, welcher Server für alle Nutzer verwendet wird. Das ändert sich Ende Mai grundlegend.
Dann kann jeder Welako-Nutzer einzeln entscheiden:
entweder einen bestimmten Steem-Server fest auswählen (zum Beispiel den eigenen Witness-Server, oder den geographisch nächsten)
oder die automatische Optimierung aktivieren — dann misst Welako für deinen Standort die Latenz zu allen Servern und nutzt automatisch den Server, der für dich am schnellsten ist
Das heißt: Ein User aus Berlin bekommt automatisch einen Server in Europa. Ein User aus Singapur bekommt automatisch einen Server in Asien. Niemand muss sich mehr mit einer zentralen Vorgabe abfinden, die für die halbe Welt zu langsam ist. Die Server-Auswahl wird vom zentralen Admin-Setting zur individuellen User-Einstellung.
Open-Source-Modul + Condenser-Fork als Demo
Den Code für die Multi-Server-Logik bereite ich gerade als eigenständiges Open-Source-Modul auf. Ein npm-Paket namens steem-node-rotator. Aktuelle Spec:
48 Tests grün, 98% Code Coverage
Bundle < 5 KB gzipped (ESM + CJS + Browser-Build)
Keine externen Dependencies — pure JavaScript/TypeScript
Drei Auswahl-Strategien: round-robin, latency-based, weighted-random
Sticky-Broadcast: Schreib-Operationen bleiben beim einmal gewählten Server bis zur Bestätigung
Health-Check mit konfigurierbarem Cooldown und Black-listing
SSR-kompatibel und Browser-tauglich
Aber damit das nicht nur ein Code-Snippet bleibt mit dem niemand was anfangen kann, plane ich einen weiteren Schritt: Da das Condenser (Steemits Original-Frontend) trotz allem das mit Abstand meistgenutzte Steem-Frontend ist — und vermutlich die meisten von euch hier ebenfalls darüber posten — werde ich einen Condenser-Fork anlegen und dort steem-node-rotator als Referenz-Implementation einbauen.
Das bringt zwei Vorteile:
Andere Entwickler sehen direkt, wie man das Modul integriert — nicht nur als abstraktes Beispiel sondern in echtem, produktiv genutztem Code
Wer den Fork direkt deployt, hat sofort einen ausfallsicheren Condenser ohne weiteren Aufwand
Der Fork wird vermutlich in den nächsten Wochen entstehen, sobald das npm-Paket sauber publik ist.
Danke
Ein besonderes Dankeschön an @blaze.apps aus Kathmandu, der mir gestern seinen Server steemd.blazeapps.org für die Welako-Bootstrap-Liste angeboten hat. Genau diese Art von Community macht Steem zu dem was es ist. Der Server steht noch eine Woche im Beobachtungs-Modus in meinem Health-Monitor, dann wird er aufgenommen.
Schaut mal vorbei: welako.app/steem-status
Feedback, Hinweise, Korrekturen sind sehr willkommen.
#welako #steem #steemit #deutsch #witness #witness-category #steemdev #condenser #blockchain #travel #api #nodes #opensource #community #transparency
Published with Welako
