Skip to content

sgiath.dev

My libraries

Secp256k1

GitHub Hex.pm Documentation

An Elixir NIF (Native Implemented Function) library that wraps the high-performance, high-assurance Bitcoin C library libsecp256k1, providing efficient elliptic curve cryptographic primitives (signing, key generation, tweaking, serialization) on the secp256k1 curve. Actively maintained, with version 0.6.1 released on March 31, 2025, and consistent downloads—making it a reliable choice for Elixir applications requiring robust crypto support.

Elixir Astro

GitHub Hex.pm Documentation

A domain-specific Elixir library bringing astrophysics to your code. It wraps NASA's SPICE (CSPICE) toolkit from NAIF and the ERFA (Essential Routines for Fundamental Astronomy) to expose celestial computation functions—such as ephemerides, coordinate conversions, and observation geometry—directly within Elixir. It simplifies installing SPICE kernels, integrates with Mix workflows, and builds with elixir_make. Initial versions (0.1.0 to 0.2.1) were published in early January 2024.

SpaceBoy

GitHub Hex.pm Documentation

Implements the Gemini protocol inside Elixir, offering a lightweight, text-based, privacy-respecting alternative to HTTP inspired by the geminiprotocol specs. Ideal for developers building minimalistic clients or lightweight network tools.

Noise Protocol

GitHub

An Elixir implementation of the Noise Protocol Framework, enabling developers to build secure encrypted communication channels via well-defined handshake patterns. Useful for building privacy-focused network layers, coupling seamlessly with Nostr or similar decentralized systems.

Nostr

Nostr Lib - WIP

GitHub Hex.pm Documentation

Work-in-progress Elixir library implementing core Nostr protocol specifications, forming the foundation for both client-side and server-side Nostr integrations.

Nostr Client - WIP

GitHub Hex.pm Documentation

A WIP Elixir client library for Nostr focused on communication with relays—handling subscriptions, event publication, filtering, and message handling.

Nostr Server - TBD

GitHub Hex.pm Documentation

Planned Elixir library implementation for the server (relay) side of the Nostr protocol—handling client connections, event storage, filtering, and relay semantics.

Nostr Relay - TBD

GitHub

Fully implemented Nostr relay in Elixir—operational and ready to support decentralized communication frameworks with performance and composability.

Nostr Private Server - WIP

GitHub

WIP Elixir implementation for private, invitation-only Nostr servers—a variation designed for privacy-first communities requiring authenticated relay behavior.