@cerc-io/cli (0.2.107)
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 addresspeer-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 nodemax-connections
: max number of connections for this peerdial-timeout
: timeout for dial to peers (ms)max-relay-connections
: max number of relay node connections for this peerpeer-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 tostdout
.
compare-gql
A basic CLI to to fetch and compare watcher GQL response.
-
Create a
config.yaml
file in the following format inpackages/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 |