| Copyright | Alexander Krupenkin 2018 |
|---|---|
| License | BSD3 |
| Maintainer | mail@akru.me |
| Stability | experimental |
| Portability | unportable |
| Safe Haskell | None |
| Language | Haskell2010 |
Network.Ethereum.Account.Class
Description
Ethereum external owned account abstraction.
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
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
Arguments
| :: (JsonRpc m, Method args) | |
| => args | Contract method arguments |
| -> t m TxReceipt | Receipt of sended transaction |
Send transaction to contract, like a write command
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 # | |
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 # | |
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 # | |
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 # | |