Home Reference Source Repository

Function

Static Public Summary
public

BlockError(text: *)

public

MinerWarning(text: *)

public

allow retry upto "amount" times

public

block(transactions: *, lastBlock: *, address: *): index, prevHash, time, transactions, nonce

Create new block

public

Get hash difficulty from block

public

Generate block hash

public

async calculateHash(block: *): *

public

clientResponse(objectPattern: {"type": *, "name": *, "data": *}, encoding: string): *

public

connect(addresses: *[])

public

async connectBootstrap(addresses: *)

public

controller(ipfs: *)

public

async core(objectPattern: {"genesis": *})

public

async corerequests(objectPattern: {"type": *, "name": *, "params": *}): *

public

createDAGNode(objectPattern: {"index": *, "prevHash": *, "time": *, "transactions": *, "nonce": *}): *

public

createNewAddress(name: *)

public

createRewardTransaction(address: string): id: string, reward: boolean, inputs: *, outputs: *, hash: string

Create reward transaction for block mining

public

debug(text: *)

public

difficulty(): *

public

difficulty(hash: *): number

Get hash difficulty

public

fail(text: *)

public

Create genesis block

public

getBalanceForAddress(address: *): *

public

getDifficulty(hash: *): Number

Get hash difficulty

public

getTransactions(withMempool: boolean): *

public

getTransactionsForAddress(address: *): *

public

getUnspent(withMempool: boolean): *

public

getUnspentForAddress(address: *): *

public

groupCollapsed(text: *, cb: *)

public

hashLog(nonce: *): *

public

hashes(nonce: *): *

public

hexFromMultihash(multihash: *): *

public

id()

public

interval(cb: *, ms: number)

public

ipfskeepalive(published: *, ipfs: *, cb: *)

public

ipfsstar(): {"stop": *, "peers": *}

public

async lastBlock(): *

public
public

log(text: *)

public
public

median(array: *): *

public

multihashFromHex(hex: *): *

public

net(): *

public

async networkAddress(net: *): *

public

async newGenesisDAGNode(difficulty: *): *

Create a new genesis block

public

async newGenesisDAGNode(difficulty: *): *

Create a new genesis block

public

newWallet(name: string)

public

async nextBlock(address: *): *

public

Get the transactions for the next Block

public
public

socketserver(httpServer: *)

public

succes(text: *)

public

async textlog(text: *)

public

timeout(ms: number, cb: *)

public

transactionHash(transaction: object): *

Generate transaction hash

public

transactionInputHash(transactionInput: object): *

Generate transaction input hash

public

transformBlock(objectPattern: {"multihash": *, "data": *}): *

public

async validate(previousBlock: object, block: object, difficulty: number, unspent: number): *

validate block

public

validateBlock(previousBlock: object, block: object, difficulty: number, unspent: number): *

validate block

public

validateTransaction(transaction: *, unspent: *): boolean

validate transaction

public

validateTransactions(transactions: array, unspent: *)

validate transactions list for current block

Static Public

public BlockError(text: *) source

import {BlockError} from 'leofcoin-core/src/lib/errors.js'

Params:

NameTypeAttributeDescription
text *

public MinerWarning(text: *) source

import {MinerWarning} from 'leofcoin-core/src/lib/errors.js'

Params:

NameTypeAttributeDescription
text *

public allowFailureUntillEnough(amount: number) source

import {allowFailureUntillEnough} from 'leofcoin-core/src/utils.js'

allow retry upto "amount" times

Params:

NameTypeAttributeDescription
amount number

public block(transactions: *, lastBlock: *, address: *): index, prevHash, time, transactions, nonce source

Create new block

Params:

NameTypeAttributeDescription
transactions *

{array}

lastBlock *

{object}

address *

{string}

Return:

index, prevHash, time, transactions, nonce

public blockDifficulty(hash: *): number source

import {blockDifficulty} from 'leofcoin-core/src/lib/ccp-block.js'

Get hash difficulty from block

Params:

NameTypeAttributeDescription
hash *

Return:

number

public calculateBlockHash(block: object): * source

import {calculateBlockHash} from 'leofcoin-core/src/lib/hash.js'

Generate block hash

Params:

NameTypeAttributeDescription
block object

{index, prevHash, time, transactions, nonce}

Return:

*

public async calculateHash(block: *): * source

import {calculateHash} from 'leofcoin-core/src/lib/dagchain/dagblock.js'

Params:

NameTypeAttributeDescription
block *

Return:

*

public clientResponse(objectPattern: {"type": *, "name": *, "data": *}, encoding: string): * source

import {clientResponse} from 'leofcoin-core/src/server/socket-server.js'

Params:

NameTypeAttributeDescription
objectPattern {"type": *, "name": *, "data": *}
  • default: {"type":null,"name":null,"data":null}
encoding string
  • optional
  • default: utf8

Return:

*

public connect(addresses: *[]) source

Params:

NameTypeAttributeDescription
addresses *[]
  • optional
  • default: []

public async connectBootstrap(addresses: *) source

import {connectBootstrap} from 'leofcoin-core/src/lib/network/peernet.js'

Params:

NameTypeAttributeDescription
addresses *

public controller(ipfs: *) source

import controller from 'leofcoin-core/src/controller.js'

Params:

NameTypeAttributeDescription
ipfs *

public async core(objectPattern: {"genesis": *}) source

import {core} from 'leofcoin-core/src/core.js'

Params:

NameTypeAttributeDescription
objectPattern {"genesis": *}
  • default: {"genesis":null}

public async corerequests(objectPattern: {"type": *, "name": *, "params": *}): * source

Params:

NameTypeAttributeDescription
objectPattern {"type": *, "name": *, "params": *}
  • default: {"type":null,"name":null,"params":null}

Return:

*

public createDAGNode(objectPattern: {"index": *, "prevHash": *, "time": *, "transactions": *, "nonce": *}): * source

import {createDAGNode} from 'leofcoin-core/src/lib/dagchain/dagblock.js'

Params:

NameTypeAttributeDescription
objectPattern {"index": *, "prevHash": *, "time": *, "transactions": *, "nonce": *}
  • default: {"index":null,"prevHash":null,"time":null,"transactions":null,"nonce":null}

Return:

*

public createNewAddress(name: *) source

import {createNewAddress} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
name *
  • optional

public createRewardTransaction(address: string): id: string, reward: boolean, inputs: *, outputs: *, hash: string source

import {createRewardTransaction} from 'leofcoin-core/src/lib/transaction.js'

Create reward transaction for block mining

Params:

NameTypeAttributeDescription
address string

Return:

id: string, reward: boolean, inputs: *, outputs: *, hash: string

public debug(text: *) source

import {debug} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
text *

public difficulty(): * source

Return:

*

public difficulty(hash: *): number source

import {difficulty} from 'leofcoin-core/src/lib/ccp-block.js'

Get hash difficulty

Params:

NameTypeAttributeDescription
hash *

Return:

number

public fail(text: *) source

import {fail} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
text *

public genesisBlock(): object source

import {genesisBlock} from 'leofcoin-core/src/lib/ccp-block.js'

Create genesis block

Return:

object

{index, prevHash, time, transactions, nonce}

public getBalanceForAddress(address: *): * source

import {getBalanceForAddress} from 'leofcoin-core/src/lib/dagchain/dagchain-interface.js'

Params:

NameTypeAttributeDescription
address *

Return:

*

public getDifficulty(hash: *): Number source

import {getDifficulty} from 'leofcoin-core/src/utils.js'

Get hash difficulty

Params:

NameTypeAttributeDescription
hash *

Return:

Number

public getTransactions(withMempool: boolean): * source

Params:

NameTypeAttributeDescription
withMempool boolean
  • optional
  • default: true

Return:

*

public getTransactionsForAddress(address: *): * source

import {getTransactionsForAddress} from 'leofcoin-core/src/lib/dagchain/dagchain-interface.js'

Params:

NameTypeAttributeDescription
address *

Return:

*

public getUnspent(withMempool: boolean): * source

Params:

NameTypeAttributeDescription
withMempool boolean
  • optional
  • default: false

Return:

*

public getUnspentForAddress(address: *): * source

import {getUnspentForAddress} from 'leofcoin-core/src/lib/dagchain/dagchain-interface.js'

Params:

NameTypeAttributeDescription
address *

Return:

*

public groupCollapsed(text: *, cb: *) source

import {groupCollapsed} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
text *
cb *

public hashLog(nonce: *): * source

import {hashLog} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
nonce *

Return:

*

public hashes(nonce: *): * source

import {hashes} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
nonce *

Return:

*

public hexFromMultihash(multihash: *): * source

import {hexFromMultihash} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
multihash *

Return:

*

public id() source

public interval(cb: *, ms: number) source

import {interval} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
cb *
ms number
  • optional
  • default: 1000

public ipfskeepalive(published: *, ipfs: *, cb: *) source

import ipfskeepalive from 'leofcoin-core/src/ipfs-keep-alive.js'

Params:

NameTypeAttributeDescription
published *
ipfs *
cb *

public ipfsstar(): {"stop": *, "peers": *} source

Params:

NameTypeAttributeDescription
options.subscribe method

pubsub subscriber

options.publish method

pubsub publisher

Return:

{"stop": *, "peers": *}

public async lastBlock(): * source

Return:

*

public async localDAGMultiaddress(): * source

import {localDAGMultiaddress} from 'leofcoin-core/src/params.js'

Return:

*

public log(text: *) source

import {log} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
text *

public longestChain() source

public median(array: *): * source

import {median} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
array *

Return:

*

public multihashFromHex(hex: *): * source

import {multihashFromHex} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
hex *

Return:

*

public net(): * source

import {net} from 'leofcoin-core/src/utils.js'

Return:

*

public async networkAddress(net: *): * source

import {networkAddress} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
net *

Return:

*

public async newGenesisDAGNode(difficulty: *): * source

import {newGenesisDAGNode} from 'leofcoin-core/src/lib/dagchain/genesis.js'

Create a new genesis block

Params:

NameTypeAttributeDescription
difficulty *

Return:

*

public async newGenesisDAGNode(difficulty: *): * source

Create a new genesis block

Params:

NameTypeAttributeDescription
difficulty *

Return:

*

public newWallet(name: string) source

import {newWallet} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
name string
  • optional
  • default: main

public async nextBlock(address: *): * source

Params:

NameTypeAttributeDescription
address *

Return:

*

public nextBlockTransactions(): object source

import {nextBlockTransactions} from 'leofcoin-core/src/lib/dagchain/dagchain-interface.js'

Get the transactions for the next Block

Return:

object

transactions

public resolvePeers() source

import {resolvePeers} from 'leofcoin-core/src/lib/network/peernet.js'

public socketserver(httpServer: *) source

Params:

NameTypeAttributeDescription
httpServer *

public succes(text: *) source

import {succes} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
text *

public async textlog(text: *) source

import {textlog} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
text *

public timeout(ms: number, cb: *) source

import {timeout} from 'leofcoin-core/src/utils.js'

Params:

NameTypeAttributeDescription
ms number
  • optional
  • default: 1000
cb *

public transactionHash(transaction: object): * source

import {transactionHash} from 'leofcoin-core/src/lib/hash.js'

Generate transaction hash

Params:

NameTypeAttributeDescription
transaction object

{id, type, inputs, outputs}

Return:

*

public transactionInputHash(transactionInput: object): * source

import {transactionInputHash} from 'leofcoin-core/src/lib/hash.js'

Generate transaction input hash

Params:

NameTypeAttributeDescription
transactionInput object

{transaction, index, amount, address}

Return:

*

public transformBlock(objectPattern: {"multihash": *, "data": *}): * source

Params:

NameTypeAttributeDescription
objectPattern {"multihash": *, "data": *}
  • default: {"multihash":null,"data":null}

Return:

*

public async validate(previousBlock: object, block: object, difficulty: number, unspent: number): * source

validate block

Params:

NameTypeAttributeDescription
previousBlock object
block object
difficulty number
unspent number

Return:

*

public validateBlock(previousBlock: object, block: object, difficulty: number, unspent: number): * source

import {validateBlock} from 'leofcoin-core/src/lib/ccp-block.js'

validate block

Params:

NameTypeAttributeDescription
previousBlock object
block object
difficulty number
unspent number

Return:

*

public validateTransaction(transaction: *, unspent: *): boolean source

import {validateTransaction} from 'leofcoin-core/src/lib/transaction.js'

validate transaction

Params:

NameTypeAttributeDescription
transaction *
unspent *

Return:

boolean

public validateTransactions(transactions: array, unspent: *) source

import {validateTransactions} from 'leofcoin-core/src/lib/transaction.js'

validate transactions list for current block

Params:

NameTypeAttributeDescription
transactions array
unspent *