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, 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) GetFilterType(id int) byte
- 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) bool
- func (self *XEth) SetSolc(solcPath string) (*compiler.Solidity, 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 ¶ added in v0.8.4
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 ¶ added in v0.8.4
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 ¶ added in v0.8.4
type Object ¶
type Object struct {
*state.StateObject
}
func NewObject ¶ added in v0.8.4
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 ¶ added in v0.8.4
type Receipt ¶ added in v0.8.4
type Receipt struct { CreatedContract bool `json:"createdContract"` Address string `json:"address"` Hash string `json:"hash"` Sender string `json:"sender"` }
func NewReciept ¶ added in v0.8.4
type Transaction ¶ added in v0.8.4
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 ¶ added in v0.8.4
func NewTx(tx *types.Transaction) *Transaction
func (*Transaction) ToString ¶ added in v0.8.4
func (self *Transaction) ToString() string
type Whisper ¶ added in v0.8.4
Whisper represents the API wrapper around the internal whisper implementation.
func NewWhisper ¶ added in v0.8.4
NewWhisper wraps an internal whisper client into an external API version.
func (*Whisper) HasIdentity ¶ added in v0.8.4
HasIdentity checks if the the whisper node is configured with the private key of the specified public pair.
func (*Whisper) Messages ¶ added in v0.8.4
func (self *Whisper) Messages(id int) []WhisperMessage
Messages retrieves all the currently pooled messages matching a filter id.
func (*Whisper) NewIdentity ¶ added in v0.8.4
NewIdentity generates a new cryptographic identity for the client, and injects it into the known identities for message decryption.
type WhisperMessage ¶ added in v0.8.4
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 ¶ added in v0.8.4
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 ¶ added in v0.8.4
func (*XEth) BlockByNumber ¶ added in v0.8.4
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 ¶ added in v0.8.4
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 ¶ added in v0.8.4
func (*XEth) GetFilterType ¶ added in v0.9.17
func (*XEth) IsContract ¶ added in v0.8.4
func (*XEth) IsListening ¶ added in v0.8.4
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 ¶ added in v0.8.4
func (*XEth) RemoteMining ¶ added in v0.9.17
func (self *XEth) RemoteMining() *miner.RemoteAgent
func (*XEth) SecretToAddress ¶ added in v0.8.4
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