@cerc-io/cli (0.2.107)

Published 2024-09-18 10:11:52 +00:00 by cerccicd in cerc-io/watcher-ts

Installation

@cerc-io:registry=
npm install @cerc-io/cli@0.2.107
"@cerc-io/cli": "0.2.107"

About this package

cli

chat

A basic CLI to pass messages between peers using stdin/stdout

  • Install dependencies:

    yarn install
    
  • Build the peer package:

    cd packages/peer
    yarn build
    
  • (Optional) Create and export a peer id for the relay node:

    # In packages/peer
    yarn create-peer --file [PEER_ID_FILE_PATH]
    
    • file (f): file path to export the peer id to (json) (default: logs to console)
  • (Optional) Run a local relay node:

    # In packages/peer
    yarn relay-node --host [LISTEN_HOST] --port [LISTEN_PORT] --announce [ANNOUNCE_DOMAIN] --peer-id-file [PEER_ID_FILE_PATH] --relay-peers [RELAY_PEERS_FILE_PATH]
    
    • host (h): host to bind to (default: 127.0.0.1)
    • port (p): port to start listening on (default: 9090)
    • announce (a): domain name to be used in the announce address
    • peer-id-file (f): file path for peer id to be used (json)
    • relay-peers (r): file path for relay peer multiaddr(s) to dial on startup (json)
  • Start the node:

    # In packages/cli
    yarn chat --relay-multiaddr <RELAY_MULTIADDR> --max-connections [MAX_CONNECTIONS] --dial-timeout [DIAL_TIMEOUT] --max-relay-connections [MAX_RELAY_CONNECTIONS] --peer-id-file [PEER_ID_FILE_PATH] --enable-debug-info [ENABLE_DEBUG_INFO]
    
    • relay-multiaddr (r): multiaddr of a primary hop enabled relay node
    • max-connections: max number of connections for this peer
    • dial-timeout: timeout for dial to peers (ms)
    • max-relay-connections: max number of relay node connections for this peer
    • peer-id-file (f): file path for peer id to be used (json)
    • enable-debug-info: Whether to broadcast node's info over pubsub on request
  • The process starts reading from stdin and outputs messages from others peers over the /chat/1.0.0 protocol to stdout.

compare-gql

A basic CLI to to fetch and compare watcher GQL response.

  • Create a config.yaml file in the following format in packages/cli:

    # Watcher URL
    url: ""
    
    # Boolean to specify if it is a subgraph watcher
    isSubgraph: false
    
    # File path for saving GQL result
    gqlResultFilepath: "./result.json"
    
    # Optional parameter to override default GQL query
    graphqlQuery: ""
    
  • Run the following command to fetch and save first GQL response:

    yarn compare-gql --config config.yaml
    
    • On running CLI for the first time

        vulcanize:compare-gql Fetching response for the first time, re run CLI to compare with latest GQL response
      
  • Re run CLI after some time (average time taken for new block in Ethereum: ~12 seconds)

    yarn compare-gql --config config.yaml
    
  • The diff for latest and previous GQL responses is shown

proxy

Runs a proxy server pointed to the given upstream endpoint

  • Install dependencies and build:

    # In repo root
    yarn
    
    # In packages/cli
    yarn build
    
  • Run the proxy server:

    yarn proxy --upstream <UPSTREAM_ENDPOINT> --origin-header [ORIGN_HEADER] --port [PROXY_SERVER_PORT]
    
    # For details, run: yarn proxy --help
    

Dependencies

Dependencies

ID Version
@apollo/client ^3.7.1
@cerc-io/cache ^0.2.107
@cerc-io/ipld-eth-client ^0.2.107
@cerc-io/libp2p ^0.42.2-laconic-0.1.4
@cerc-io/nitro-node ^0.1.15
@cerc-io/peer ^0.2.107
@cerc-io/rpc-eth-client ^0.2.107
@cerc-io/util ^0.2.107
@ethersproject/providers ^5.4.4
@graphql-tools/utils ^9.1.1
@ipld/dag-cbor ^8.0.0
@libp2p/interface-peer-id ^2.0.0
apollo-server-express ^3.11.1
debug ^4.3.1
ethers ^5.4.4
express ^4.18.2
graphql ^15.5.0
graphql-request ^6.1.0
graphql-subscriptions ^2.0.0
http-proxy-middleware ^2.0.6
js-yaml ^4.0.0
json-diff ^0.5.4
lodash ^4.17.21
pluralize ^8.0.0
reflect-metadata ^0.1.13
typeorm 0.2.37
yargs ^17.0.1

Development Dependencies

ID Version
@types/express ^4.17.14
@types/js-yaml ^4.0.3
@types/json-diff ^0.5.2
@types/node 16.11.7
@types/pluralize ^0.0.29
@types/yargs ^17.0.0
@typescript-eslint/eslint-plugin ^5.47.1
@typescript-eslint/parser ^5.47.1
copyfiles ^2.4.1
eslint-config-semistandard ^15.0.1
eslint-config-standard ^5.0.0
eslint-plugin-import ^2.27.5
eslint-plugin-node ^11.1.0
eslint-plugin-promise ^5.1.0
eslint-plugin-standard ^5.0.0
typescript ^5.0.2
Details
npm
2024-09-18 10:11:52 +00:00
11
AGPL-3.0
46 KiB
Assets (1)
Versions (86) View all
0.2.108 2024-10-14
0.2.107 2024-09-18
0.2.106 2024-08-02
0.2.105 2024-08-01
0.2.104 2024-07-19