# Developer Guide

## Developer Guide

- [Wallet Overview](https://docs.railgun.org/developer-guide/wallet/wallet-overview.md): RAILGUN Wallet SDK adds incognito mode to any crypto wallet
- [Org](https://docs.railgun.org/developer-guide/wallet/org.md)
- [Getting Started](https://docs.railgun.org/developer-guide/wallet/getting-started.md): How to set up RAILGUN Wallet SDK for your crypto wallet
- [1. Setting Up Environment Constants](https://docs.railgun.org/developer-guide/wallet/getting-started/1.-setting-up-environment-constants.md)
- [2. Setting up networks and RPC providers](https://docs.railgun.org/developer-guide/wallet/getting-started/2.-setting-up-networks-and-rpc-providers.md)
- [3. Set Up Database](https://docs.railgun.org/developer-guide/wallet/getting-started/3.-set-up-database.md)
- [4. Build a persistent store for artifact downloads](https://docs.railgun.org/developer-guide/wallet/getting-started/4.-build-a-persistent-store-for-artifact-downloads.md)
- [5. Start the RAILGUN Privacy Engine](https://docs.railgun.org/developer-guide/wallet/getting-started/5.-start-the-railgun-privacy-engine.md)
- [6. Load a Groth16 prover for each platform](https://docs.railgun.org/developer-guide/wallet/getting-started/6.-load-a-groth16-prover-for-each-platform.md)
- [7. Set up a debug logger](https://docs.railgun.org/developer-guide/wallet/getting-started/7.-set-up-a-debug-logger.md)
- [8. Connect engine network providers.](https://docs.railgun.org/developer-guide/wallet/getting-started/8.-connect-engine-network-providers..md)
- [9. Waku (optional)](https://docs.railgun.org/developer-guide/wallet/getting-started/9.-waku-optional.md)
- [Private Wallets](https://docs.railgun.org/developer-guide/wallet/private-wallets.md): Create or load an existing RAILGUN Wallet
- [Encryption Keys (new)](https://docs.railgun.org/developer-guide/wallet/private-wallets/encryption-keys-new.md): hash & encryption blocks from ORG
- [Encryption Keys](https://docs.railgun.org/developer-guide/wallet/private-wallets/encryption-keys.md)
- [RAILGUN Wallets](https://docs.railgun.org/developer-guide/wallet/private-wallets/railgun-wallets.md)
- [View-Only Wallets](https://docs.railgun.org/developer-guide/wallet/private-wallets/view-only-wallets.md)
- [Private Balances](https://docs.railgun.org/developer-guide/wallet/private-balances.md)
- [Balance and Sync Callbacks](https://docs.railgun.org/developer-guide/wallet/private-balances/balance-and-sync-callbacks.md)
- [Updating Balances](https://docs.railgun.org/developer-guide/wallet/private-balances/updating-balances.md)
- [QuickSync](https://docs.railgun.org/developer-guide/wallet/private-balances/quicksync.md)
- [Transactions](https://docs.railgun.org/developer-guide/wallet/transactions.md)
- [Transaction Utils](https://docs.railgun.org/developer-guide/wallet/transactions/transaction-utils.md): Functions used throughout the generation of all types of Railgun Interactions.
- [Shielding](https://docs.railgun.org/developer-guide/wallet/transactions/shielding.md): How to shield tokens into a RAILGUN Wallet
- [Shield ERC-20 tokens](https://docs.railgun.org/developer-guide/wallet/transactions/shielding/shield-erc-20-tokens.md)
- [Shield base token](https://docs.railgun.org/developer-guide/wallet/transactions/shielding/shield-base-token.md)
- [Shield NFTs](https://docs.railgun.org/developer-guide/wallet/transactions/shielding/shield-nfts.md)
- [Private Transfers](https://docs.railgun.org/developer-guide/wallet/transactions/private-transfers.md)
- [Private ERC-20 Transfers](https://docs.railgun.org/developer-guide/wallet/transactions/private-transfers/private-erc-20-transfers.md)
- [Private NFT Transfers](https://docs.railgun.org/developer-guide/wallet/transactions/private-transfers/private-nft-transfers.md)
- [Cross-Contract Calls](https://docs.railgun.org/developer-guide/wallet/transactions/cross-contract-calls.md)
- [Unshielding](https://docs.railgun.org/developer-guide/wallet/transactions/unshielding.md)
- [Unshield ERC-20 tokens](https://docs.railgun.org/developer-guide/wallet/transactions/unshielding/unshield-erc-20-tokens.md)
- [Unshield base token](https://docs.railgun.org/developer-guide/wallet/transactions/unshielding/unshield-base-token.md)
- [Unshield NFTs](https://docs.railgun.org/developer-guide/wallet/transactions/unshielding/unshield-nfts.md)
- [UX: Private Transactions](https://docs.railgun.org/developer-guide/wallet/transactions/ux-private-transactions.md)
- [Broadcasters](https://docs.railgun.org/developer-guide/wallet/broadcasters.md)
- [Broadcasters (DELETE)](https://docs.railgun.org/developer-guide/wallet/broadcasters-delete.md)
- [Cookbook Overview](https://docs.railgun.org/developer-guide/cookbook/cookbook-overview.md): RAILGUN Cookbook: Convert your dApp into a zkApp
- [Recipe Guide: Write a zkApp](https://docs.railgun.org/developer-guide/cookbook/write.md): dApp -> zkApp in 3 easy steps
- ["Step" — A smart contract call](https://docs.railgun.org/developer-guide/cookbook/write/step.md)
- ["Recipe" — Steps in series](https://docs.railgun.org/developer-guide/cookbook/write/recipe.md)
- ["Combo Meal" — 2+ Recipes](https://docs.railgun.org/developer-guide/cookbook/write/combo-meal.md)
- [Use your zkApp privately](https://docs.railgun.org/developer-guide/cookbook/use-your-zkapp-privately.md): "Cook a Recipe" anonymously with RAILGUN Quickstart
- [Engine Overview](https://docs.railgun.org/developer-guide/engine/engine-overview.md): RAILGUN Engine SDK for advanced RAILGUN integrations
- [Account Abstraction Overview](https://docs.railgun.org/developer-guide/engine-1/account-abstraction-overview.md): This document assumes a base level knowledge of Solidity/EVM and zkSNARKs.
- [Getting started with the contracts](https://docs.railgun.org/developer-guide/engine-1/getting-started-with-the-contracts.md)
- [Wallets](https://docs.railgun.org/developer-guide/engine-1/wallets.md)
- [State Structure](https://docs.railgun.org/developer-guide/engine-1/state-structure.md)
- [Example Primitives](https://docs.railgun.org/developer-guide/engine-1/example-primitives.md)
