
Get expert tips on blockchain development and Ignite CLI updates to give your project a head start.
curl https://get.ignite.com/cli! | bash
Spaceship is an Ignite App designed to simplify appchain deployment via SSH. It provides precise control over blockchain nodes on remote servers and integrates with existing Ignite configurations to ensure efficient and reliable management.
The App automates chain binary deployment and removes the manual effort of setting up and managing nodes across different environments. Builders can use Ignite's appchain scaffolding while maintaining flexibility across various infrastructures. This makes it ideal for projects that require rapid scaling or multi-location node management, as secure SSH, password management, validation checks and error handling guarantee safe and reliable deployments. Spaceship also adapts to different architectures by verifying server requirements and adjusting commands for Linux, cloud platforms or specialized hardware.
The process begins with building the chain binary using Ignite, followed by automated transfer and execution on the target server. The command structure is both straightforward and flexible, accommodating various SSH authentication methods:
ignite spaceship deploy root@127.0.0.1 --key $HOME/.ssh/id_rsa
ignite spaceship deploy 127.0.0.1 --user root --password password
ignite spaceship deploy root@127.0.0.1 --key $HOME/.ssh/id_rsa --key-password key_password
Each command initiates a series of actions: compiling the chain binary, establishing a structured workspace on the server, and executing the chain node through a customized runner script. The workspace is organized into specific directories for binaries, chain data, and logs, ensuring the node runs in a controlled and predictable environment.
Note that the binary is not run locally using ignite chain serve
. Instead, the chain is built and initialized locally with Ignite. Afterward, the files and binary are transferred to the remote machine. The chain is then run on the remote server using the command: chaind start --home <SPACESHIP_WORKSPACE>/chaind/home
.
Effortless deployment from build to execution.
Spaceship offers tools to manage the lifecycle of deployed chain nodes. Key commands include:
ignite spaceship status root@127.0.0.1 --key $HOME/.ssh/id_rsa
ignite spaceship log root@127.0.0.1 --key $HOME/.ssh/id_rsa
ignite spaceship restart root@127.0.0.1 --key $HOME/.ssh/id_rsa
Full control over your nodes, anytime.
Spaceship uses Ignite’s config system to let builders fine-tune deployments by adjusting validator settings, pruning strategies, and output formats. It initializes the setup locally, verifies it, and securely transfers it to the remote server.
Here's an example of an Ignite config block:
validators:
- name: alice
bonded: '100000000stake'
app:
pruning: "nothing"
config:
moniker: "mychain"
client:
output: "json"
Builders can also adjust default chain configs in the Ignite config file or deploy existing projects without altering current settings. Spaceship initializes the chain locally, transfers it to $HOME/workspace/<chain-id>/home
, and maintains the original architecture. Ignite automatically resets configs when needed, using the --init-chain
flag or if the chain hasn't been initialized.
Tailor every deployment to your exact needs.
Consider a scenario where a builder needs to deploy a new network with specific validator configs. Using Spaceship, the process would involve:
1. Building the Binary:
ignite chain build
2. Deploying via SSH:
ignite spaceship deploy root@192.168.1.100 --key $HOME/.ssh/id_rsa --init-chain
3. Monitoring the Deployment:
ignite spaceship log root@192.168.1.100 --key $HOME/.ssh/id_rsa --real-time
Simple deployment, every time.
To get started with Spaceship and unlock its full potential, dive into the latest Spaceship tutorial for a step-by-step guide on deploying your chain. Start building with Spaceship today.