Neutron Documentation
Getting Started

Developer Quickstart

Start building on Neutron in minutes

This guide will help you quickly set up your development environment and start building on Neutron. You'll learn how to set up dependencies, run a local environment, and deploy your first smart contract.

New to Neutron development? We recommend starting with our Onboarding Tutorial Series which provides a comprehensive, step-by-step introduction to building on Neutron.

Environment Setup

    Cosmopark Development Environment

    Cosmopark provides a complete local development environment with interconnected Neutron and Gaia nodes, IBC relayers, and everything you need to start developing cross-chain applications.

      For a comprehensive guide to setting up your development environment with Cosmopark, check out our Cosmopark Tutorial.

      Create and Deploy a CosmWasm Smart Contract

        Interchain Development with Neutron

        One of Neutron's most powerful features is the ability to query and interact with other blockchains. Here's a quick example using Interchain Queries (ICQ):

        // In your contract's execute function
        pub fn execute_icq_query(
            deps: DepsMut,
            env: Env,
            connection_id: String,
        ) -> Result<Response, ContractError> {
            // Create an ICQ request to query account balance on Cosmos Hub
            let icq_msg = NeutronMsg::RegisterInterchainQuery {
                query_type: QueryType::KV {
                    connection_id,
                    keys: vec![Key {
                        path: "bank/balances/cosmos1m9l358xunhhwds0568za49mzhvuxx9uxre5tgh".to_string(),
                        key: Binary::from(b"denom_key"),
                    }],
                },
                transactions_filter: TransactionsFilterType::None,
                update_period: 10,
            };
        
            // Return the message in the response
            Ok(Response::new()
                .add_message(icq_msg)
                .add_attribute("action", "register_icq"))
        }
        

        Development Tools

        Structured Learning Path

        What's Next?

        Need help? Join our Discord server and check out the #developers channel for support from the Neutron team and community.