Module for handling statistics and analytics operations on Conflux Core. Provides methods for querying network metrics, account statistics, transaction data, and various other blockchain analytics.

StatisticsModule

Hierarchy (View Summary)

Constructors

Properties

baseUrl: string

Base URL for the API endpoints

apiKey?: string

Optional API key for authenticated requests

logger: Logger<never> = ...

Logger instance for statistics operations

Methods

  • Protected

    Makes an API request with the given parameters. Handles parameter sanitization, API key inclusion, and error handling.

    Type Parameters

    • T

      Type of the expected response data

    Parameters

    • endpoint: string

      API endpoint to call

    • params: Record<string, undefined | null | string | number | boolean> = {}

      Query parameters

    Returns Promise<ApiResponse<T>>

    Promise resolving to the API response

    When the API request fails or returns an error status

  • Get current network supply statistics. Retrieves information about the current CFX token supply.

    Returns Promise<Supply>

    Current supply statistics

  • Get mining statistics over time. Retrieves mining-related metrics for specified time intervals.

    Parameters

    • params: MiningParams

      Parameters for mining statistics query

      Parameters for mining statistics

      MiningParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

      • OptionalintervalType?: StatsIntervalType

        Interval for data aggregation

    Returns Promise<Mining>

    Mining statistics

  • Get transactions per second (TPS) statistics. Retrieves TPS metrics for specified time intervals.

    Parameters

    • params: TpsParams

      Parameters for TPS statistics query

      Parameters for TPS (Transactions Per Second) statistics

      TpsParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

      • OptionalintervalType?: StatsIntervalType

        Interval for data aggregation

    Returns Promise<Tps>

    TPS statistics

  • Get contract deployment and interaction statistics. Retrieves metrics about smart contract usage on the network.

    Parameters

    • params: ContractParams

      Parameters for contract statistics query

      Parameters for contract statistics

      ContractParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

    Returns Promise<Contract>

    Contract statistics

  • Get CFX token holder statistics. Retrieves information about CFX token holders and distribution.

    Parameters

    • params: CfxHolderParams

      Parameters for CFX holder statistics query

      Parameters for CFX holder statistics

      CfxHolderParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

    Returns Promise<CfxHolder>

    CFX holder statistics

  • Get account growth statistics. Retrieves metrics about new account creation and network growth.

    Parameters

    • params: AccountGrowthParams

      Parameters for account growth statistics query

      Parameters for account growth statistics

      AccountGrowthParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

    Returns Promise<AccountGrowth>

    Account growth statistics

  • Get active account statistics. Retrieves metrics about account activity on the network.

    Parameters

    • params: AccountActiveParams

      Parameters for active account statistics query

      Parameters for account activity statistics

      AccountActiveParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

    Returns Promise<AccountActive>

    Active account statistics

  • Get overall active account statistics. Retrieves comprehensive metrics about account activity across the network.

    Parameters

    • params: ActiveOverallParams

      Parameters for overall active account statistics query

      Parameters for overall account activity statistics

      ActiveOverallParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

    Returns Promise<ActiveOverall>

    Overall active account statistics

  • Get transaction statistics. Retrieves metrics about transaction activity on the network.

    Parameters

    • params: TransactionParams

      Parameters for transaction statistics query

      Parameters for transaction statistics

      TransactionParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

    Returns Promise<Transaction>

    Transaction statistics

  • Get CFX transfer statistics. Retrieves metrics about CFX token transfers on the network.

    Parameters

    • params: CfxTransferParams

      Parameters for CFX transfer statistics query

      Parameters for CFX transfer statistics

      CfxTransferParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

    Returns Promise<CfxTransfer>

    CFX transfer statistics

  • Get token transfer statistics. Retrieves metrics about token transfers (excluding CFX) on the network.

    Parameters

    • params: TokenTransferParams

      Parameters for token transfer statistics query

      Parameters for token transfer statistics

      TokenTransferParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

      • Optionalcontract?: string

        Token contract address

    Returns Promise<TokenTransfer>

    Token transfer statistics

  • Get token holder statistics. Retrieves statistics about token holders and distribution.

    Parameters

    • params: TokenHolderParams

      Parameters for token holder statistics query

      Parameters for token holder statistics

      TokenHolderParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

      • contract: string

        Token contract address

    Returns Promise<TokenHolder>

    Token holder statistics

  • Get unique sender statistics. Retrieves statistics about unique transaction senders.

    Parameters

    • params: UniqueSenderParams

      Parameters for unique senders query

      Parameters for unique token sender statistics

      UniqueSenderParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

      • contract: string

        Token contract address

    Returns Promise<UniqueSender>

    Unique sender statistics

  • Get unique receiver statistics. Retrieves statistics about unique transaction receivers.

    Parameters

    • params: UniqueReceiverParams

      Parameters for unique receivers query

      Parameters for unique token receiver statistics

      UniqueReceiverParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

      • contract: string

        Token contract address

    Returns Promise<UniqueReceiver>

    Unique receiver statistics

  • Get unique participant statistics. Retrieves statistics about unique participants in transactions.

    Parameters

    • params: UniqueParticipantParams

      Parameters for unique participants query

      Parameters for unique token participant statistics

      UniqueParticipantParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

      • contract: string

        Token contract address

    Returns Promise<UniqueParticipant>

    Unique participant statistics

  • Get block base fee statistics. Retrieves statistics about block base fees over time.

    Parameters

    • params: BlockBasefeeParams

      Parameters for block base fee statistics query

      Parameters for block base fee statistics

      BlockBasefeeParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

    Returns Promise<BlockBasefee>

    Block base fee statistics

  • Get block average priority fee statistics. Retrieves statistics about average priority fees in blocks.

    Parameters

    • params: BlockAvgpriorityfeeParams

      Parameters for block priority fee statistics query

      Parameters for block average priority fee statistics

      BlockAvgpriorityfeeParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

    Returns Promise<BlockAvgpriorityfee>

    Block average priority fee statistics

  • Get block gas used statistics. Retrieves statistics about gas usage in blocks.

    Parameters

    • params: BlockGasusedParams

      Parameters for block gas usage statistics query

      Parameters for block gas used statistics

      BlockGasusedParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

    Returns Promise<BlockGasused>

    Block gas usage statistics

  • Get block transactions by type statistics. Retrieves statistics about different types of transactions in blocks.

    Parameters

    • params: BlockTxsbytypeParams

      Parameters for block transaction types statistics query

      Parameters for block transactions by type statistics

      BlockTxsbytypeParams

      • Optionalpage?: number

        Page number (1-based)

      • Optionaloffset?: number

        Page offset.

      • Optionalskip?: number

        Number of records to skip (pageSize * (pageNumber - 1)). Maximum 10000.

      • Optionallimit?: number

        Number of records per page. Maximum 100.

      • Optionalsort?: "asc" | "desc"

        Sort order by timestamp (ASC for ascending, DESC for descending)

      • OptionalminTimestamp?: number

        Minimum timestamp in seconds

      • OptionalmaxTimestamp?: number

        Maximum timestamp in seconds

    Returns Promise<BlockTxsbytype>

    Block transactions by type statistics