Documentation ¶
Index ¶
- Constants
- Variables
- func AddressToString(address Address) string
- func EncodeBigInt(b *big.Int) *string
- func EncodeBytes(b []byte) *string
- func EncodeUint64(b uint64) *string
- func MarshalRLPTo(obj marshalRLPFunc, dst []byte) []byte
- func ParseBytes(val *string) ([]byte, error)
- func ParseInt64orHex(val *string) (int64, error)
- func ParseUint256orHex(val *string) (*big.Int, error)
- func ParseUint64orHex(val *string) (uint64, error)
- func UnmarshalRlp(obj unmarshalRLPFunc, input []byte) error
- type Address
- type Block
- func (b *Block) Body() *Body
- func (b *Block) Hash() Hash
- func (b *Block) MarshalRLP() []byte
- func (b *Block) MarshalRLPTo(dst []byte) []byte
- func (b *Block) MarshalRLPWith(ar *fastrlp.Arena) *fastrlp.Value
- func (b *Block) Number() uint64
- func (b *Block) ParentHash() Hash
- func (b *Block) Size() uint64
- func (b *Block) String() string
- func (b *Block) UnmarshalRLP(input []byte) error
- func (b *Block) UnmarshalRLPFrom(p *fastrlp.Parser, v *fastrlp.Value) error
- func (b *Block) WithSeal(header *Header) *Block
- type Bloom
- type Body
- type Hash
- type Header
- func (h *Header) ComputeHash() *Header
- func (h *Header) Copy() *Header
- func (h *Header) Equal(hh *Header) bool
- func (h *Header) HasBody() bool
- func (h *Header) HasReceipts() bool
- func (h *Header) MarshalRLP() []byte
- func (h *Header) MarshalRLPTo(dst []byte) []byte
- func (h *Header) MarshalRLPWith(arena *fastrlp.Arena) *fastrlp.Value
- func (h *Header) SetNonce(i uint64)
- func (h *Header) UnmarshalRLP(input []byte) error
- func (h *Header) UnmarshalRLPFrom(p *fastrlp.Parser, v *fastrlp.Value) error
- type Log
- type Nonce
- type RLPMarshaler
- type RLPStoreMarshaler
- type RLPStoreUnmarshaler
- type RLPUnmarshaler
- type Receipt
- func (r *Receipt) MarshalLogsWith(a *fastrlp.Arena) *fastrlp.Value
- func (r *Receipt) MarshalRLP() []byte
- func (r *Receipt) MarshalRLPTo(dst []byte) []byte
- func (r *Receipt) MarshalRLPWith(a *fastrlp.Arena) *fastrlp.Value
- func (r *Receipt) MarshalStoreRLPTo(dst []byte) []byte
- func (r *Receipt) MarshalStoreRLPWith(a *fastrlp.Arena) *fastrlp.Value
- func (r *Receipt) SetStatus(s ReceiptStatus)
- func (r *Receipt) UnmarshalRLP(input []byte) error
- func (r *Receipt) UnmarshalRLPFrom(p *fastrlp.Parser, v *fastrlp.Value) error
- func (r *Receipt) UnmarshalStoreRLP(input []byte) error
- func (r *Receipt) UnmarshalStoreRLPFrom(p *fastrlp.Parser, v *fastrlp.Value) error
- type ReceiptStatus
- type Receipts
- func (r Receipts) MarshalRLPTo(dst []byte) []byte
- func (r *Receipts) MarshalRLPWith(a *fastrlp.Arena) *fastrlp.Value
- func (r Receipts) MarshalStoreRLPTo(dst []byte) []byte
- func (r *Receipts) MarshalStoreRLPWith(a *fastrlp.Arena) *fastrlp.Value
- func (r *Receipts) UnmarshalRLP(input []byte) error
- func (r *Receipts) UnmarshalRLPFrom(p *fastrlp.Parser, v *fastrlp.Value) error
- func (r *Receipts) UnmarshalStoreRLP(input []byte) error
- func (r *Receipts) UnmarshalStoreRLPFrom(p *fastrlp.Parser, v *fastrlp.Value) error
- type Transaction
- func (t *Transaction) ComputeHash() *Transaction
- func (t *Transaction) Copy() *Transaction
- func (t *Transaction) Cost() *big.Int
- func (t *Transaction) ExceedsBlockGasLimit(blockGasLimit uint64) bool
- func (t *Transaction) IsContractCreation() bool
- func (t *Transaction) IsUnderpriced(priceLimit uint64) bool
- func (t *Transaction) MarshalRLP() []byte
- func (t *Transaction) MarshalRLPTo(dst []byte) []byte
- func (t *Transaction) MarshalRLPWith(arena *fastrlp.Arena) *fastrlp.Value
- func (t *Transaction) MarshalStoreRLPTo(dst []byte) []byte
- func (t *Transaction) MarshalStoreRLPWith(a *fastrlp.Arena) *fastrlp.Value
- func (t *Transaction) Size() uint64
- func (t *Transaction) UnmarshalRLP(input []byte) error
- func (t *Transaction) UnmarshalRLPFrom(p *fastrlp.Parser, v *fastrlp.Value) error
- func (t *Transaction) UnmarshalStoreRLP(input []byte) error
- func (t *Transaction) UnmarshalStoreRLPFrom(p *fastrlp.Parser, v *fastrlp.Value) error
Constants ¶
const ( HashLength = 32 AddressLength = 20 )
const BloomByteLength = 256
Variables ¶
var ( // EmptyRootHash is the root when there are no transactions EmptyRootHash = StringToHash("0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421") // EmptyUncleHash is the root when there are no uncles EmptyUncleHash = StringToHash("0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347") )
var (
GasCap = big.NewInt(5000000)
)
var HeaderHash func(h *Header) Hash
var ZeroAddress = Address{}
var ZeroHash = Hash{}
Functions ¶
func AddressToString ¶
func EncodeBigInt ¶
func EncodeBytes ¶
func EncodeUint64 ¶
func MarshalRLPTo ¶
func ParseBytes ¶
func ParseInt64orHex ¶
func ParseUint64orHex ¶
func UnmarshalRlp ¶
Types ¶
type Address ¶
type Address [AddressLength]byte
func BytesToAddress ¶
func StringToAddress ¶
func (Address) MarshalText ¶
func (*Address) UnmarshalText ¶
UnmarshalText parses an address in hex syntax.
type Block ¶
type Block struct { Header *Header Transactions []*Transaction Uncles []*Header // contains filtered or unexported fields }
func (*Block) MarshalRLP ¶
func (*Block) MarshalRLPTo ¶
func (*Block) ParentHash ¶
func (*Block) UnmarshalRLP ¶
func (*Block) UnmarshalRLPFrom ¶
type Bloom ¶
type Bloom [BloomByteLength]byte
func CreateBloom ¶
CreateBloom creates a new bloom filter from a set of receipts
func (*Bloom) IsLogInBloom ¶
IsLogInBloom checks if the log has a possible presence in the bloom filter
func (Bloom) MarshalText ¶
MarshalText implements encoding.TextMarshaler
func (*Bloom) UnmarshalText ¶
type Body ¶
type Body struct { Transactions []*Transaction Uncles []*Header }
func (*Body) MarshalRLPTo ¶
func (*Body) UnmarshalRLP ¶
type Hash ¶
type Hash [HashLength]byte
func BytesToHash ¶
func StringToHash ¶
func (Hash) MarshalText ¶
func (*Hash) UnmarshalText ¶
UnmarshalText parses a hash in hex syntax.
type Header ¶
type Header struct { ParentHash Hash Sha3Uncles Hash Miner Address StateRoot Hash TxRoot Hash ReceiptsRoot Hash LogsBloom Bloom Difficulty uint64 Number uint64 GasLimit uint64 GasUsed uint64 Timestamp uint64 ExtraData []byte MixHash Hash Nonce Nonce Hash Hash }
Header represents a block header in the Ethereum blockchain.
func (*Header) ComputeHash ¶
ComputeHash computes the hash of the header
func (*Header) HasReceipts ¶
func (*Header) MarshalRLP ¶
func (*Header) MarshalRLPTo ¶
func (*Header) MarshalRLPWith ¶
MarshalRLPWith marshals the header to RLP with a specific fastrlp.Arena
func (*Header) UnmarshalRLP ¶
type Nonce ¶
type Nonce [8]byte
func (Nonce) MarshalText ¶
MarshalText implements encoding.TextMarshaler
type RLPMarshaler ¶
type RLPStoreMarshaler ¶
type RLPStoreUnmarshaler ¶
type RLPUnmarshaler ¶
type Receipt ¶
type Receipt struct { // consensus fields Root Hash CumulativeGasUsed uint64 LogsBloom Bloom Logs []*Log Status *ReceiptStatus // context fields GasUsed uint64 ContractAddress Address TxHash Hash }
func (*Receipt) MarshalLogsWith ¶
MarshalLogsWith marshals the logs of the receipt to RLP with a specific fastrlp.Arena
func (*Receipt) MarshalRLP ¶
func (*Receipt) MarshalRLPTo ¶
func (*Receipt) MarshalRLPWith ¶
MarshalRLPWith marshals a receipt with a specific fastrlp.Arena
func (*Receipt) MarshalStoreRLPTo ¶
func (*Receipt) MarshalStoreRLPWith ¶
func (*Receipt) SetStatus ¶
func (r *Receipt) SetStatus(s ReceiptStatus)
func (*Receipt) UnmarshalRLP ¶
func (*Receipt) UnmarshalRLPFrom ¶
UnmarshalRLP unmarshals a Receipt in RLP format
func (*Receipt) UnmarshalStoreRLP ¶
type ReceiptStatus ¶
type ReceiptStatus uint64
const ( ReceiptFailed ReceiptStatus = iota ReceiptSuccess )
type Receipts ¶
type Receipts []*Receipt
func (Receipts) MarshalRLPTo ¶
func (*Receipts) MarshalRLPWith ¶
func (Receipts) MarshalStoreRLPTo ¶
func (*Receipts) MarshalStoreRLPWith ¶
func (*Receipts) UnmarshalRLP ¶
func (*Receipts) UnmarshalRLPFrom ¶
func (*Receipts) UnmarshalStoreRLP ¶
type Transaction ¶
type Transaction struct { Nonce uint64 GasPrice *big.Int Gas uint64 To *Address Value *big.Int Input []byte V *big.Int R *big.Int S *big.Int Hash Hash From Address // contains filtered or unexported fields }
func (*Transaction) ComputeHash ¶
func (t *Transaction) ComputeHash() *Transaction
ComputeHash computes the hash of the transaction
func (*Transaction) Copy ¶
func (t *Transaction) Copy() *Transaction
func (*Transaction) Cost ¶
func (t *Transaction) Cost() *big.Int
Cost returns gas * gasPrice + value
func (*Transaction) ExceedsBlockGasLimit ¶
func (t *Transaction) ExceedsBlockGasLimit(blockGasLimit uint64) bool
func (*Transaction) IsContractCreation ¶
func (t *Transaction) IsContractCreation() bool
func (*Transaction) IsUnderpriced ¶
func (t *Transaction) IsUnderpriced(priceLimit uint64) bool
func (*Transaction) MarshalRLP ¶
func (t *Transaction) MarshalRLP() []byte
func (*Transaction) MarshalRLPTo ¶
func (t *Transaction) MarshalRLPTo(dst []byte) []byte
func (*Transaction) MarshalRLPWith ¶
func (t *Transaction) MarshalRLPWith(arena *fastrlp.Arena) *fastrlp.Value
MarshalRLPWith marshals the transaction to RLP with a specific fastrlp.Arena
func (*Transaction) MarshalStoreRLPTo ¶
func (t *Transaction) MarshalStoreRLPTo(dst []byte) []byte
func (*Transaction) MarshalStoreRLPWith ¶
func (t *Transaction) MarshalStoreRLPWith(a *fastrlp.Arena) *fastrlp.Value
func (*Transaction) Size ¶
func (t *Transaction) Size() uint64
func (*Transaction) UnmarshalRLP ¶
func (t *Transaction) UnmarshalRLP(input []byte) error
func (*Transaction) UnmarshalRLPFrom ¶
UnmarshalRLP unmarshals a Transaction in RLP format
func (*Transaction) UnmarshalStoreRLP ¶
func (t *Transaction) UnmarshalStoreRLP(input []byte) error