Skip to content

CLI tool for developing, testing, and running Interwoven Rollup

License

Notifications You must be signed in to change notification settings

initia-labs/weave

Repository files navigation

image (1)

Weave

Weave is a CLI tool designed to make working with Initia and its Interwoven Rollups easier. Instead of dealing with multiple tools and extensive documentation, developers can use a single command-line interface for the entire development and deployment workflow.

Its primary purpose is to solve several key challenges:

  1. Infrastructure Management: Weave can handles all critical infrastructure components within the Interwoven Rollup ecosystem:
    • Initia node setup and management (including state sync and chain upgrade management)
    • Rollup deployment and configuration
    • OPinit bots setup for the Optimistic bridge
    • IBC Relayer setup between Initia L1 and your Rollup
  2. Built for both local development and production deployments: Weave provides
    • Interactive guided setup for step-by-step configuration and
    • Configuration file support for automated deployments
  3. Developer Experience: Not only it consolidates multiple complex operations into a single CLI tool, but it also changes how you interact with the tool to setup your configuration.

Prerequisites

  • Operating System: Linux, macOS
  • Go v1.23 or higher when building from scratch
  • LZ4 compression tool
    • For macOS: brew install lz4
    • For Ubuntu/Debian: apt-get install lz4
    • For other Linux distributions: Use your package manager to install lz4

Important: While Weave can run as root, it does not support switching users via commands like sudo su ubuntu or su - someuser. Instead, directly SSH or log in as the user you intend to run Weave with. For example:

ssh ubuntu@your-server    # Good: Direct login as ubuntu user
ssh root@your-server     # Good: Direct login as root

This ensures proper handling of user-specific configurations and paths.

Installation

On macOS

Install Weave via Homebrew:

brew install initia-labs/tap/weave

On Linux

Install Weave by downloading the appropriate binary for your architecture using wget:

For x86_86 (amd64)

wget https://github.com/initia-labs/weave/releases/download/v0.1.3/weave-0.1.3-linux-amd64.tar.gz
tar -xvf weave-0.1.3-linux-amd64.tar.gz

For arm64

wget https://github.com/initia-labs/weave/releases/download/v0.1.3/weave-0.1.3-linux-arm64.tar.gz
tar -xvf weave-0.1.3-linux-arm64.tar.gz

Building from Scratch

To build Weave from source, you will need a working Go environment and make. Follow these steps:

git clone https://github.com/initia-labs/weave.git
cd weave
git checkout tags/v0.1.3
make install

Download Pre-built binaries

Go to the Releases page and download the binary for your operating system.

Verify Installation

weave version

This should return the version of the Weave binary you have installed. Example output:

v0.1.3

Quick Start

To get started with Weave, run

weave init

It will ask you to setup the Gas Station account and ask which infrastructure you want to setup. After that, Weave will guide you through the setup process step-by-step.

Usage

  1. Bootstrapping Initia Node
  2. Launch a new rollup
  3. Setting up IBC relayer
  4. Setting up OPinit bots

Usage data collection

By default, Weave collects non-identifiable usage data to help improve the product. If you prefer not to share this data, you can opt out by running the following command:

weave analytics disable

Contributing

We welcome contributions! Please feel free to submit a pull request.

About

CLI tool for developing, testing, and running Interwoven Rollup

Resources

License

Stars

Watchers

Forks

Packages

No packages published