I'm releasing Waveschainex 0.1, a first version of Elixir/Erlang client for WAVES blockchain REST API.
Repos and docs
Release commit history
Configuration
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 balancedata(client, address, _opts \\ []): Read all data posted by an account using Data Transactionspublic_key(client, address, _opts \\ []): Generate a address from public key
Block module
at(client, height, _opts \\ []): Get block at specified heightheight(client, _opts \\ []): Get blockchain heightlast(client, _opts \\ []): Get last block datasignature(client, signature, _opts \\ []): Get block for specified Base58 signature
Asset module
balance(client, address, asset_id, _opts \\ []): Account balance by given assetbalances(client, address, _opts \\ []): Account's balances for all assetsdetails(client, asset_id, _opts \\ []): Provides detailed information about given asset
Transaction module
info(client, id, _opts \\ []): Get transaction infounconfirmed(client, _opts \\ []): Get list of unconfirmed transactions
Node module
status(client, _opts \\ []): Get status of the running nodeversion(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:
- ElixirConf Jose Valim Keynote
- ElixirConf 2016 Chris McCord Keynote
- Elixir School
- Elixir Crash Course