-- | -- Module : Network.Ethereum.Web3 -- Copyright : Alexander Krupenkin 2016-2018 -- License : BSD3 -- -- Maintainer : mail@akru.me -- Stability : experimental -- Portability : unportable -- -- An Ethereum node offers a RPC interface. This interface gives Ðapp’s -- access to the Ethereum blockchain and functionality that the node provides, -- such as compiling smart contract code. It uses a subset of the JSON-RPC 2.0 -- specification (no support for notifications or named parameters) as serialisation -- protocol and is available over HTTP and IPC (unix domain sockets on linux/OSX -- and named pipe’s on Windows). -- -- Web3 Haskell library currently use JSON-RPC over HTTP to access node functionality. -- module Network.Ethereum.Web3 ( -- ** Monad as base of any Ethereum node communication Web3 , runWeb3 -- ** Basic transaction sending , sendTx , Call(..) -- ** Basic event listening , EventAction(..) , event , event' -- ** Primitive data types , Address , Bytes , BytesN , IntN , UIntN , ListN -- ** Metric unit system , module Network.Ethereum.Unit ) where import Network.Ethereum.ABI.Prim.Address (Address) import Network.Ethereum.ABI.Prim.Bool () import Network.Ethereum.ABI.Prim.Bytes (Bytes, BytesN) import Network.Ethereum.ABI.Prim.Int (IntN, UIntN) import Network.Ethereum.ABI.Prim.List (ListN) import Network.Ethereum.ABI.Prim.String () import Network.Ethereum.Contract.Event (EventAction (..), event, event') import Network.Ethereum.Contract.Method (sendTx) import Network.Ethereum.Unit import Network.Ethereum.Web3.Provider (Web3, runWeb3) import Network.Ethereum.Web3.Types (Call (..))