# Midnight Network Documentation > Complete developer documentation for Midnight Network This file contains links to documentation sections following the llmstxt.org standard. ## Table of Contents - [Midnight Documentation](https://docs.midnight.network/overview): Build privacy-preserving applications with selective disclosure and zero-knowledge proofs on Midnight. - [What is Midnight?](https://docs.midnight.network/overview/what-is-midnight): import VideoPlayer from '@site/src/components/video-player/VideoPlayer'; - [Create your first Midnight contract](https://docs.midnight.network/getting-started/hello-world): Learn how to create and compile a Hello World smart contract on Midnight's Preprod network. - [Get started](https://docs.midnight.network/getting-started): Start building on Midnight. - [Install the toolchain](https://docs.midnight.network/getting-started/installation): Get your Midnight development environment running to set up tools, configure wallets, and deploy your first zero-knowledge application. - [Bulletin board DApp](https://docs.midnight.network/examples/bboard): Learn how the bulletin board DApp demonstrates privacy-preserving message posting with Zero Knowledge proofs on Midnight Network. - [Counter DApp](https://docs.midnight.network/examples/counter): Learn how the counter DApp works on Midnight Network. - [Account model](https://docs.midnight.network/concepts/account): If you've built on Ethereum, Polygon, BSC, or any EVM-compatible chain, you're already intimately familiar with the Account model. But have you eve... - [Concepts](https://docs.midnight.network/concepts): import { Link } from '@docusaurus/Link'; - [Kachina](https://docs.midnight.network/concepts/kachina): Kachina is a data-protecting smart contract solution that enables its users to achieve confidential and general-purpose smart contract functionalit... - [Ledgers](https://docs.midnight.network/concepts/ledgers): If you're coming from Ethereum or other EVM chains, you're about to encounter one of the most fundamental differences in blockchain architecture. T... - [UTXO model](https://docs.midnight.network/concepts/utxo): Welcome to the world of UTXOs—a fundamentally different way of thinking about digital value! If the Account model felt familiar because it mirrors ... - [Web3](https://docs.midnight.network/concepts/web3): Web3 represents the next evolution of the internet, characterized by decentralization, transparency, and user empowerment. Unlike Web2, which relie... - [Zero-knowledge proofs](https://docs.midnight.network/concepts/zero-knowledge-proofs): A zero-knowledge proof (ZKP) allows someone to prove they know a secret without revealing it. For example, a ZKP can prove that an attribute has a ... - [Zswap](https://docs.midnight.network/concepts/zswap): Supporting multiple asset types and enabling atomic swaps are crucial for enabling use cases such as decentralized finance (DeFi), which Midnight d... - [Get faucet tokens](https://docs.midnight.network/guides/acquire-tokens): Learn how to acquire test tokens for the Midnight Network. - [The Compact JavaScript Implementation: run your contracts off-chain](https://docs.midnight.network/guides/compact-javascript-runtime): Learn about the Compact JavaScript implementation for the Midnight Network. - [Deploy the hello world contract](https://docs.midnight.network/guides/deploy-mn-app): Deploy a compiled hello world smart contract to Midnight's Preprod network. - [Set up Bun for Midnight development](https://docs.midnight.network/guides/install-bun-runtime-midnight): Set up Bun package manager and the Compact compiler to build smart contracts and applications on the Midnight blockchain. - [Interact with hello world contract](https://docs.midnight.network/guides/interact-with-mn-app): Build a command-line interface to interact with a deployed hello world contract on the Midnight Network. - [Lace wallet](https://docs.midnight.network/guides/lace-wallet): Learn how to set up the Lace wallet for the Midnight Preview network. - [Midnight Preview Network onboarding guide](https://docs.midnight.network/guides/migrate-from-testnet-02-to-preview): Learn how to migrate your existing applications running on testnet-02 to the preview environment. - [Create a Next.js wallet connector](https://docs.midnight.network/guides/nextjs-wallet-connect): Learn how to create a Next.js application that connects to a wallet using the Midnight DApp Connector API. - [Create a React wallet connector](https://docs.midnight.network/guides/react-wallet-connect): Learn how to create a React application that connects to a wallet using the Midnight DApp Connector API. - [Proof server](https://docs.midnight.network/guides/run-proof-server): Learn how to run the proof server for the Midnight Network. - [DApp updatability](https://docs.midnight.network/guides/updatability): Learn about the updatability of DApps on the Midnight Network. - [Windows Compact Setup](https://docs.midnight.network/guides/windows-compact-setup): Learn how to set up the Midnight development environment on Windows using Windows Subsystem for Linux (WSL). - [The Compact language](https://docs.midnight.network/compact): At this point, you should have already seen Compact, our smart contract - [Security best practices](https://docs.midnight.network/compact/security): Learn about the security best practices for Compact. - [Testing and debugging](https://docs.midnight.network/compact/testing): :::note - [Writing a contract](https://docs.midnight.network/compact/writing): Midnight comes with its own programming language, - [Setting up Boot Nodes](https://docs.midnight.network/nodes/boot-node): A reference on setting up boot nodes for Midnight. - [Setting up Cardano-db-sync](https://docs.midnight.network/nodes/cardano-db-sync): A reference on setting up Cardano-db-sync for Midnight. - [Setting up Full and Archive Nodes](https://docs.midnight.network/nodes/full-node): A reference on setting up full and archive nodes for Midnight. - [Nodes in Midnight](https://docs.midnight.network/nodes): A reference on Midnight nodes. - [Node endpoints](https://docs.midnight.network/nodes/node-endpoints): A reference for important Midnight network parameters. - [Setting up RPC Nodes](https://docs.midnight.network/nodes/rpc-node): A reference on setting up RPC nodes for Midnight. - [Compact.js](https://docs.midnight.network/relnotes/compact-js): Compact.js provides a TypeScript-based execution environment for smart contracts compiled with the Compact compiler. - [Compact developer tools](https://docs.midnight.network/relnotes/compact-tools): Compact is Midnight's dedicated smart contract programming language, designed for building secure, efficient, and adaptable decentralized applicati... - [Compact compiler](https://docs.midnight.network/relnotes/compact): Compact is Midnight's smart contract programming language, designed for building secure, efficient, and adaptable decentralized applications. - [DApp Connector API](https://docs.midnight.network/relnotes/dapp-connector-api): DApp Connector API allows decentralized applications (DApps) to request wallet access, verify authorization, and retrieve service URIs for interact... - [Ledger](https://docs.midnight.network/relnotes/ledger): The ledger in Midnight is a public record of contract states and token states, consisting of Zswap’s cryptographic commitments and a mapping of con... - [Midnight Indexer](https://docs.midnight.network/relnotes/midnight-indexer): The Midnight Indexer is a set of components designed to optimize the flow of blockchain data from a Midnight node to end-user applications. It retr... - [Midnight.js](https://docs.midnight.network/relnotes/midnight-js): Midnight.js is a client library designed to facilitate the development of decentralized applications on the Midnight blockchain. - [Wallet API](https://docs.midnight.network/relnotes/midnight-wallet-api): Midnight Wallet API provides a comprehensive interface for wallet operations, defining the structure of the wallet state, the methods for interacti... - [Node](https://docs.midnight.network/relnotes/node): Node is a core component of the Midnight network, responsible for syncing, validating transactions, and maintaining the chain state. - [Onchain Runtime](https://docs.midnight.network/relnotes/onchain-runtime): Onchain Runtime is a component of the Midnight infrastructure that enables zero-knowledge proof generation, transaction verification, and privacy-p... - [Release Overview](https://docs.midnight.network/relnotes/overview):

Latest Stable Release

- [Proof Server](https://docs.midnight.network/relnotes/proof-server): Proof Server is a component of the Midnight infrastructure that enables zero-knowledge proof generation, transaction verification, and privacy-pres... - [Compatibility matrix](https://docs.midnight.network/relnotes/support-matrix): --- - [Wallet SDK](https://docs.midnight.network/relnotes/wallet): Midnight Wallet SDK is the SDK of the digital wallet designed for the Midnight blockchain, enabling users to securely store private keys, manage as... - [Glossary](https://docs.midnight.network/glossary/glossary): In Compact, the `ledger` declaration specifies the contract's contributions to the global ledger. - [FAQ](https://docs.midnight.network/troubleshoot/faq): There is no Midnight white paper, but the research paper 'Kachina – - [Fix package repository access failures](https://docs.midnight.network/troubleshoot/fix-package-repository-access-failures): Resolve 403 Forbidden errors when installing Midnight npm packages with three proven solutions. - [Fix version mismatch errors](https://docs.midnight.network/troubleshoot/fix-version-mismatch-errors): Resolve version compatibility issues between Midnight compiler, runtime, and other components using the official compatibility matrix. - [Getting help](https://docs.midnight.network/troubleshoot/getting-help): As a participant in the Midnight Testnet, you have the - [Troubleshoot Compact toolchain installation issue on NixOS](https://docs.midnight.network/troubleshoot/install-midnight-compact-tools-on-nixos): Troubleshoot Midnight Compact tools installation issue on NixOS - [Compiler Usage](https://docs.midnight.network/compact/compilation-and-tooling/compiler-usage): Compact Compiler Manual Page - [Visual Studio Code extension for Compact](https://docs.midnight.network/compact/compilation-and-tooling/vscode-plugin): The [Visual Studio Code extension] for Compact is a plugin - [Ledger data types](https://docs.midnight.network/compact/data-types/ledger-adt): Compact language version 0.21.0, compiler version 0.29.0. - [Opaque data types](https://docs.midnight.network/compact/data-types/opaque_data): Data types whose representations are visible are called transparent. These expose the inner structure of the data so that operations on the data ca... - [Formal grammar](https://docs.midnight.network/compact/reference/compact-grammar): import Iframe from "@site/src/components/IFrame/Iframe"; - [Explicit disclosure](https://docs.midnight.network/compact/reference/explicit_disclosure): Midnight supports the development of applications that preserve privacy whenever possible while allowing selective disclosure of private informatio... - [Compact reference](https://docs.midnight.network/compact/reference/lang-ref): Compact is a strongly statically typed, bounded smart contract language, designed to be - [Compact standard library](https://docs.midnight.network/compact/standard-library/README): **CompactStandardLibrary** ∙ [Detailed API reference](exports.md) - [Detailed API reference](https://docs.midnight.network/compact/standard-library/exports): Encapsulates an optionally present value. If `isSome` is `false`, `value` - [Building blocks](https://docs.midnight.network/concepts/how-midnight-works/building-blocks): Midnight's transaction structure is unique and may not be immediately - [The Impact VM](https://docs.midnight.network/concepts/how-midnight-works/impact): :::info - [Private data](https://docs.midnight.network/concepts/how-midnight-works/keeping-data-private): This document describes some strategies for keeping data private in - [Midnight's hybrid architecture](https://docs.midnight.network/concepts/how-midnight-works/midnight-combined-model): Midnight combines approaches to create a hybrid architecture that doesn't force you to choose between models but integrates both to maximize benefits. - [Transaction semantics](https://docs.midnight.network/concepts/how-midnight-works/semantics): Midnight's ledger consists of two items: - [Smart contracts on Midnight](https://docs.midnight.network/concepts/how-midnight-works/smart-contracts): import CodeBlock from '@theme/CodeBlock'; - [Zswap](https://docs.midnight.network/concepts/how-midnight-works/zswap): :::info - [Consensus](https://docs.midnight.network/concepts/network-architecture/consensus): A reference on consensus in Midnight nodes. - [Cryptography](https://docs.midnight.network/concepts/network-architecture/cryptography): A reference on cryptography in Midnight nodes. - [Onchain Logic and State](https://docs.midnight.network/concepts/network-architecture/onchain-logic): A reference on onchain logic and state in Midnight nodes. - [P2P Networking](https://docs.midnight.network/concepts/network-architecture/p2p-networking): A reference on P2P networking in Midnight nodes. - [RPC Interface](https://docs.midnight.network/concepts/network-architecture/rpc-networking): A reference on RPC interface. - [Storage](https://docs.midnight.network/concepts/network-architecture/storage): A reference on storage in Midnight nodes. - [Transactions](https://docs.midnight.network/concepts/network-architecture/transactions): A reference on transactions in Midnight nodes. - [Guarantees and limitations](https://docs.midnight.network/concepts/security/guarantees-and-limitations): :::note - [Smart contract security](https://docs.midnight.network/concepts/security/smart-contract-security): :::note - [Bulletin board DApp](https://docs.midnight.network/examples/_bboard/bboard-dapp): Learn how to create a bulletin board DApp using the Midnight API and Compact compiler. - [Midnight test environment](https://docs.midnight.network/examples/_bboard/local-testing): Learn how to run a Midnight test environment for the bulletin board DApp locally using Docker. - [Bulletin board scenario](https://docs.midnight.network/examples/_bboard/scenario): Learn how to implement an online version of a bulletin board using the Midnight API and Compact compiler. - [The counter contract](https://docs.midnight.network/examples/_counter/contract-details): The remainder of this part of the tutorial examines first the - [Build the counter DApp](https://docs.midnight.network/examples/_counter/counter-build): To keep the code short enough to read easily, the counter DApp uses a text-based user interface, - [Run the counter DApp](https://docs.midnight.network/examples/_counter/counter-run): Now you are ready to run the counter DApp, deploying a new instance of - [Midnight examples repository](https://docs.midnight.network/examples/_counter/examples-repo): 1. Clone the [Counter Dapp repository](https://github.com/midnightntwrk/example-counter). - [Become a Midnight Block Producer](https://docs.midnight.network/nodes/_run-a-validator): import vidThumbnail from './images/vid_thumb_become_producer.png'; - [Begin operating a Cardano Stake Pool](https://docs.midnight.network/nodes/_run-a-validator/step-1): Midnight serves as a partner-chain to Cardano, presenting a distinctive opportunity for Cardano Stake Pool Operators (SPOs) to uphold the decentral... - [Configure Partner-Chains Dependencies](https://docs.midnight.network/nodes/_run-a-validator/step-2): This guide describes how to configure partner-chain dependencies, including [Cardano-node](https://github.com/IntersectMBO/cardano-node), [Cardano-... - [Register SPO as a candidate in the block producer committee](https://docs.midnight.network/nodes/_run-a-validator/step-3): - Operate a Cardano SPO and have the following Cardano keys handy: - [Run a Midnight node in Validator Mode](https://docs.midnight.network/nodes/_run-a-validator/step-4): - `Postgres` PORT should be accessible to the `midnight-node` and `cardano-db-sync` should be fully synced (Step 2). - [Set up a Cardano Stake Pool on testnet](https://docs.midnight.network/nodes/_tutorials): This document is intended for those within the Midnight community looking to set up a Cardano Stake Pool on the testnet. - [Zero Knowledge loan DApp](https://docs.midnight.network/tutorials/advanced/zk-loan-dapp): Build a zero knowledge loan DApp on Midnight Network. - [Build the bulletin board CLI](https://docs.midnight.network/tutorials/beginner/bboard/bboard-cli): Learn how to build a privacy-preserving bulletin board CLI on Midnight Network. - [Build the bulletin board contract](https://docs.midnight.network/tutorials/beginner/bboard/smart-contract): Learn how to build a privacy-preserving bulletin board contract on Midnight Network. - [Build the counter CLI](https://docs.midnight.network/tutorials/beginner/counter/counter-cli): Learn how to build a counter CLI DApp on Midnight Network. - [Build the counter contract](https://docs.midnight.network/tutorials/beginner/counter/smart-contract): Learn how to build a counter contract on Midnight Network. - [Intermediate tutorials](https://docs.midnight.network/tutorials/intermediate): :::info