Documentation
¶
Overview ¶
Package ledger provides interface to LedgerContract native contract. It allows to access ledger contents like transactions and blocks.
Index ¶
Constants ¶
const Hash = "\xbe\xf2\x04\x31\x40\x36\x2a\x77\xc1\x50\x99\xc7\xe6\x4c\x12\xf7\x00\xb6\x65\xda"
Hash represents Ledger contract hash.
Variables ¶
This section is empty.
Functions ¶
func CurrentHash ¶
CurrentHash represents `currentHash` method of Ledger native contract.
func CurrentIndex ¶
func CurrentIndex() int
CurrentIndex represents `currentIndex` method of Ledger native contract.
func GetTransactionHeight ¶
GetTransactionHeight represents `getTransactionHeight` method of Ledger native contract.
Types ¶
type Block ¶
type Block struct {
// Hash represents the hash (256 bit BE value in a 32 byte slice) of the
// given block.
Hash interop.Hash256
// Version of the block.
Version int
// PrevHash represents the hash (256 bit BE value in a 32 byte slice) of the
// previous block.
PrevHash interop.Hash256
// MerkleRoot represents the root hash (256 bit BE value in a 32 byte slice)
// of a transaction list.
MerkleRoot interop.Hash256
// Timestamp represents millisecond-precision block timestamp.
Timestamp int
// Index represents the height of the block.
Index int
// NextConsensus represents contract address of the next miner (160 bit BE
// value in a 20 byte slice).
NextConsensus interop.Hash160
// TransactionsLength represents the length of block's transactions array.
TransactionsLength int
}
Block represents a NEO block, it's a data structure that you can get block-related data from. It's similar to the Block class in the Neo .net framework. To use it you need to get it via GetBlock function call.
type Transaction ¶
type Transaction struct {
// Hash represents the hash (256 bit BE value in a 32 byte slice) of the
// given transaction (which also is its ID).
Hash interop.Hash256
// Version represents the transaction version.
Version int
// Nonce is a random number to avoid hash collision.
Nonce int
// Sender represents the sender (160 bit BE value in a 20 byte slice) of the
// given Transaction.
Sender interop.Hash160
// SysFee represents fee to be burned.
SysFee int
// NetFee represents fee to be distributed to consensus nodes.
NetFee int
// ValidUntilBlock is the maximum blockchain height exceeding which
// transaction should fail verification.
ValidUntilBlock int
// Script represents code to run in NeoVM for this transaction.
Script []byte
}
Transaction represents a NEO transaction. It's similar to Transaction class in Neo .net framework.
func GetTransaction ¶
func GetTransaction(hash interop.Hash256) *Transaction
GetTransaction represents `getTransaction` method of Ledger native contract.
func GetTransactionFromBlock ¶
func GetTransactionFromBlock(indexOrHash interface{}, txIndex int) *Transaction
GetTransactionFromBlock represents `getTransactionFromBlock` method of Ledger native contract.