Waveschainex 0.1 release: Elixir/Erlang client for WAVES REST API

in #utopian-io5 years ago

I'm releasing Waveschainex 0.1, a first version of Elixir/Erlang client for WAVES blockchain REST API.

Repos and docs

Release commit history


Default setting for WAVES nodes API is https://nodes.wavesnodes.com.

To configure a custom url use the following config setings:

config :waveschainex,
  waves_node_url: "YOUR_CUSTOM_URL"

Implemented API methods

All functions are documented, covered by tests and include typespecs.

Address module

  • balance(client, address, _opts \\ []): Account's balance
  • data(client, address, _opts \\ []): Read all data posted by an account using Data Transactions
  • public_key(client, address, _opts \\ []): Generate a address from public key

Block module

  • at(client, height, _opts \\ []): Get block at specified height
  • height(client, _opts \\ []): Get blockchain height
  • last(client, _opts \\ []): Get last block data
  • signature(client, signature, _opts \\ []): Get block for specified Base58 signature

Asset module

  • balance(client, address, asset_id, _opts \\ []): Account balance by given asset
  • balances(client, address, _opts \\ []): Account's balances for all assets
  • details(client, asset_id, _opts \\ []): Provides detailed information about given asset

Transaction module

  • info(client, id, _opts \\ []): Get transaction info
  • unconfirmed(client, _opts \\ []): Get list of unconfirmed transactions

Node module

  • status(client, _opts \\ []): Get status of the running node
  • version(client, _opts \\ []): Get Waves node version

About Elixir

Elixir is a functional programming language with superior concurrency primitives, distributed computation and fault tolerance capabilities based on Erlang/OTP. Personally, I am really happy with my bet on Elixir to build cryptocurrency related apps and strongly recommend to learn more about Elixir and Erlang ecosystem.

Learning resources:



Thanks for the contribution, @ontofractal. Admittedly I don't know much about Elixir, but looking at some of the style guides I found you seem to follow all best practices and it's great you also write documentation + tests at the same time - keep up the good work!

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.

Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.

Thank you for the review, @amosbastian!

Hey @ontofractal
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Steem is the best blockchain ever! I've never experienced an online community where my desire to create has been so uninhibited. I'm free to create content as I wish and others are free to read it. The beauty is in the simplicity and uncensored nature of this system that affords us a place to be free and explore.
There is no place like home and Steemit, to me, feels closer to home than I've ever gotten before as a creator. Truly a blockchain of opportunity and for that, I say thank you so much.