Hopp til hovedinnhold

Go-utvikling

Raske, enkle og driftsvennlige tjenester i Go — fra API-er og bakgrunnsjobber til lavnivå protokoll-biblioteker.

Håndtegnet illustrasjon for Go

Verktøy og rammeverk vi bruker

  • Go
  • Fiber
  • GORM
  • PostgreSQL
  • Cron-jobber
  • Docker Compose
  • Caddy
  • APDU og NFC
  • CBOR
  • secp256k1
  • lnd

Go-utvikling for enkle og robuste tjenester

Go er laget for tjenester som skal være lette å lese, raske å bygge og enkle å drifte. Én binærfil, få avhengigheter og god støtte for samtidighet gjør språket godt egnet for API-er og bakgrunnsjobber som skal gå stabilt over tid. Vi har bygget tjenester i Go med Fiber, GORM og PostgreSQL, og workers som henter og aggregerer markedsdata på faste tidspunkt.

Når vi anbefaler Go — og når Rust eller .NET passer bedre

Go er vårt førstevalg når en tjeneste skal være liten, starte raskt og være enkel å drifte: API-er med moderat kompleksitet, workers som henter data på faste tidspunkt, kommandolinjeverktøy og nettverksnære biblioteker. Kompileringen er rask, binærfilen er selvstendig, og koden er lett å sette seg inn i for nye utviklere.

Det finnes likevel gode grunner til å velge noe annet:

  • Rust når korrekthet og kontroll over minne veier tyngst, eller når de beste bibliotekene finnes der. Canary er skrevet i Rust, der BDK og rust-bitcoin er godt etablert.
  • .NET når teamet allerede har en stor C#-kodebase, delte biblioteker og drift bygget rundt Azure. En enkelt Go-tjeneste i et rent .NET-miljø gir sjelden nok gevinst til å forsvare et ekstra språk.
  • Rike domenemodeller med mye forretningslogikk kan bli ordrike i Go. Der er språk med et mer uttrykksfullt typesystem ofte et bedre verktøy.

Innenfor Go holder vi oss nær standardbiblioteket, og bruker Fiber og GORM der de faktisk sparer tid.

Protokoller, NFC og Lightning i Go

Go er også godt egnet for arbeid nær maskinvare og protokoller. Vi har skrevet tapcards, et åpent Go-bibliotek for Coinkite Tap Cards-protokollen med fokus på Satscard. Biblioteket kommuniserer med kortet over NFC med APDU-kommandoer, koder meldinger i CBOR og bruker secp256k1 for kryptografi. Vi har også bidratt i Lightning-økosystemet, blant annet i arbeid på lommebøker basert på lnd.

Typiske oppdrag

API-er og backend-tjenester

Vi bygger API-er i Go med Fiber og PostgreSQL, med tydelig struktur og få avhengigheter som gjør tjenesten enkel å drifte.

Bakgrunnsjobber og dataflyt

Vi lager workers og planlagte jobber som henter, aggregerer og lagrer data — for eksempel markedsdata fra flere kilder.

Protokoller og maskinvare

Vi implementerer lavnivå protokoller i Go, som kommunikasjon med NFC-kort over APDU med CBOR-koding og kryptografi.

Vanlige spørsmål

Når anbefaler dere Go?

Go passer godt for tjenester som skal være raske, bruke lite ressurser og være enkle å deploye som én binærfil. Det er et godt valg for API-er, bakgrunnsjobber og nettverksnære verktøy.

Hvordan drifter dere Go-tjenester?

Ofte i Docker med Docker Compose bak Caddy, eller i en skyplattform som Azure eller Fly.io. Vi velger det enkleste oppsettet som dekker behovet.

Har dere erfaring med Go i Bitcoin- og Lightning-miljøet?

Ja. Vi har skrevet et åpent Go-bibliotek for Coinkite Satscard og bidratt i arbeid på lommebøker basert på lnd.

Hvor raskt kan dere starte?

Ta kontakt med en kort beskrivelse av behovet, så svarer vi med en vurdering av omfang og når vi kan bidra.

Trenger dere hjelp med Go?

Fortell kort om produktet, teamet eller systemet. Vi svarer med et konkret forslag til neste steg — enten det er en hel leveranse, senior kapasitet i teamet eller tekniske råd.

E-postadressen og meldingen brukes bare til å svare på henvendelsen din.

Telefon
920 50 946
Sted
Oslo, Norge