# Development

- [Getting Started](/secret-network-documentation/development/readme-1.md)
- [Setting Up Your Environment](/secret-network-documentation/development/readme-1/setting-up-your-environment.md): Environment configuration instructions to get started developing on Secret Network.
- [Cargo.toml Best Practices (Crates vs Dependencies)](/secret-network-documentation/development/readme-1/setting-up-your-environment/cargo.toml-best-practices-crates-vs-dependencies.md)
- [Compile and Deploy](/secret-network-documentation/development/readme-1/compile-and-deploy.md): In this example, we will compile, upload, and instantiate our first smart contract using SecretCLI and Secret Testnet.
- [Running the Application](/secret-network-documentation/development/readme-1/running-the-application.md): Learn how to use SecretCLI to handle messages to query and modify contract state.
- [Compile and Deploy on Secret testnet (best for Javascript devs)](/secret-network-documentation/development/readme-1/interacting-with-the-testnet.md): Get started developing on Secret Network using the public testnet and secret.js
- [Fullstack dApp Integration](/secret-network-documentation/development/readme-1/fullstack-dapp-integration.md): Learn how to write a full stack decentralized React application utilizing a Secret smart contract and Secret.js
- [Secret Contracts](/secret-network-documentation/development/development-concepts.md): Additional development concepts to improve your experience building on Secret Network.
- [Secret Contracts & CosmWasm](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework.md): A description of CosmWasm and the framework around it as implemented on Secret Network
- [Framework overview](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/framework-overview.md): A description of CosmWasm and the framework around it as implemented on Secret Network
- [Secret Contract Components](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components.md): This overview examines the core components of Secret Network smart contracts
- [Instantiation Message](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/init.md): An explainer of the Instantiate file inside of the CosmWasm code framework
- [Execution Message](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/handles.md): An explainer of the Execute file inside of the CosmWasm code framework
- [Query Message](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/queries.md): An explainer of the query file inside of the CosmWasm code framework
- [Deps/DepsMut](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/deps-depsmut.md): An explainer of the dependecies inside of the CosmWasm code framework
- [Storage](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/storage.md): An explainer on the varying storage frameworks for Secret contracts
- [Prefixed Storage](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/storage/prefixed-storage.md)
- [Singleton](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/storage/singleton.md): Working with a Singleton in CosmWasm
- [Keymap](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/storage/keymap.md): This hashmap-like storage structure uses generic typed keys to store objects.
- [Append Store](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/storage/append-store.md)
- [Best practices](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/contract-components/storage/contract-optimization.md)
- [CosmWasm vs Secret CosmWasm](/secret-network-documentation/development/development-concepts/secret-contract-cosmwasm-framework/differences-from-vanilla-cw.md): An introduction to the differences between standard CosmWasm smart contracts and Secret Contracts
- [Secret Tokens (SNIP-20)](/secret-network-documentation/development/development-concepts/create-your-own-snip-20-token-on-secret-network.md): Learn how to create a SNIP-20 token on Secret Network
- [Contract - module call](/secret-network-documentation/development/development-concepts/how-to-send-native-scrt.md): Explanation of executing modules inside a CosmWasm contract using sending Native SCRT as an example.
- [Secret contract - Design Space/Features](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals.md): A high-level overview of Secret smart contracts
- [Secret Contracts introduction](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/secret-contracts-introduction.md): This page describes some of the core information required to get up to speed about the state of Secret Contracts in comparison to public (cosmos) networks.
- [Gas/Fee usage](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/gas-fee-usage.md)
- [TPS and scalability](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/tps-and-scalability.md)
- [Privacy Essentials](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/privacy-essentials.md): Your start on privacy design for Secret smart contracts
- [Access Control](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/access-control.md)
- [Viewing Keys](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/access-control/viewing-keys.md)
- [Permits](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/access-control/permits.md)
- [Trusted and untrusted data](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/secret-contracts.md): This page explains the concept of input data verification, a required mechanism to ensure reliable privacy for secret contracts.
- [Secret-VRF - on-chain Randomness](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/secret-vrf-on-chain-randomness.md): An in-depth explanation of Secret VRF, a secure and verifiable random number generator
- [Privacy design](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/privacy-design.md)
- [Mitigate privacy risks - full guide](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/privacy-design/mitigate-privacy-risks-full-guide.md): Full example guide on mitigating privacy risks.
- [Gas Evaporation & Tracking](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/privacy-design/gas-evaporation-and-tracking.md): The equivalent of padding for gas\_used
- [Confidential Computing Layer](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/privacy-as-a-service-paas.md): A technical deep-dive into how Secret can provide confidential computation to dApps on other blockchains by leveraging cross-chain communication and Secret contracts.
- [Fiat/Crypto Onboarding](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/fiat-crypto-onboarding.md)
- [Account abstraction](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/account-abstraction.md)
- [Fee abstraction](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/fee-abstraction.md)
- [Wallet support](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/wallet-support.md)
- [Bridge (messaging/tokens)](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/bridge-messaging-tokens.md)
- [IBC (Hooks, PFM, Wasm)](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/ibc-hooks-pfm-wasm.md)
- [Price Oracles](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/price-oracles.md)
- [Auto Restaking](/secret-network-documentation/development/development-concepts/secret-contract-fundamentals/auto-restaking.md)
- [Permissioned Viewing](/secret-network-documentation/development/development-concepts/permissioned-viewing.md): Deciding who can and can't see your private data, and how to do it.
- [Viewing Keys](/secret-network-documentation/development/development-concepts/permissioned-viewing/viewing-keys.md): Introduction to Secret Network viewing keys with code examples
- [Permits](/secret-network-documentation/development/development-concepts/permissioned-viewing/certs-viewing-permits.md): Permits are the successor to viewing keys. With increases in efficiency made in the Shockwave update they are now the defacto viewing permission method in almost every situation.
- [Cross Contract Communication](/secret-network-documentation/development/development-concepts/cross-contract-communication.md): Step-by-step guide on how to execute Secret Network smart contracts that communicate with each other
- [Submessages](/secret-network-documentation/development/development-concepts/submessages.md): Learn how to use submessages on Secret Network
- [get\_contract\_code\_hash](/secret-network-documentation/development/development-concepts/submessages/get_contract_code_hash.md): get\_contract\_code\_hash helper function
- [Randomness API - Secret VRF](/secret-network-documentation/development/development-concepts/randomness-api.md): An introduction to Secret VRF, a secure and verifiable random number generator
- [Native On-chain randomness](/secret-network-documentation/development/development-concepts/randomness-api/native-on-chain-randomness.md): A step-by-step tutorial of how to use Secret Network's randomness API to generate a coin flip
- [Randomness over IBC](/secret-network-documentation/development/development-concepts/randomness-api/randomness-over-ibc.md)
- [Execution Finalization](/secret-network-documentation/development/development-concepts/execution-finalization.md)
- [Factory Contracts](/secret-network-documentation/development/development-concepts/factory-contracts.md)
- [Contract Migration](/secret-network-documentation/development/development-concepts/contract-migration.md): Optionally perform code and state migrations of Secret Network smart contracts
- [Manual - < v1.11](/secret-network-documentation/development/development-concepts/contract-migration/manual-less-than-v1.11.md)
- [Native - from v1.11](/secret-network-documentation/development/development-concepts/contract-migration/native-from-v1.11.md): Optionally perform state migrations of Secret Network smart contracts
- [Contract Migration Flow from v1.21](/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21.md): Overview
- [Summary of Key Changes](/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21/summary-of-key-changes.md)
- [Technical Details](/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21/technical-details.md)
- [Migration Logic](/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21/migration-logic.md)
- [CLI Commands](/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21/cli-commands.md)
- [Migration Guide](/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21/migration-guide.md)
- [Usage Examples](/secret-network-documentation/development/development-concepts/contract-migration/contract-migration-flow-from-v1.21/usage-examples.md): Examples on how to deploy or migrate contracts
- [Cross-deploy Vanilla CW and Secret Contracts](/secret-network-documentation/development/development-concepts/cross-deploy-vanilla-cw-and-secret-contracts.md): A description of building the same code for both vanilla CosmWasm and the Secret version.
- [Testing Secret Contracts](/secret-network-documentation/development/development-concepts/testing.md): Introduction to writing tests for Secret Smart Contracts
- [Unit Tests](/secret-network-documentation/development/development-concepts/testing/unit-tests.md): How to write Unit Tests for Secret Contracts
- [Continuous Integration](/secret-network-documentation/development/development-concepts/testing/continuous-integration.md)
- [Datatype Handling - Uint, floats etc.](/secret-network-documentation/development/development-concepts/testing/data-handling.md)
- [Secret Contract - Reference, Guides, Examples](/secret-network-documentation/development/example-contracts.md): Helpful references for writing Secret Network contracts as well as building full-stack Secret Networks dApps.
- [Starter guide - Millionaire's Problem](/secret-network-documentation/development/example-contracts/millionaires-problem.md)
- [Reference Contracts](/secret-network-documentation/development/example-contracts/community-tutorials.md): This page is dedicated to community tutorials and code repositories that provide helpful references for writing Secret Network contracts as well as building full-stack Secret Networks dApps.
- [Open source dApps](/secret-network-documentation/development/example-contracts/open-source-dapps.md)
- [Tools & Libraries](/secret-network-documentation/development/example-contracts/tools-and-libraries.md)
- [Network interaction SDKs](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks.md)
- [Secret.js (JavaScript)](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret.js-javascript.md)
- [SecretPy (Python)](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secretpy.md)
- [SecretK (Kotlin)](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secretk-kotlin.md)
- [Secret.NET](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net.md)
- [Snippets](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets.md)
- [Deploying a Contract](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/deploying-a-contract.md)
- [Send Native Coin](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/send-native-coin.md)
- [Query a Contract](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/query-a-contract.md)
- [Create a new Wallet](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/create-a-new-wallet.md)
- [Permits](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/permits.md)
- [SNIP20](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/snip20.md)
- [SNIP721](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/secret-net/snippets/snip721.md)
- [Shade.Js](/secret-network-documentation/development/example-contracts/tools-and-libraries/network-interaction-sdks/shade.js.md)
- [LocalSecret - Devnet docker](/secret-network-documentation/development/example-contracts/tools-and-libraries/local-secret.md): A local, instant, zero-config Secret Network blockchain.
- [Smart contract - Tools/Utils](/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils.md)
- [Secret Toolkit](/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/secret-toolkit.md)
- [CW-Plus](/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/cw-plus.md)
- [Fadroma - SC framework](/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/fadroma.md)
- [Hidden Gems](/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/hidden-gems.md): Quick breakdown of additional tools to use for development
- [Other](/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/contract-development.md)
- [Secret IDE](/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/contract-development/secret-ide.md)
- [Polar](/secret-network-documentation/development/example-contracts/tools-and-libraries/smart-contract-tools-utils/contract-development/polar.md)
- [Frontend Development](/secret-network-documentation/development/frontend.md): Learn how to connect Secret Network contracts to a frontend.
- [Getting Started with SecretJS](/secret-network-documentation/development/frontend/templates.md): Learn how to install and use SecretJS.
- [Usage Examples](/secret-network-documentation/development/frontend/templates/usage-examples.md): SecretJS usage examples.
- [Sending Queries](/secret-network-documentation/development/frontend/templates/usage-examples/sending-queries.md): Learn how to send queries with SecretJS.
- [Sending Messages](/secret-network-documentation/development/frontend/templates/usage-examples/sending-messages.md): Learn how to send messages with SecretJS.
- [Contract Migration](/secret-network-documentation/development/frontend/templates/usage-examples/contract-migration.md): Learn how to do contract migration with SecretJS.
- [Wallet Integrations](/secret-network-documentation/development/frontend/templates/usage-examples/wallet-integrations.md): Learn how to integrate various web3 wallets with SecretJS.
- [Query Permits](/secret-network-documentation/development/frontend/templates/usage-examples/query-permits.md): Learn how to use query permits with SecretJS.
- [SNIP20 (SCRT Tokens)](/secret-network-documentation/development/frontend/templates/usage-examples/snip20-scrt-tokens.md): Learn how to send SNIP20 tokens with SecretJS.
- [SNIP721 (Secret NFTs)](/secret-network-documentation/development/frontend/templates/usage-examples/snip721-secret-nfts.md): Learn how to send SNIP721s with SecretJS.
- [Feegrant](/secret-network-documentation/development/frontend/feegrant.md)
- [Understanding Feegrant allowances](/secret-network-documentation/development/frontend/feegrant/understanding-feegrant-allowances.md)
- [Grant allowances](/secret-network-documentation/development/frontend/feegrant/grant-allowances.md)
- [Using grant allowances to execute transactions](/secret-network-documentation/development/frontend/feegrant/using-grant-allowances-to-execute-transactions.md)
- [Using the Fee Grant Faucet](/secret-network-documentation/development/frontend/feegrant/using-the-fee-grant-faucet.md)
- [Deployment Addresses/ API Endpoints](/secret-network-documentation/development/resources-api-contract-addresses.md)
- [Secret (SNIP 20) token contracts list](/secret-network-documentation/development/resources-api-contract-addresses/secret-token-contracts.md)
- [SNIP Asset naming guidelines](/secret-network-documentation/development/resources-api-contract-addresses/secret-token-contracts/snip-asset-naming-guidelines.md)
- [Connecting to the Network](/secret-network-documentation/development/resources-api-contract-addresses/connecting-to-the-network.md)
- [API Endpoints Mainnet (Secret-4)](/secret-network-documentation/development/resources-api-contract-addresses/connecting-to-the-network/mainnet-secret-4.md)
- [API Endpoints Testnet (Pulsar-3)](/secret-network-documentation/development/resources-api-contract-addresses/connecting-to-the-network/testnet-pulsar-3.md)
- [Usage examples](/secret-network-documentation/development/resources-api-contract-addresses/connecting-to-the-network/usage-examples.md)
- [Comparison of endpoint types](/secret-network-documentation/development/resources-api-contract-addresses/connecting-to-the-network/comparison-of-endpoint-types.md)
- [Create your own SNIP-25 IBC Token](/secret-network-documentation/development/resources-api-contract-addresses/create-your-own-snip-25-ibc-token.md)
