npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, πŸ‘‹, I’m Ryan HefnerΒ  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you πŸ™

Β© 2024 – Pkg Stats / Ryan Hefner

@haechi-labs/henesis-cli

v1.0.0-beta.41

Published

πŸš€ Command Line Interface tool to Utilize henesis

Downloads

125

Readme

henesis-cli

πŸš€ Command Line Interface tool to Utilize henesis

License Version Platform ci

Install

To use henesis-cli, Node v10 or higher must be installed.

$ npm install -g @haechi-labs/henesis-cli

$ henesis help

VERSION
  @haechi-labs/henesis-cli/1.0.0-beta.39 darwin-x64 node-v10.16.0

USAGE
  $ henesis [COMMAND]

COMMANDS
  changepw     change password
  help         display help for henesis
  init         create the folder structure required for your project
  integration  manage integrations
  login        perform a login
  logout       perform a logout
  nft          manage nft api
  node         manage trusted nodes

How to Setup Henesis AutoComplete

$ henesis autocomplete

Enter the following script according to your shell type.

zsh:

$ printf "$(henesis autocomplete:script zsh)" >> ~/.zshrc; source ~/.zshrc

bash:

$ printf "$(henesis autocomplete:script bash)" >> ~/.bashrc; source ~/.bashrc

Usage

account

You must be logged in to use this features.

manage your account

USAGE
  $ henesis account:COMMAND

COMMANDS
  account:changepw  change account password
  account:describe  describe account information

account:changepw

Command Line
$ henesis account:changepw
Password: ******
New Password: ******
Again New Password: ******
πŸ¦„ Password changed!

account:describe

Command Line
$ henesis account:describe
Email: [email protected]
Name: haechi
Organization: haechi-labs
clientId: 49e77d0be585ef71c337f758e61e1f16

help

Use help as:

  $ henesis help [COMMAND]

For example, you can call help about integration:delete command like:

$ henesis help integration:delete
delete a integration

USAGE
  $ henesis integration:delete [INTEGRATIONID]

EXAMPLE
  $ henesis integration:delete my-integration-id

init

The directory in which the init command is run must be empty.

$ henesis init -n sample-project
sample-project directory has been created.

After this, the following folder structure is created.

sample_project
β”œβ”€β”€ contracts
β”‚   └── example.sol
└── henesis.yaml

integration

You can use command where the henesis.yaml file exists.

$ henesis integration
manage integrations

USAGE
  $ cli integration:COMMAND

COMMANDS
  integration:delete    delete a integration
  integration:deploy    deploy a integration
  integration:describe  describe a integration
  integration:status    get integrations
  integration:usage     show event streamer statistics

There are tasks to be done before the deploy command.

  • Place the contract file distributed in Blockchain inside the contract directory.
  • Modify the henesis.yaml file to match the event you want to subscribe to and place the file with logic in the handler directory.
  • You can run the deploy command and check the status of the distribution through the status command.

integration:delete

Command Line
$ henesis integration:delete <integrationId>

integration:deploy

Command Line
$ henesis integration:deploy
Options
  • -f or --force: Erase existing deployed content and deploy current configuration.
  • -p or --path: Specify where henesis.yaml is located.

integration:describe

Command Line
henesis integration:describe <integrationId>

integration:status

Command Line
henesis integration:status

integration:describe

Command Line
henesis integration:describe <integrationId>

login

$ henesis login
Allow Henesis to collect anonymous CLI usage and error reporting information
yes(y) or no(n): y
email: [email protected]
password: ***********

πŸŽ‰ Login Success from [email protected] πŸŽ‰

logout

$ henesis logout
πŸ€— Logout Success πŸ‘

node

manage trusted nodes

USAGE
  $ henesis node:COMMAND

COMMANDS
  node:status  show truested node information
  node:usage   show truested node statistics

node:status

Command Line
$ henesis node:status
Platform     Network   Endpoint
ethereum     mainnet   https://tn.henesis.io/ethereum/mainnet
ethereum     ropsten   https://tn.henesis.io/ethereum/ropsten
ethereum     rinkeby   https://tn.henesis.io/ethereum/rinkeby

node:usage

Command Line
$ henesis node:usage
Henesis Trusted Node (Ethereum) Statistics

Total rpc call of this month: 226,233,096
This command shows the trusted node usage this month(The stat is updated every hour).
The daily statistic is added at UTC+0.
Date         Usage        Bandwidth
2019-12-04   27,105,464   75.96 GB
2019-12-03   107,220,983  300.35 GB
2019-12-02   51,677,543   135.39 GB
2019-12-01   40,229,106   107.58 GB

nft

manage nft api

USAGE
  $ henesis nft:COMMAND

COMMANDS
  nft:usage  show nft api statistics

nft:usage

Command Line
$ henesis nft:usage
Henesis NFT API (Ethereum) Statistics

Total api call of this month: 25,904
This command shows the nft api usage this month.
Date         Usage        
2020-02-05   6,250        
2020-02-04   11,500       
2020-02-03   8,154     

About henesis.yaml

webSocket

name: sample
version: v1    # (TBD) The version of this yaml file.
apiVersion: v1 # (TBD) The version of Henesis api. The type of message you receive can be changed depending on this version.

blockchain:
  platform: ethereum
  network: mainnet
  threshold: 12 # optional.
                # Ethereum: (default: 12, min: 6)
                # Klaytn: (default: 0, min: 0)

filters:
  contracts:
    - address: '0x'
      name: example
      files: # The events of the contracts listed below can be combined together at this address.
        - path: ./contracts/example.sol
          contractName: example
          compilerVersion: 0.5.8

provider:
  type: webSocket

webhook

name: sample
version: v1    # (TBD) The version of this yaml file.
apiVersion: v1 # (TBD) The version of Henesis api. The type of message you receive can be changed depending on this version.

blockchain:
  platform: ethereum
  network: mainnet
  threshold: 12 # optional.
                # Ethereum: (default: 12, min: 6)
                # Klaytn: (default: 0, min: 0)

filters:
  contracts:
    - address: '0x'
      name: example
      files: # The events of the contracts listed below can be combined together at this address.
        - path: ./contracts/example.sol
          contractName: example
          compilerVersion: 0.5.8

provider:
  type: webhook
  url: https://localhost:8080
  method: POST
  headers:
    Authorization: 'Bearer YOUR-OWN-TOKEN'

Parameter Details

The following are detailed explanations for parameters used to henesis.yaml.

version & name

The version and name are used as delimiters to identify the project. The name must consist only of lowercase letters, numbers, '-' and '.', the maximum length is 253 characters.

apiVersion

The apiVersion is the version of Henesis api. The type of message you receive can be changed depending on this version.


blockchain

The blockchain part is an area that describes the platform and network name of the blockchain in which the smart contract to e subscribed is deployed.

platform

The blockchain platform you want to use.

We support now

  • ethereum
  • klaytn
network

The blockchain network you want to use.

We support now below chains.

| platform | network | chain | | -------- | ------- | --------------- | | ethereum | mainnet | mainnet | | ethereum | ropsten | ropsten testnet | | ethereum | rinkeby | rinkeby testnet | | klaytn | mainnet | cypress mainnet | | klaytn | baobob | baobob testnet |

threshold

Minimum confirmation thresohld which you want to received.

Caution : when receiving data, we wait for a threshold of block confirmation.


filters

The filters part is about information for the smart contracts you want to subscribe through Henesis.

You can subscribe to more than one contract.

contracts
address

An address of the deployed smart contract

name

A name of the contract filter

files
path

A file path of the smart contract source code

contractName

A name of the contract to subscribe in the source code

compilerVersion

A solidity compiler version. Must be identical to the compiler version at the time of deployment.


provider

The provider is where you choose how to receive events from Henesis. We support WebSocket and Webhook

The WebSocket doesn't need any settings like url, method, headers.

type

WebSocket or Webhook

url

URL which you want to hook

method

HTTP method like a GET, POST, PUT, DELETE

headers
Authorization

If you want to set authorization (like a JWT), you can set authorization

We also support tutorial.