Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
ea03d44
initial simapp impl (no cmds)
reecepbcups Mar 13, 2025
1f52bd4
cmds initial
reecepbcups Mar 13, 2025
b3dd604
fixes
reecepbcups Mar 13, 2025
8705142
fix: sealed config
reecepbcups Mar 13, 2025
4a39706
working launched evm
reecepbcups Mar 13, 2025
447b844
more tags, fix deleting a bunch of bApp setup, and removal
reecepbcups Mar 13, 2025
0adb1b8
fix: spawntag wasm in sim-test
reecepbcups Mar 13, 2025
451915c
fix: proper key algo
reecepbcups Mar 13, 2025
d2e220b
refactor: ante to work with evm (initial)
reecepbcups Mar 13, 2025
d6e8ae2
refactor: proper cosmos ante setup
reecepbcups Mar 13, 2025
bd78dab
Simplify genesis.go & unit test no-evm
reecepbcups Mar 13, 2025
6e13e74
use evm IBC wrappers
reecepbcups Mar 14, 2025
5cdcc7b
proper coinTypes
reecepbcups Mar 14, 2025
b0f3276
refactor: cleanup test_node scripts to match + replace properly
reecepbcups Mar 14, 2025
26a6e24
simplify
reecepbcups Mar 14, 2025
42994ef
support wasmd + evm
reecepbcups Mar 17, 2025
fae1eab
no evm e2e test
reecepbcups Mar 17, 2025
eabdf3f
fix: ict cometbft version
reecepbcups Mar 17, 2025
5405450
fix: ict evm params
reecepbcups Mar 17, 2025
25503c7
fix: dockerfile --from
reecepbcups Mar 17, 2025
1cf4549
fix: ict register evm types
reecepbcups Mar 17, 2025
2c94509
remove e2e for ibc when using EVM (due to Go relayer limitation with …
reecepbcups Mar 17, 2025
2b13f36
fix: schema
reecepbcups Mar 17, 2025
4932f92
add `poa` patch for EVM SDK
reecepbcups Mar 17, 2025
b7cf910
bump to v0.50.13
reecepbcups Mar 17, 2025
43cbc24
fix: more helpful poa test output
reecepbcups Mar 17, 2025
b453188
fix: not removing the interfaces
reecepbcups Mar 17, 2025
06d4218
chore(docs): fix x.com links
reecepbcups Mar 17, 2025
eda041d
fix: misc finds in review
reecepbcups Mar 17, 2025
ebf26aa
fix(ci): chain ids
reecepbcups Mar 17, 2025
b3fc17c
fix: ibc path for ictest with ICS
reecepbcups Mar 17, 2025
0d4dc3b
proper version
reecepbcups Mar 18, 2025
803b37b
dont delete
reecepbcups Mar 18, 2025
883abe3
<!-- markdown-link-check-disable -->
reecepbcups Mar 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions .github/workflows/spawn-e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,23 +52,23 @@ jobs:
with:
id: Proof of Stake
spawn-create-cmd: spawn new mychain --consensus=proof-of-stake --bypass-prompt --bech32=prefix --bin=appd --no-git --org=rollchains-org --denom=uroll --debug --log-level=debug
start-chain-cmd: HOME_DIR="~/.simapp" CHAIN_ID="localchain-1" BLOCK_TIME="2000ms" CLEAN=true sh scripts/test_node.sh &
start-chain-cmd: HOME_DIR="~/.simapp" CHAIN_ID="localchain_9000-1" BLOCK_TIME="2000ms" CLEAN=true sh scripts/test_node.sh &

proof-of-authority:
needs: build-spawn
uses: ./.github/workflows/reusable-e2e.yaml
with:
id: Proof of Authority
spawn-create-cmd: spawn new mychain --consensus=proof-of-authority --bypass-prompt --bech32=cosmos --bin=appd --no-git --org=rollchains-org --denom=uroll --debug --log-level=debug
start-chain-cmd: HOME_DIR="~/.simapp" CHAIN_ID="localchain-1" BLOCK_TIME="2000ms" CLEAN=true sh scripts/test_node.sh &
start-chain-cmd: HOME_DIR="~/.simapp" CHAIN_ID="localchain_9000-1" BLOCK_TIME="2000ms" CLEAN=true sh scripts/test_node.sh &

normal-ics:
needs: build-spawn
uses: ./.github/workflows/reusable-e2e.yaml
with:
id: ICS - Cosmos Hub
spawn-create-cmd: spawn new mychain --consensus=ics --bin=appd --bypass-prompt --bech32=roll --no-git --org=rollchains-org --denom=uroll --debug --log-level=debug
start-chain-cmd: HOME_DIR="~/.icsnetwork" CHAIN_ID="localchain-2" CLEAN=true BLOCK_TIME="2000ms" sh scripts/test_ics_node.sh &
start-chain-cmd: HOME_DIR="~/.icsnetwork" CHAIN_ID="localchain_9000-2" CLEAN=true BLOCK_TIME="2000ms" sh scripts/test_ics_node.sh &

ics-with-user-modules:
needs: build-spawn
Expand All @@ -77,7 +77,7 @@ jobs:
id: ICS - Module
spawn-create-cmd: spawn new mychain --consensus=ics --bin=appd --bypass-prompt --bech32=roll --disabled=explorer --org=rollchains-org --denom=uroll --debug --log-level=debug
spawn-extra-cmd: cd mychain && spawn module new aaaaaa && make proto-gen
start-chain-cmd: HOME_DIR="~/.icsnetwork" CHAIN_ID="localchain-2" CLEAN=true BLOCK_TIME="2000ms" sh scripts/test_ics_node.sh &
start-chain-cmd: HOME_DIR="~/.icsnetwork" CHAIN_ID="localchain_9000-2" CLEAN=true BLOCK_TIME="2000ms" sh scripts/test_ics_node.sh &

poa-with-ibc-module:
needs: build-spawn
Expand All @@ -86,4 +86,13 @@ jobs:
id: POA - IBC Module
spawn-create-cmd: spawn new mychain --consensus=poa --bin=appd --bypass-prompt --bech32=roll --disabled=explorer --org=rollchains-org --denom=upoa --debug --log-level=debug
spawn-extra-cmd: cd mychain && spawn module new aaaaaa --ibc-module && make proto-gen
start-chain-cmd: HOME_DIR="~/.simapp" CHAIN_ID="localchain-10" CLEAN=true BLOCK_TIME="2000ms" sh scripts/test_node.sh &
start-chain-cmd: HOME_DIR="~/.simapp" CHAIN_ID="localchain_9000-1" CLEAN=true BLOCK_TIME="2000ms" sh scripts/test_node.sh &

staking-no-evm:
needs: build-spawn
uses: ./.github/workflows/reusable-e2e.yaml
with:
id: Staking - No EVM
spawn-create-cmd: spawn new mychain --consensus=pos --bin=appd --bypass-prompt --bech32=roll --disabled=explorer,evm --org=rollchains-org --denom=uroll --debug --log-level=debug
spawn-extra-cmd: cd mychain && spawn module new aaaaaa && make proto-gen
start-chain-cmd: HOME_DIR="~/.simapp" CHAIN_ID="localchain-1" CLEAN=true BLOCK_TIME="2000ms" sh scripts/test_node.sh &
5 changes: 4 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,10 @@ help: Makefile

# ---- Developer Templates ----
template-staking: install
spawn new myproject --consensus=proof-of-stake --debug --bech32=roll --bin=appd --bypass-prompt --log-level=debug --org=reece
spawn new myproject --consensus=proof-of-stake --disable=explorer --debug --bech32=roll --bin=appd --bypass-prompt --log-level=debug --org=reece

template-no-evm: install
spawn new myproject --consensus=proof-of-stake --disable=explorer,evm --debug --bech32=roll --bin=appd --bypass-prompt --log-level=debug --org=reece

template-poa: install
spawn new myproject --consensus=proof-of-authority --debug --no-git --bin=rolld --bech32=roll --denom=uroll --bypass-prompt --log-level=debug
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ If you do not have [`go 1.22+`](https://go.dev/doc/install), [`Docker`](https://

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

# Install Spawn
Expand Down
1 change: 1 addition & 0 deletions cmd/spawn/new_chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ var (
{ID: "ibc-packetforward", IsSelected: true, Details: "Packet forwarding"},
{ID: "ibc-ratelimit", IsSelected: false, Details: "Thresholds for outflow as a percent of total channel value"},
{ID: "cosmwasm", IsSelected: false, Details: "Cosmos smart contracts"},
{ID: "evm", IsSelected: false, Details: "Ethereum Virtual Machine Integration"},
{ID: "wasm-light-client", IsSelected: false, Details: "08 Wasm Light Client"},
{ID: "optimistic-execution", IsSelected: true, Details: "Pre-process blocks ahead of consensus request"},
{ID: "block-explorer", IsSelected: false, Details: "Ping Pub Explorer"},
Expand Down
5 changes: 5 additions & 0 deletions cmd/spawn/new_chain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,11 @@ func TestDisabledGeneration(t *testing.T) {
Disabled: []string{spawn.CosmWasm, spawn.WasmLC},
NotContainAny: []string{"wasmkeeper", "wasmtypes"},
},
{
Name: "noevm",
Disabled: []string{spawn.EVM},
NotContainAny: []string{"evmkeeper", "evmos/os"},
},
}

// single module removal
Expand Down
3 changes: 2 additions & 1 deletion docs/versioned_docs/version-v0.50.x/00-meet-spawn.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@ Spawn is the easiest way to build, maintain and scale an Interchain blockchain.

## Testimonials

<!-- markdown-link-check-disable -->
> "Spawn is a marked transformation in CosmosSDK protocol development, allowing scaffolding and upgrading from 0.47 to 0.50 to be achievable and understandable. Without the tool, this would have been a dedicated multi-month effort" - Ash, [Burnt.com](https://twitter.com/burnt_xion)


<!-- markdown-link-check-disable -->
> "Spawn has truly streamlined the developer onboarding process into the Cosmos ecosystem, seamless and efficient." - [Anil](https://x.com/anilcse_/status/1840444855576846355) [VitWit](https://www.vitwit.com/)

---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Install Spawn from source.

```bash
# Install from latest source
git clone https://github.com/rollchains/spawn.git --depth 1 --branch v0.50.12
git clone https://github.com/rollchains/spawn.git --depth 1 --branch v0.50.13

# Change to this directory
cd spawn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,13 @@ This topic is a little more advanced due to technical speak. It is condensed to

## Choose for me (TLDR)

<!-- markdown-link-check-disable -->
If you just want to build an application and don't want to focus on tokenomics or game theory, use [proof of authority](#proof-of-authority-poa). If a token is part of your product or required to financially reward users with some lock mechanism and long term incentives, use [proof of stake](#proof-of-stake-pos). If you have plans for a large amount of value to be secured or don't want to run your own network nodes, use [interchain security](#interchain-security-ics).

## Proof of Authority (PoA)

### Default
<!-- markdown-link-check-disable -->
If you do not know which security module best fits for you, use this one. The source code for this feature can be found [here](https://github.com/strangelove-ventures/poa). The most popular example of this security model is [Circle's](https://www.circle.com/en/) USDC issuance network, [Noble](https://www.noble.xyz/) ([twitter](https://twitter.com/noble_xyz)).

### What it does
Expand Down
27 changes: 17 additions & 10 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/rollchains/spawn

go 1.22.11
go 1.23.0

toolchain go1.23.1

Expand Down Expand Up @@ -44,7 +44,7 @@ require (
cosmossdk.io/core v0.12.0 // indirect
cosmossdk.io/depinject v1.1.0 // indirect
cosmossdk.io/errors v1.0.1 // indirect
cosmossdk.io/log v1.4.1 // indirect
cosmossdk.io/log v1.5.0 // indirect
cosmossdk.io/math v1.5.0 // indirect
cosmossdk.io/store v1.1.1 // indirect
cosmossdk.io/x/evidence v0.1.1 // indirect
Expand All @@ -67,7 +67,9 @@ require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect
github.com/bits-and-blooms/bitset v1.10.0 // indirect
github.com/bits-and-blooms/bitset v1.17.0 // indirect
github.com/bytedance/sonic v1.12.3 // indirect
github.com/bytedance/sonic/loader v0.2.0 // indirect
github.com/calmh/randomart v1.1.0 // indirect
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
Expand All @@ -77,6 +79,8 @@ require (
github.com/charmbracelet/glamour v0.6.0 // indirect
github.com/charmbracelet/lipgloss v0.6.0 // indirect
github.com/chzyer/readline v1.5.1 // indirect
github.com/cloudwego/base64x v0.1.4 // indirect
github.com/cloudwego/iasm v0.2.0 // indirect
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
github.com/cockroachdb/errors v1.11.3 // indirect
github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect
Expand All @@ -95,7 +99,7 @@ require (
github.com/cosmos/gogoproto v1.7.0 // indirect
github.com/cosmos/iavl v1.2.2 // indirect
github.com/cosmos/ibc-go/modules/capability v1.0.1 // indirect
github.com/cosmos/ibc-go/v8 v8.5.1 // indirect
github.com/cosmos/ibc-go/v8 v8.5.2 // indirect
github.com/cosmos/ics23/go v0.11.0 // indirect
github.com/cosmos/interchain-security/v5 v5.1.1 // indirect
github.com/cosmos/ledger-cosmos-go v0.14.0 // indirect
Expand All @@ -106,15 +110,15 @@ require (
github.com/dgraph-io/badger/v4 v4.2.0 // indirect
github.com/dgraph-io/ristretto v0.1.1 // indirect
github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect
github.com/dlclark/regexp2 v1.4.0 // indirect
github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 // indirect
github.com/docker/distribution v2.8.2+incompatible // indirect
github.com/docker/docker v24.0.9+incompatible // indirect
github.com/docker/go-connections v0.5.0 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/dvsekhvalnov/jose2go v1.6.0 // indirect
github.com/emicklei/dot v1.6.2 // indirect
github.com/fatih/color v1.15.0 // indirect
github.com/fatih/color v1.16.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/getsentry/sentry-go v0.27.0 // indirect
Expand All @@ -135,7 +139,7 @@ require (
github.com/golang/protobuf v1.5.4 // indirect
github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect
github.com/google/btree v1.1.3 // indirect
github.com/google/flatbuffers v2.0.8+incompatible // indirect
github.com/google/flatbuffers v23.5.26+incompatible // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/orderedcode v0.0.1 // indirect
github.com/google/s2a-go v0.1.7 // indirect
Expand All @@ -156,7 +160,7 @@ require (
github.com/hashicorp/go-metrics v0.5.3 // indirect
github.com/hashicorp/go-plugin v1.5.2 // indirect
github.com/hashicorp/go-safetemp v1.0.0 // indirect
github.com/hashicorp/go-version v1.6.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/hashicorp/golang-lru v1.0.2 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
Expand All @@ -170,11 +174,12 @@ require (
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/jmhodges/levigo v1.0.0 // indirect
github.com/klauspost/compress v1.17.9 // indirect
github.com/klauspost/cpuid/v2 v2.2.7 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/leodido/go-urn v1.2.1 // indirect
github.com/lib/pq v1.10.9 // indirect
github.com/linxGnu/grocksdb v1.8.14 // indirect
github.com/linxGnu/grocksdb v1.9.8 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
Expand Down Expand Up @@ -231,6 +236,7 @@ require (
github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect
github.com/tendermint/go-amino v0.16.0 // indirect
github.com/tidwall/btree v1.7.0 // indirect
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
github.com/ulikunitz/xz v0.5.11 // indirect
github.com/yuin/goldmark v1.5.2 // indirect
github.com/yuin/goldmark-emoji v1.0.1 // indirect
Expand All @@ -245,13 +251,14 @@ require (
go.opentelemetry.io/otel/trace v1.32.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/arch v0.3.0 // indirect
golang.org/x/crypto v0.32.0 // indirect
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
golang.org/x/net v0.34.0 // indirect
golang.org/x/oauth2 v0.24.0 // indirect
golang.org/x/sync v0.10.0 // indirect
golang.org/x/sys v0.29.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/time v0.9.0 // indirect
google.golang.org/api v0.186.0 // indirect
google.golang.org/genproto v0.0.0-20240701130421-f6361c86f094 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20241202173237-19429a94021a // indirect
Expand Down
Loading
Loading