Download Latest Version Haskell Web3 v1.0 source code.zip (901.6 kB)
Email in envelope

Get an email when there's a new version of Web3 API for Haskell

Home / v0.7.0.0
Name Modified Size InfoDownloads / Week
Parent folder
April Springs.tar.gz 2018-04-25 39.9 kB
April Springs.zip 2018-04-25 66.2 kB
README.md 2018-04-25 1.8 kB
Totals: 3 Items   107.9 kB 0

This is one of the biggest releases of hs-web3. The aim of this release is make library more easy to use and understand. In this release library modules are separated for three parts: ABI operational modules, Contract abstraction and JSON-RPC generic communication interface (Web3 module).

Imports optimization is enabled for scenario:

  • if you need TH, just only import Network.Ethereum.Contract.TH module
  • in other cases use Network.Ethereum.Web3 module

For using specified JSON-RPC method make qualified imports, like

:::haskell
import qualified Network.Ethereum.Web3.Eth as Eth
...
runWeb3 Eth.accounts

Added

  • Descriptive types for all JSON-RPC method parameters and returned values (#15).
  • Widely use of basement:Word256 type for encoding.
  • Full list of ethereum abi encoding types:
  • bool: Bool
  • int256: IntN
  • uint256: UIntN
  • string: Text
  • bytes: Bytes
  • bytes32: BytesN
  • dynamic array: []
  • static array: ListN

Changed

  • Rewriten encoding engine for best performance, it now based on cereal:Serialize instead of parsec:Parser.
  • Renamed encoding type classes and methods: ABIEncode -> ABIPut, ABIDecode -> ABIGet.
  • Encoding related modules moved to Network.Ethereum.ABI.
  • Primitive abi encoding types are moved to separated modules in Network.Ethereum.ABI.Prim.
  • Contract interation related modules moved to Network.Ethereum.Contract.
  • Ethereum node communication modules stay in Network.Ethereum.Web3.
  • JSON-RPC tiny client is independent now and can be used separately.

Removed

  • Event type class, currently TH create Data.Default instance for Filter e.
  • Custom setup for live testing (it replaced by travis script).
Source: README.md, updated 2018-04-25