# `Onchain`
[🔗](https://github.com/ZenHive/onchain/blob/v0.5.0/lib/onchain.ex#L1)

Shared Ethereum/blockchain library providing read and write capabilities.

Uses `signet` as the sole Ethereum dependency for RPC calls, ABI encoding,
transaction signing, and cryptographic operations.

## Discovery

Use `Onchain.describe/0` for a module overview, `Onchain.describe/1` for
function listings, and `Onchain.describe/2` for full function details.

# `__descripex_modules__`

```elixir
@spec __descripex_modules__() :: [module()]
```

Return the list of modules registered with this library.

# `describe`

```elixir
@spec describe() :: [map()]
```

Return a Level 1 overview of all modules in this library.

# `describe`

```elixir
@spec describe(module() | atom()) :: [map()]
```

Return Level 2 function list for a module (by full atom or short name).

# `describe`

```elixir
@spec describe(module() | atom(), atom()) :: map() | nil
```

Return Level 3 function detail (or `nil` if not found).

---

*Consult [api-reference.md](api-reference.md) for complete listing*
