OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Elm Ethereum

Elm Ethereum is an open-source Elm library for building Ethereum dApps, with functions to query node data, read smart-contract state and submit transactions through web wallets such as MetaMask.

Independent OpenViST project profile, based on linked sources.

Elm Ethereum — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use it when an Elm dApp needs direct Ethereum node queries or a wallet-based transaction workflow, and the application can supply a node endpoint.

Who it is for

  • Elm developers building browser-based Ethereum dApps
  • Teams that need node queries, smart-contract reads or wallet-mediated transaction flows in Elm

Documented uses

  • Read an account balance at a specific block height.
  • Query blocks and transaction receipts to find newly created contract addresses.
  • Read smart-contract data and send transactions through a web wallet.
  • Track transaction block depth after a transaction has been mined.
Before you choose

Requirements & limits

The repository is public and declares a BSD-3-Clause license.

  • The application must define an Ethereum node endpoint.
  • MetaMask is identified as an example web wallet; the documentation notes that keeping the endpoint in the application model can help synchronize it with MetaMask.
  • The library is written in Elm, so its usefulness depends on choosing Elm for the dApp.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Read an account balance at a chosen block

Use the library's documented pattern to request a historical account balance from an Ethereum node.

Before you start

  • An Elm application using elm-ethereum
  • An Ethereum node endpoint
  • The account address and block number to query

Steps

  1. Import Eth and the relevant types from Eth.Types.

  2. Keep the node endpoint in the application model as an HttpProvider.

  3. Call Eth.getBalanceAtBlock with the endpoint, account address and BlockNum value.

Expected outcome

The example returns a task containing the account balance as a BigInt.

Guide limitations

  • The example demonstrates a balance read; it does not cover wallet connection or transaction submission.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
15 October 2026
Original website title
cmditch/elm-ethereum · Official homepage title · retained in its source language