Home Reference Source Test
public class | source

LightConsensus

Extends:

ObservableBaseConsensus → LightConsensus

Constructor Summary

Public Constructor
public

constructor(blockchain: LightChain, mempool: Mempool, network: Network)

Member Summary

Public Members
public get
public get
public get

minFeePerByte: number

Method Summary

Public Methods
public

getAccounts(addresses: Array<Address>): Promise<Array<Account>>

public

getBlockTemplate(minerAddress: Address, extraData: Uint8Array): Promise<Block>

public
public

async getPendingTransactions(hashes: Array<Hash>): Promise<Array<Transaction>>

public

async getPendingTransactionsByAddress(address: Address): Promise<Array<Transaction>>

public

async sendTransaction(tx: Transaction): Promise<BaseConsensus.SendTransactionResult>

public

async submitBlock(block: Block): Promise<boolean>

public

subscribeMinFeePerByte(minFeePerByte: number)

Inherited Summary

From class Observable
public static get

WILDCARD: string: string

public

bubble(observable: Observable, types: ...string)

public

fire(type: string, args: ...*): Promise

public

off(type: string, id: number)

public

on(type: string, callback: Function): number

From class BaseConsensus
public get

established: boolean

public get
public get
protected

_established: boolean

public abstract

async getAccounts(addresses: Array<Address>): Promise<Array<Account>>

public

async getBlock(hash: Hash, includeBody: boolean, includeBodyFromLocal: boolean, blockHeight: number): Promise<Block>

public

async getBlockAt(height: number, includeBody: boolean): Promise<Block>

public

async getBlockTemplate(minerAddress: Address, extraData: Uint8Array): Promise<Block>

public

async getHeadHash(): Promise<Hash>

public

async getHeadHeight(): Promise<number>

public
public

getPendingTransactions(hashes: Array<Hash>): Promise<Array<Transaction>>

public

async getPendingTransactionsByAddress(address: Address): Promise<Array<Transaction>>

public
public
public

getTransactionReceiptsByHashes(hashes: Array<Hash>): Promise<Array<TransactionReceipt>>

public

async getTransactionsFromBlock(hashes: Array<Hash>, blockHash: Hash, blockHeight: number, block: Block): Promise<Array<Transaction>>

public

async getTransactionsFromBlockByAddresses(addresses: Array<Address>, blockHash: Hash, blockHeight: number): Promise<Array<Transaction>>

public
public abstract

async sendTransaction(tx: Transaction): Promise<BaseConsensus.SendTransactionResult>

public

async submitBlock(block: Block): Promise<boolean>

public

subscribe(subscription: Subscription)

protected
protected

_hasEnoughPeers(numSyncedFullNodes: number, numSyncedNodes: number): boolean

protected
protected
protected
protected

_onPeerLeft(peer: Peer)

protected
protected
protected

_onToDisconnect(obj: Observable, type: string, callback: function)

protected
protected
protected

async _requestBlockProof(blockHashToProve: Hash, blockHeightToProve: number): Promise<Block>

protected

async _requestBlockProofAt(blockHeightToProve: number): Promise<Block>

protected

async _requestTransactionHistory(address: Address): Promise<Array<{transaction: Transaction, header: BlockHeader}>>

this method was deprecated.
protected
protected

async _requestTransactionsByAddresses(addresses: Array<Address>, block: Block): Promise<Array<Transaction>>

protected

Public Constructors

public constructor(blockchain: LightChain, mempool: Mempool, network: Network) source

Override:

BaseConsensus#constructor

Params:

NameTypeAttributeDescription
blockchain LightChain
mempool Mempool
network Network

Public Members

public get blockchain: LightChain source

public get mempool: Mempool source

public get minFeePerByte: number source

Public Methods

public getAccounts(addresses: Array<Address>): Promise<Array<Account>> source

Override:

BaseConsensus#getAccounts

Params:

NameTypeAttributeDescription
addresses Array<Address>

Return:

Promise<Array<Account>>

public getBlockTemplate(minerAddress: Address, extraData: Uint8Array): Promise<Block> source

Override:

BaseConsensus#getBlockTemplate

Params:

NameTypeAttributeDescription
minerAddress Address
extraData Uint8Array
  • optional

Return:

Promise<Block>

public getMempoolContents(): Array<Transaction> source

Override:

BaseConsensus#getMempoolContents

Return:

Array<Transaction>

public async getPendingTransactions(hashes: Array<Hash>): Promise<Array<Transaction>> source

Override:

BaseConsensus#getPendingTransactions

Params:

NameTypeAttributeDescription
hashes Array<Hash>

Return:

Promise<Array<Transaction>>

public async getPendingTransactionsByAddress(address: Address): Promise<Array<Transaction>> source

Override:

BaseConsensus#getPendingTransactionsByAddress

Params:

NameTypeAttributeDescription
address Address

Return:

Promise<Array<Transaction>>

public async sendTransaction(tx: Transaction): Promise<BaseConsensus.SendTransactionResult> source

Override:

BaseConsensus#sendTransaction

Params:

NameTypeAttributeDescription
tx Transaction

Return:

Promise<BaseConsensus.SendTransactionResult>

public async submitBlock(block: Block): Promise<boolean> source

Override:

BaseConsensus#submitBlock

Params:

NameTypeAttributeDescription
block Block

Return:

Promise<boolean>

public subscribeMinFeePerByte(minFeePerByte: number) source

Params:

NameTypeAttributeDescription
minFeePerByte number