Skip to content

hyperweb-io/starship

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Starship

License Release Build PR Tests Docs Docker Client Tests NPM Version Devnet Version

Universal interchain development environment in k8s. The vision of this project is to have a single easy to use developer environment with full testing support for multichain use cases

Automated docs: https://deepwiki.com/hyperweb-io/starship

Starship v1 vs v2

Starship v1 (Legacy - Stable)

  • Repository: v1 branch
  • Status: Stable and recommended for production use
  • Architecture: Hybrid approach with mixed technologies
    • Client: TypeScript-based client library
    • Infrastructure: Helm charts for Kubernetes deployment
    • Services: Go microservices for core components
    • Deployment: Traditional Helm-based workflow with shell commands

Starship v2 (Current - Under Development)

  • Repository: Main branch (current)
  • Status: 🚧 Under Active Development - Use v1 for stable deployments
  • Architecture: Migration from Helm to KubernetesJS-based architecture
    • Goal: Replace shell command dependencies (kubectl, helm, docker) with direct API calls
    • YAML Generation: Generate Kubernetes manifests for inspection before deployment
    • Direct API Access: Use KubernetesJS for direct Kubernetes API communication
    • Deployment: Programmatic resource management via Kubernetes API

Key Goals of v2 Migration (Epic #695)

  • Eliminate Shell Dependencies: Replace kubectl, helm, docker commands with API calls
  • Better Error Handling: Structured error responses instead of opaque shell command failures
  • YAML Inspection: Generate and review Kubernetes manifests before deployment
  • Platform Independence: Remove OS-specific shell command compatibility issues
  • Improved Debugging: Direct access to Kubernetes resource status and events
  • Enhanced Testing: Mock KubernetesJS client instead of complex shell command mocking

⚠️ Important: For production use, please use the stable v1 branch. The main branch (v2) is under active development as part of the architectural migration.

Prerequisites

To get started, you'll need:

For further information, refer to the Starship Documentation on kubernetes setup and configuration.

Install

Install the CLI @starship-ci/cli:

npm install -g @starship-ci/cli

Configuration

To configure Starship for multichain support, create a configuration file (e.g., config.yaml). Here's a sample configuration:

name: starship-localnet
version: 1.8.0

chains:
- id: osmosis-1
  name: osmosis
  numValidators: 2
  ports:
    rest: 1313
    rpc: 26653
    faucet: 8003
- id: cosmoshub-4
  name: cosmoshub
  numValidators: 2
  ports:
    rest: 1317
    rpc: 26657
    faucet: 8007

relayers:
- name: osmos-cosmos
  type: hermes
  replicas: 1
  chains:
    - osmosis-1
    - cosmoshub-4

explorer:
  enabled: true
  ports:
    rest: 8080

registry:
  enabled: true
  ports:
    rest: 8081

For more details on the configuration options and directives available, refer to the Starship Config.

Versions & Compatibility

Current Versions

Component Version Link
Helm Chart 1.8.0 -
Starship NPM CLI 3.11.0 NPM
NPM Client 3.11.0 NPM
NPM StarshipJS 3.3.0 NPM
Starship GitHub Action 1.0.0 Github Action

Compatibility Matrix

Starship Version Helm Chart NPM CLI NPM Client StarshipJS GitHub Action
1.8.0 βœ… 1.8.0 βœ… 3.11.0 βœ… 3.11.0 βœ… 3.3.0 βœ… 1.0.0
1.7.0 βœ… 1.7.0 βœ… 3.10.0 βœ… 3.10.0 βœ… 3.3.0 βœ… 1.0.0
1.6.0 βœ… 1.6.0 βœ… 3.6.0 βœ… 3.6.0 βœ… 3.3.0 βœ… 0.5.9
1.5.0 βœ… 1.5.0 βœ… 3.5.0 βœ… 3.5.0 βœ… 3.3.0 βœ… 0.5.9
1.4.0 βœ… 1.4.0 βœ… 3.4.0 βœ… 3.4.0 βœ… 3.3.0 βœ… 0.5.9
1.3.0 βœ… 1.3.0 βœ… 3.3.0 βœ… 3.3.0 βœ… 3.3.0 βœ… 0.5.9
1.2.0 βœ… 1.2.0 βœ… 3.2.0 βœ… 3.2.0 βœ… 3.0.0 βœ… 0.5.8
1.1.0 βœ… 1.1.0 βœ… 3.1.0 βœ… 3.1.0 βœ… 3.0.0 βœ… 0.5.6
1.0.0 βœ… 1.0.0 βœ… 3.0.0 βœ… 3.0.0 βœ… 3.0.0 βœ… 0.5.5

Note: Starship version 1.2.0+ requires Helm 1.2.0+ and NPM CLI 3.2.0+ for full functionality.

Running Starship

Deploying πŸš€

yarn starship start --config config.yaml

Teardown πŸ› οΈ

# stop ports and delete deployment
yarn starship stop --config config.yaml

Migration to v1

If you are migrating from a previous version of Starship, and you face following error:

Error: repository name (starship) already exists, please specify a different name

Please run the following command:

helm repo remove starship

Then one can run:

yarn starship start --config config.yaml

Recommended Usage πŸ“˜

Stay tuned for a create-cosmos-app boilerplate! For now, this is the most recommended setup. Consider everything else after this section "advanced setup".

Interchain JavaScript Stack βš›οΈ

A unified toolkit for building applications and smart contracts in the Interchain ecosystem

Category Tools Description
Chain Information Chain Registry, Utils, Client Everything from token symbols, logos, and IBC denominations for all assets you want to support in your application.
Wallet Connectors Interchain Kitbeta, Cosmos Kit Experience the convenience of connecting with a variety of web3 wallets through a single, streamlined interface.
Signing Clients InterchainJSbeta, CosmJS A single, universal signing interface for any network
SDK Clients Telescope Your Frontend Companion for Building with TypeScript with Cosmos SDK Modules.
Starter Kits Create Interchain Appbeta, Create Cosmos App Set up a modern Interchain app by running one command.
UI Kits Interchain UI The Interchain Design System, empowering developers with a flexible, easy-to-use UI kit.
Testing Frameworks Starship Unified Testing and Development for the Interchain.
TypeScript Smart Contracts Create Hyperweb App Build and deploy full-stack blockchain applications with TypeScript
CosmWasm Contracts CosmWasm TS Codegen Convert your CosmWasm smart contracts into dev-friendly TypeScript classes.

Credits

πŸ›  Built by Hyperweb (formerly Cosmology) β€” if you like our tools, please checkout and contribute to our github βš›οΈ

Disclaimer

AS DESCRIBED IN THE LICENSES, THE SOFTWARE IS PROVIDED "AS IS", AT YOUR OWN RISK, AND WITHOUT WARRANTIES OF ANY KIND.

No developer or entity involved in creating this software will be liable for any claims or damages whatsoever associated with your use, inability to use, or your interaction with other users of the code, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value.

Star History

Star History Chart