Copyright | Alexander Krupenkin 2018 |
---|---|
License | BSD3 |
Maintainer | mail@akru.me |
Stability | experimental |
Portability | unportable |
Safe Haskell | None |
Language | Haskell2010 |
Ethereum external owned account abstraction.
Documentation
class MonadTrans t => Account a t | t -> a where Source #
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.
:: 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
:: (JsonRpc m, Method args) | |
=> args | Contract method arguments |
-> t m TxReceipt | Receipt of sended transaction |
Send transaction to contract, like a write
command
:: (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 Source # | |
Defined in Network.Ethereum.Account.Default withAccount :: JsonRpc m => () -> DefaultAccount m b -> m b Source # send :: (JsonRpc m, Method args) => args -> DefaultAccount m TxReceipt Source # call :: (JsonRpc m, Method args, AbiGet result) => args -> DefaultAccount m result Source # | |
Account Personal PersonalAccount Source # | |
Defined in Network.Ethereum.Account.Personal withAccount :: JsonRpc m => Personal -> PersonalAccount m b -> m b Source # send :: (JsonRpc m, Method args) => args -> PersonalAccount m TxReceipt Source # call :: (JsonRpc m, Method args, AbiGet result) => args -> PersonalAccount m result Source # | |
Account LocalKey LocalKeyAccount Source # | |
Defined in Network.Ethereum.Account.LocalKey withAccount :: JsonRpc m => LocalKey -> LocalKeyAccount m b -> m b Source # send :: (JsonRpc m, Method args) => args -> LocalKeyAccount m TxReceipt Source # call :: (JsonRpc m, Method args, AbiGet result) => args -> LocalKeyAccount m result Source # |