The home for Hyperlane core contracts, sdk packages, and other infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
hyperlane-monorepo/typescript/cli
Daniel Savu 35d4503b94
chore: new svm warp route artifacts (#4531)
3 months ago
..
examples fix: warp apply throws if submitter transactionReceipts is undefined (#4501) 3 months ago
scripts feat: Enable cli e2e tests in CI (#4404) 3 months ago
src feat: remove mailbox confirmation prompt for `warp init` command (#4485) 3 months ago
test-configs feat(cli): add submit functionality support to warp apply (#4225) 3 months ago
.eslintignore Main-to-v3 update and V3 CLI (#2818) 1 year ago
.eslintrc chore: Enable no-restricted-imports eslint rule (#4329) 4 months ago
.gitignore feat(cli): add submit command (#3818) 5 months ago
.mocharc.json feat: Enable cli e2e tests in CI (#4404) 3 months ago
CHANGELOG.md Version Packages (#4530) 3 months ago
README.md chore(sdk): add rpcUrl, chainId, and method(params) to smart provider logging (#4146) 5 months ago
ci-advanced-test.sh chore: tidy up cli-advanced-e2e workflow (#4460) 3 months ago
cli.ts feat: Add github proxy (#4418) 3 months ago
env.ts Add global log options to CLI (#3519) 8 months ago
package.json chore: new svm warp route artifacts (#4531) 3 months ago
tsconfig.json Convert packages from CJS to ESM (#3531) 8 months ago

README.md

Hyperlane CLI

The Hyperlane CLI is a command-line tool written in Typescript that facilitates common operations on Hyperlane, such as deploying the core contracts and/or warp routes to new chains.

Hyperlane overview

Hyperlane is an interchain messaging protocol that allows applications to communicate between blockchains.

Developers can use Hyperlane to share state between blockchains, allowing them to build interchain applications that live natively across multiple chains.

To read more about interchain applications, how the protocol works, and how to integrate with Hyperlane, please see the documentation.

Setup

Node 18 or newer is required.

Option 1: Global install:

# Install with NPM
npm install -g @hyperlane-xyz/cli
# Or uninstall old versions
npm uninstall -g @hyperlane-xyz/cli

Option 2: Temp install:

# Run via NPM's npx command
npx @hyperlane-xyz/cli
# Or via Yarn's dlx command
yarn dlx @hyperlane-xyz/cli

Option 3: Run from source:

git clone https://github.com/hyperlane-xyz/hyperlane-monorepo.git
cd hyperlane-monorepo
yarn install && yarn build
cd typescript/cli
yarn hyperlane

Common commands

View help: hyperlane --help

Create a core deployment config: hyperlane config create

Run hyperlane core deployments: hyperlane deploy core

Run warp route deployments: hyperlane deploy warp

View SDK contract addresses: hyperlane chains addresses

Send test message: hyperlane send message

Logging

The logging format can be toggled between human-readable vs JSON-structured logs using the LOG_FORMAT environment variable or the --log <pretty|json> flag.

Note: If you are unable to see color output after setting LOG_FORMAT, you may set the FORCE_COLOR=true environment variable as a last resort. See https://force-color.org/ & https://github.com/chalk for more info.

The logging verbosity can be configured using the LOG_LEVEL environment variable or the --verbosity <trace|debug|info|warn|error|off> flag.