Skip to content

The best development platform for building custom modular Cosmos-SDK blockchains

License

Notifications You must be signed in to change notification settings

rollchains/spawn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

37bb19f · Oct 14, 2024
Oct 12, 2024
Oct 11, 2024
Oct 14, 2024
May 4, 2024
Oct 14, 2024
Oct 14, 2024
Oct 12, 2024
Mar 21, 2024
May 30, 2024
May 30, 2024
Oct 10, 2024
Mar 27, 2024
Oct 10, 2024
Oct 14, 2024
Oct 14, 2024
Oct 14, 2024
Sep 8, 2024

Repository files navigation

Spawn

Spawn is the easiest way to build, maintain and scale a Cosmos SDK blockchain. Spawn solves all the key pain points engineers face when building new Cosmos-SDK networks.

  • Tailor-fit: Pick and choose modules to create a network for your needs.
  • Commonality: Use native Cosmos tools and standards you're already familiar with.
  • Integrations: Github actions and end-to-end testing are configured right from the start.
  • Iteration: Quickly test between your new chain and established networks like the local Cosmos-Hub devnet.

Documentation

https://rollchains.github.io/spawn/v0.50/

Installation

Prerequisite Setup

If you do not have go 1.22+, Docker, or git installed, follow the instructions below.

Install Spawn

# Download the the Spawn repository
git clone https://github.com/rollchains/spawn.git --depth=1 --branch v0.50.9
cd spawn

# Install Spawn
make install

# Install Local-Interchain (testnet runner)
make get-localic

# Attempt to run a command
spawn help

# If you get "command 'spawn' not found", add to path.
# Run the following in your terminal to test
# Then add to ~/.bashrc (linux / windows) or ~/.zshrc (mac)
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> ~/.bashrc
source ~/.bashrc

Spawn in Action

In this 4 minute demo we:

  • Create a new chain, customizing the modules and genesis
  • Create a new nameservice module
    • Add the new message structure for transactions and queries
    • Store the new data types
    • Add the application logic
    • Connect it to the command line
  • Build and launch a chain locally
  • Interact with the chain's nameservice logic, settings a name, and retrieving it

Follow Along with the nameservice demo in the docs | source

spawn-demo.mp4