View Source Xogmios.HTTP (xogmios v0.8.0)

Convenience module that provides access to all stateless HTTP APIs.

This module serves as a unified entry point for users who want to use Xogmios in a stateless manner via HTTP instead of WebSocket connections.

Summary

Functions

Evaluates the execution units of scripts in a transaction via HTTP.

Sends a state query via HTTP.

Submits a transaction via HTTP.

Functions

Link to this function

evaluate_tx(base_url, cbor)

View Source
@spec evaluate_tx(String.t(), String.t()) :: {:ok, any()} | {:error, any()}

Evaluates the execution units of scripts in a transaction via HTTP.

This function is stateless and doesn't require a running process.

Examples

iex> Xogmios.HTTP.evaluate_tx("http://localhost:1337", cbor_data)
{:ok, %{"evaluation" => %{"script1" => %{"memory" => 1000, "steps" => 500}}}}
Link to this function

send_query(base_url, query, params \\ %{})

View Source
@spec send_query(String.t(), String.t(), map()) :: {:ok, term()} | {:error, term()}

Sends a state query via HTTP.

This function is stateless and doesn't require a running process.

Examples

iex> Xogmios.HTTP.send_query("http://localhost:1337", "epoch")
{:ok, 450}

iex> Xogmios.HTTP.send_query("http://localhost:1337", "utxo", %{addresses: ["addr1..."]})
{:ok, [%{"transaction" => %{...}, "output" => %{...}}]}
Link to this function

submit_tx(base_url, cbor)

View Source
@spec submit_tx(String.t(), String.t()) :: {:ok, any()} | {:error, any()}

Submits a transaction via HTTP.

This function is stateless and doesn't require a running process.

Examples

iex> Xogmios.HTTP.submit_tx("http://localhost:1337", cbor_data)
{:ok, %{"transaction" => %{"id" => "abc123..."}}}