Documentation ¶
Overview ¶
eXtended ETHereum
Index ¶
- Constants
- func DefaultGas() *big.Int
- func DefaultGasPrice() *big.Int
- type Block
- type Frontend
- type Key
- type KeyVal
- type Object
- type PReceipt
- type Peer
- type Receipt
- type State
- type Transaction
- type Whisper
- func (self *Whisper) HasIdentity(key string) bool
- func (self *Whisper) Messages(id int) []WhisperMessage
- func (self *Whisper) NewIdentity() string
- func (self *Whisper) Post(payload string, to, from string, topics []string, priority, ttl uint32) error
- func (self *Whisper) Watch(to, from string, topics [][]string, fn func(WhisperMessage)) int
- type WhisperMessage
- type XEth
- func (self *XEth) Accounts() []string
- func (self *XEth) AllLogs(earliest, latest int64, skip, max int, address []string, topics [][]string) state.Logs
- func (self *XEth) ApplyTestTxs(statedb *state.StateDB, address common.Address, txc uint64) (uint64, *XEth)
- func (self *XEth) AtStateNum(num int64) *XEth
- func (self *XEth) BalanceAt(addr string) string
- func (self *XEth) Block(v interface{}) *Block
- func (self *XEth) BlockByHash(strHash string) *Block
- func (self *XEth) BlockByNumber(num int64) *Block
- func (self *XEth) BlockFilterChanged(id int) []common.Hash
- func (self *XEth) Call(fromStr, toStr, valueStr, gasStr, gasPriceStr, dataStr string) (string, string, error)
- func (self *XEth) ClientVersion() string
- func (self *XEth) CodeAt(address string) string
- func (self *XEth) CodeAtBytes(address string) []byte
- func (self *XEth) Coinbase() string
- func (self *XEth) ConfirmTransaction(tx string) bool
- func (self *XEth) CurrentBlock() *types.Block
- func (self *XEth) DbGet(key []byte) ([]byte, error)
- func (self *XEth) DbPut(key, val []byte) bool
- func (self *XEth) EachStorage(addr string) string
- func (self *XEth) EthBlockByHash(strHash string) *types.Block
- func (self *XEth) EthBlockByNumber(num int64) *types.Block
- func (self *XEth) EthTransactionByHash(hash string) (tx *types.Transaction, blhash common.Hash, blnum *big.Int, txi uint64)
- func (self *XEth) EthVersion() string
- func (self *XEth) FromAscii(str string) string
- func (self *XEth) FromNumber(str string) string
- func (self *XEth) GasLimit() *big.Int
- func (self *XEth) GetBlockReceipts(bhash common.Hash) (receipts types.Receipts, err error)
- func (self *XEth) GetFilterType(id int) byte
- func (self *XEth) GetTxReceipt(txhash common.Hash) (receipt *types.Receipt, err error)
- func (self *XEth) HashRate() int64
- func (self *XEth) IsContract(address string) bool
- func (self *XEth) IsListening() bool
- func (self *XEth) IsMining() bool
- func (self *XEth) LogFilterChanged(id int) state.Logs
- func (self *XEth) Logs(id int) state.Logs
- func (self *XEth) NetworkVersion() string
- func (self *XEth) NewBlockFilter() int
- func (self *XEth) NewLogFilter(earliest, latest int64, skip, max int, address []string, topics [][]string) int
- func (self *XEth) NewTransactionFilter() int
- func (p *XEth) NewWhisperFilter(to, from string, topics [][]string) int
- func (self *XEth) NumberToHuman(balance string) string
- func (self *XEth) PeerCount() int
- func (self *XEth) PushTx(encodedTx string) (string, error)
- func (self *XEth) RemoteMining() *miner.RemoteAgent
- func (self *XEth) SecretToAddress(key string) string
- func (self *XEth) SetMining(shouldmine bool, threads int) bool
- func (self *XEth) SetSolc(solcPath string) (*compiler.Solidity, error)
- func (self *XEth) Sign(fromStr, hashStr string, didUnlock bool) (string, error)
- func (self *XEth) Solc() (*compiler.Solidity, error)
- func (self *XEth) State() *State
- func (self *XEth) StorageAt(addr, storageAddr string) string
- func (self *XEth) ToAscii(str string) string
- func (self *XEth) Transact(fromStr, toStr, nonceStr, valueStr, gasStr, gasPriceStr, codeStr string) (string, error)
- func (self *XEth) TransactionFilterChanged(id int) []common.Hash
- func (self *XEth) TxCountAt(address string) int
- func (self *XEth) UninstallFilter(id int) bool
- func (p *XEth) UninstallWhisperFilter(id int) bool
- func (self *XEth) UpdateState() (wait chan *big.Int)
- func (self *XEth) Whisper() *Whisper
- func (self *XEth) WhisperMessages(id int) []WhisperMessage
- func (self *XEth) WhisperMessagesChanged(id int) []WhisperMessage
- func (self *XEth) WhisperVersion() string
- func (self *XEth) WithState(statedb *state.StateDB) *XEth
Constants ¶
const ( UnknownFilterTy = iota BlockFilterTy TransactionFilterTy LogFilterTy )
byte will be inferred
Variables ¶
This section is empty.
Functions ¶
func DefaultGas ¶ added in v0.9.17
func DefaultGasPrice ¶ added in v0.9.17
Types ¶
type Block ¶
type Block struct { Size string `json:"size"` Number int `json:"number"` Hash string `json:"hash"` Transactions *common.List `json:"transactions"` Uncles *common.List `json:"uncles"` Time int64 `json:"time"` Coinbase string `json:"coinbase"` Name string `json:"name"` GasLimit string `json:"gasLimit"` GasUsed string `json:"gasUsed"` PrevHash string `json:"prevHash"` Bloom string `json:"bloom"` Raw string `json:"raw"` // contains filtered or unexported fields }
Block interface exposed to QML
func (*Block) GetTransaction ¶
func (self *Block) GetTransaction(hash string) *Transaction
type Frontend ¶ added in v0.9.17
type Frontend interface { // UnlockAccount is called when a transaction needs to be signed // but the key corresponding to the transaction's sender is // locked. // // It should unlock the account with the given address and return // true if unlocking succeeded. UnlockAccount(address []byte) bool // This is called for all transactions inititated through // Transact. It should prompt the user to confirm the transaction // and return true if the transaction was acknowledged. // // ConfirmTransaction is not used for Call transactions // because they cannot change any state. ConfirmTransaction(tx string) bool }
Frontend should be implemented by users of XEth. Its methods are called whenever XEth makes a decision that requires user input.
type Key ¶
type Object ¶
type Object struct {
*state.StateObject
}
func NewObject ¶
func NewObject(state *state.StateObject) *Object
type PReceipt ¶
type PReceipt struct { CreatedContract bool `json:"createdContract"` Address string `json:"address"` Hash string `json:"hash"` Sender string `json:"sender"` }
func NewPReciept ¶
type Peer ¶
type Receipt ¶
type Receipt struct { CreatedContract bool `json:"createdContract"` Address string `json:"address"` Hash string `json:"hash"` Sender string `json:"sender"` }
func NewReciept ¶
type Transaction ¶
type Transaction struct { Value string `json:"value"` Gas string `json:"gas"` GasPrice string `json:"gasPrice"` Hash string `json:"hash"` Address string `json:"address"` Sender string `json:"sender"` RawData string `json:"rawData"` Data string `json:"data"` Contract bool `json:"isContract"` CreatesContract bool `json:"createsContract"` Confirmations int `json:"confirmations"` // contains filtered or unexported fields }
func NewTx ¶
func NewTx(tx *types.Transaction) *Transaction
func (*Transaction) ToString ¶
func (self *Transaction) ToString() string
type Whisper ¶
Whisper represents the API wrapper around the internal whisper implementation.
func NewWhisper ¶
NewWhisper wraps an internal whisper client into an external API version.
func (*Whisper) HasIdentity ¶
HasIdentity checks if the the whisper node is configured with the private key of the specified public pair.
func (*Whisper) Messages ¶
func (self *Whisper) Messages(id int) []WhisperMessage
Messages retrieves all the currently pooled messages matching a filter id.
func (*Whisper) NewIdentity ¶
NewIdentity generates a new cryptographic identity for the client, and injects it into the known identities for message decryption.
type WhisperMessage ¶
type WhisperMessage struct { Payload string `json:"payload"` To string `json:"to"` From string `json:"from"` Sent int64 `json:"sent"` TTL int64 `json:"ttl"` Hash string `json:"hash"` // contains filtered or unexported fields }
WhisperMessage is the external API representation of a whisper.Message.
func NewWhisperMessage ¶
func NewWhisperMessage(message *whisper.Message) WhisperMessage
NewWhisperMessage converts an internal message into an API version.
type XEth ¶
type XEth struct {
// contains filtered or unexported fields
}
func New ¶
New creates an XEth that uses the given frontend. If a nil Frontend is provided, a default frontend which confirms all transactions will be used.
func (*XEth) ApplyTestTxs ¶ added in v0.9.17
func (self *XEth) ApplyTestTxs(statedb *state.StateDB, address common.Address, txc uint64) (uint64, *XEth)
applies queued transactions originating from address onto the latest state and creates a block only used in tests - could be removed in favour of mining on testdag (natspec e2e + networking) + filters
func (*XEth) AtStateNum ¶ added in v0.9.17
func (*XEth) BlockByHash ¶
func (*XEth) BlockByNumber ¶
func (*XEth) BlockFilterChanged ¶ added in v0.9.17
func (*XEth) ClientVersion ¶ added in v0.9.17
func (*XEth) CodeAtBytes ¶ added in v0.9.17
func (*XEth) ConfirmTransaction ¶ added in v0.9.17
func (*XEth) CurrentBlock ¶ added in v0.9.17
func (*XEth) EachStorage ¶
func (*XEth) EthBlockByHash ¶ added in v0.9.17
func (*XEth) EthBlockByNumber ¶ added in v0.9.17
func (*XEth) EthTransactionByHash ¶ added in v0.9.17
func (*XEth) EthVersion ¶ added in v0.9.17
func (*XEth) FromNumber ¶
func (*XEth) GetBlockReceipts ¶ added in v0.9.25
func (*XEth) GetFilterType ¶ added in v0.9.17
func (*XEth) GetTxReceipt ¶ added in v0.9.25
func (*XEth) IsContract ¶
func (*XEth) IsListening ¶
func (*XEth) LogFilterChanged ¶ added in v0.9.17
func (*XEth) NetworkVersion ¶ added in v0.9.17
func (*XEth) NewBlockFilter ¶ added in v0.9.17
func (*XEth) NewLogFilter ¶ added in v0.9.17
func (*XEth) NewTransactionFilter ¶ added in v0.9.17
func (*XEth) NewWhisperFilter ¶ added in v0.9.17
NewWhisperFilter creates and registers a new message filter to watch for inbound whisper messages. All parameters at this point are assumed to be HEX encoded.
func (*XEth) NumberToHuman ¶
func (*XEth) RemoteMining ¶ added in v0.9.17
func (self *XEth) RemoteMining() *miner.RemoteAgent
func (*XEth) SecretToAddress ¶
func (*XEth) SetSolc ¶ added in v0.9.17
set in js console via admin interface or wrapper from cli flags
func (*XEth) Solc ¶ added in v0.9.17
accessor for solidity compiler. memoized if available, retried on-demand if not
func (*XEth) TransactionFilterChanged ¶ added in v0.9.17
func (*XEth) UninstallFilter ¶ added in v0.9.17
func (*XEth) UninstallWhisperFilter ¶ added in v0.9.17
UninstallWhisperFilter disables and removes an existing filter.
func (*XEth) UpdateState ¶ added in v0.9.17
subscribes to new head block events and waits until blockchain height is greater n at any time given the current head, waits for the next chain event sets the state to the current head loop is async and quit by closing the channel used in tests and JS console debug module to control advancing private chain manually Note: this is not threadsafe, only called in JS single process and tests
func (*XEth) WhisperMessages ¶ added in v0.9.17
func (self *XEth) WhisperMessages(id int) []WhisperMessage
WhisperMessages retrieves all the known messages that match a specific filter.
func (*XEth) WhisperMessagesChanged ¶ added in v0.9.17
func (self *XEth) WhisperMessagesChanged(id int) []WhisperMessage
WhisperMessagesChanged retrieves all the new messages matched by a filter since the last retrieval