rocksky (Erlang)

View Source

Official Erlang SDK for Rocksky — a Rustler NIF over the shared Rust engine (rocksky-sdk, crates/rocksky-nif). AppView reads, AT Protocol PDS writes (scrobble fan-out, like, follow, shout), and the identity hashes shared across every Rocksky SDK.

The OTP application is rocksky_erl; the modules are rocksky (friendly API) and rocksky_nif (raw NIF). This same NIF powers the Elixir and Gleam SDKs.

Build

./build-core.sh                 # build priv/rocksky_nif.so from the Rust core
erlc -o ebin src/*.erl
./examples/native_core.escript  # read-only demo

Usage

{ok, Stats} = rocksky:global_stats().
Hash = rocksky:song_hash(<<"Chaser">>, <<"Calibro 35">>, <<"Jazzploitation">>).

Agent = rocksky:agent_login(<<"session.json">>, <<"alice.bsky.social">>, <<"app-pw">>),
{ok, Out} = rocksky:agent_scrobble(Agent, #{
    <<"title">> => <<"Chaser">>, <<"artist">> => <<"Calibro 35">>,
    <<"album">> => <<"Jazzploitation">>, <<"albumArtist">> => <<"Calibro 35">>,
    <<"durationMs">> => 182320}).

Reads/writes return {ok, Value} | {error, Message} with binary-keyed maps.

License

MIT.