web3-0.8.3.1: Ethereum API for Haskell

CopyrightAlexander Krupenkin 2018
LicenseBSD3
Maintainermail@akru.me
Stabilityexperimental
Portabilityunportable
Safe HaskellNone
LanguageHaskell2010

Network.Ethereum.Account.Class

Description

Ethereum external owned account abstraction.

Synopsis

Documentation

class MonadTrans t => Account a t | t -> a where #

Account is needed for sending transactions to blockchain

Typically account is provided by node. In this case node manage accounts: encrypt and decrypt private keys, manipulate files etc. In other case web3 can derive account from private key and send to node already signed transactions.

Methods

withAccount #

Arguments

:: JsonRpc m 
=> a

Account params (like a password or private key)

-> t m b

Computation that use account for sending transactions

-> m b

Json-rpc monad

Run computation with given account credentials

send #

Arguments

:: (JsonRpc m, Method args) 
=> args

Contract method arguments

-> t m TxReceipt

Receipt of sended transaction

Send transaction to contract, like a write command

call #

Arguments

:: (JsonRpc m, Method args, AbiGet result) 
=> args

Contact method arguments

-> t m result

Decoded result of method call

Call constant method of contract, like a read command

Instances
Account () DefaultAccount # 
Instance details

Defined in Network.Ethereum.Account.Default

Methods

withAccount :: JsonRpc m => () -> DefaultAccount m b -> m b #

send :: (JsonRpc m, Method args) => args -> DefaultAccount m TxReceipt #

call :: (JsonRpc m, Method args, AbiGet result) => args -> DefaultAccount m result #

Account Personal PersonalAccount # 
Instance details

Defined in Network.Ethereum.Account.Personal

Methods

withAccount :: JsonRpc m => Personal -> PersonalAccount m b -> m b #

send :: (JsonRpc m, Method args) => args -> PersonalAccount m TxReceipt #

call :: (JsonRpc m, Method args, AbiGet result) => args -> PersonalAccount m result #

Account LocalKey LocalKeyAccount # 
Instance details

Defined in Network.Ethereum.Account.LocalKey

Methods

withAccount :: JsonRpc m => LocalKey -> LocalKeyAccount m b -> m b #

send :: (JsonRpc m, Method args) => args -> LocalKeyAccount m TxReceipt #

call :: (JsonRpc m, Method args, AbiGet result) => args -> LocalKeyAccount m result #