Nordic Productions
Tilbake til laben
AKTIV

IO Saga: sanntidsøkonomi for CS2-skins

Live priser, automatisk oppgjør av handler og en komplett Steam-økonomiplattform for Counter-Strike 2-skins.

[NODE.JS][POSTGRES][REDIS][STEAM-API][SOCKET.IO]
IO Saga

Hva det er

IO Saga er en plattform for en live økonomi bygget rundt Counter-Strike 2-skins. Prisene kommer fra ekte markedsdata, du kjøper med en gang, og gjenstanden kommer fram til deg gjennom et automatisk byttetilbud på Steam. Ingen må gjøre noe manuelt eller vente på at et menneske trykker godta.

Arkitektur

Backenden er Node.js og Express med et rent PostgreSQL-lag. Jeg droppet ORM med vilje, fordi eksplisitt SQL gjør det mulig å etterprøve spørringene som handelen er avhengig av. Redis tar seg av økter, begrensning av forespørsler og cache for de mest brukte prisene, og Socket.io sender prisendringer og handelsstatus live til klienten.

Steam-laget er den vanskelige delen. En samling steam-user-boter holder autentiserte økter, med koder fra steam-totp, og steam-tradeoffer-manager styrer hele livsløpet til et tilbud: forslag, sendt, venter på bekreftelse, godtatt, fullført. Bekreftelser på mobil er automatisert gjennom Steams bekreftelsesprotokoll, og hver tilstand en handel kan bli sittende fast i, har sin egen logikk for nye forsøk og feilhåndtering.

Datasiden

Prisene kommer ikke fra Valve. De kommer fra annenhåndsmarkedet. En pipeline som henter data hele tiden (se Pipeline for markedspriser), legger markedsdata fra Buff163 inn i Postgres, og plattformen regner ut verdier, trender og signaler fra prisspennet på nytt ved hver innhenting. Det er det som gjør det mulig å kjøpe og selge med en gang uten å ta på seg risikoen ved å ha et lager.

Hva jeg har ansvar for

Alt sammen: databaseskjema, handelsmotor, infrastrukturen for botene, sanntidslaget, brukergrensesnitt, utrulling og overvåking. De interessante problemene er problemer fra distribuerte systemer. Å gjøre opp handler idempotent, å komme seg etter et krasj midt i en bekreftelse, og å holde tre uavhengige priskilder konsistente når noe svikter.

[SYS.03 // RÅDGIVNING.ÅPEN]

Står du fast med et vanskelig teknisk problem? Kanskje jeg kan hjelpe.

Jeg tar på meg et og annet rådgivningsoppdrag, skreddersydd programvarearkitektur og forskningssamarbeid. Det finnes ingen salgstrakt. Du skriver til meg, og jeg svarer.

NP // NORDICPRODUCTIONS.NO

Handlekurv

Delsum 0 KR

Frakt beregnes når du bestiller

Send bestillingsforespørsel →

Noen varer kan ikke betales på nett ennå, så bestillingen sendes som en forespørsel.