Set up a modern Cosmos app by running one command ⚛️
cosmos-kit.mp4
# install
npm install -g create-cosmos-app
# run one command
create-cosmos-app
> name: my-app
cd my-app
yarn && yarn dev
# now your app is running on localhost:3000!
You don’t need to install or configure cosmjs, keplr, nextjs, webpack or Babel.
Everything is preconfigured, ready-to-go, so you can focus on your code!
- ⚡️ Connect easily to 15+ wallets via Cosmos Kit — including Ledger, Keplr, Cosmostation, Leap, Trust Wallet, XDEFI, Exodus, Wallet Connect and more!
- ⚛️ Sign and broadcast with cosmjs stargate + cosmwasm signers
- 🛠 Render pages with next.js hybrid static & server rendering
- 🎨 Build awesome UI with Cosmos Kit UI and Chakra UI
- 📝 Leverage chain-registry for Chain and Asset info for all Cosmos chains
🎥 Checkout our videos to learn to learn more about create-cosmos-app
and tooling for building frontends in the Cosmos!
Checkout cosmos-kit for more docs as well as cosmos-kit/react for getting cosmjs stargate and cosmjs signers.
To create a new app, you may choose one of the following methods:
npm install -g create-cosmos-app
Then run the command:
create-cosmos-app
we also made an alias cca
if you don't want to type create-cosmos-app
:
cca
npx create-cosmos-app
npm init cosmos-app
yarn create cosmos-app
Explore examples!
cca --example
cca --name send-example --example --template send-tokens
cca --name stake-example --example --template stake-tokens
cca --name vote-example --example --template vote-proposal
cca --name ibc-example --example --template ibc-transfer
cca --name grpc-example --example --template grpc-web-grpc-gateway
uses osmojs
cca --name osmo-example --example --template osmosis
or the cosmwasm example:
cca --name osmowasm-example --example --template osmosis-cosmwasm
uses osmojs to swap tokens
cca --name swap-example --example --template swap-tokens
uses osmojs to provide liquidity
cca --name liquidity-example --example --template provide-liquidity
cca --name asset-list-example --example --template asset-list
uses juno-network
cca --name juno-example --example --template juno
uses stargazejs
cca --name stargaze-example --example --template stargaze
uses stargazejs
cca --name nft-example --example --template nft
cca --name cosmwasm-example --example --template cosmwasm
cca --name tailwind-example --example --template tailwindcss
Because the nature of how template boilerplates are generated, we generate yarn.lock
files inside of nested packages so we can fix versions to avoid non-deterministic installations.
When adding packages, yarn workspaces will use the root yarn.lock
. It could be ideal to remove it while adding packages, and when publishing or pushing new changes, generating the nested lock files.
In the root, to remove all nested lock files:
yarn locks:remove
When you need to remove/generate locks for all nested packages, simply run yarn locks
in the root:
yarn locks
Checkout these related projects:
- @cosmwasm/ts-codegen for generated CosmWasm contract Typescript classes
- @cosmology/telescope a "babel for the Cosmos", Telescope is a TypeScript Transpiler for Cosmos Protobufs.
- chain-registry an npm module for the official Cosmos chain-registry.
- cosmos-kit A wallet connector for the Cosmos ⚛️
- create-cosmos-app set up a modern Cosmos app by running one command.
- starship a k8s-based unified development environment for Cosmos Ecosystem
🛠 Built by Cosmology — if you like our tools, please consider delegating to our validator ⚛️
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 or CLI, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value.