Noctiflorous Pansy Mulch

    TypeScript icon, indicating that this package has built-in type declarations

    2.0.2 • Public • Published

    Harbinger CLI


    harbinger-cli is the source for a command line utility called harbinger. The CLI is a node binary package written in typescript that contains functionality for working with the Harbinger Oracle. To get started with Harbinger, visit the main documentation.

    This library provides functionality for interacting with the Harbinger oracle system. Users who want to post prices might also be interested in Harbinger Poster which is a hosted component providing similar functionality for posting data to Harbinger. Entities who wish to sign prices for Harbinger may want to look at Harbinger Signer. Developers of new Harbinger components may be interested in harbinger-lib.

    Install the CLI

    To install the pre-packaged CLI from NPM, run the following:

    $ npm i -g @tacoinfra/harbinger-cli
    $ harbinger --help

    To build the library from source, run:

    $ npm i
    $ npm run build


    Note: Harbinger installs a symlink named hbg which executes the same harbinger binary as a shortcut, in case you don't want to type the full name.

    harbinger has the following functions:

    • Deploying an oracle or normalizer contract
    • Update a contract from a price feed
    • Push data from an oracle to a normalizer contract
    • Pretty-print the value in an oracle contract
    • Revoke an oracle contract, triggering an emergency shutdown

    Getting Started

    harbinger has fully interactive and complete documentation. Simply pass --help to harbinger or any subcommand. For instance:

    $ harbinger --help
    # Prints harbinger documentation.
    $ harbinger deploy-oracle
    # Prints documentation for the deploy-oracle subcommand.

    Common Flows

    The following set of commands demonstrates a common flow for deploying and working with a Harbinger oracle.

    # Deploy an oracle contract
    $ harbinger deploy-oracle
      # Prints KT1 address of oracle contract.
    # Deploy a normalizer contract.
    $ harbinger deploy-normalizer \
      --oracle-contract-address <address from above>
      # Prints KT1 address of oracle contract.
    # Push updates to the oracle contract and normalizer contract every 120 seconds.
    $ harbinger update \
      --oracle-contract-address <KT1 address of oracle> \
      --normalizer-contract-address <KT1 address of normalizer> \
      --update-interval 120


    Harbinger is written and maintained by Luke Youngblood and Keefer Taylor.


    npm i @tacoinfra/harbinger-cli

    DownloadsWeekly Downloads






    Unpacked Size

    29.7 kB

    Total Files


    Last publish


    • blockscale
    • tessellatedgeometry