What is the Internet Computer?
The Internet Computer is a decentralized blockchain protocol that enables autonomous serverless cloud functionality at web speed. Like the Internet (which is composed of many machines adhering to TCP/IP protocol) and blockchain protocols (such as Bitcoin and Ethereum), the Internet Computer is built on a novel consensus mechanism and cryptographic protocols. The Internet Computer blockchain runs on nodes installed in independent data centers around the world. These nodes are organized into subnet blockchains, which can host canisters — the Internet Computer’s version of smart contracts. Canisters are computational units that bundle together code and state, running concurrently and communicating asynchronously.Key Features
Web-Speed Performance
Process transactions and serve web content at speeds comparable to traditional cloud services
Unbounded Scalability
Scale capacity by adding new subnet blockchains without compromising decentralization
Chain-Key Cryptography
Novel cryptographic protocols including threshold signatures and non-interactive distributed key generation
Decentralized Governance
Network Nervous System (NNS) enables token holder governance of the entire protocol
Multi-Chain Integration
Native Bitcoin and Ethereum integration through chain-key signatures
Canister Smart Contracts
WebAssembly-based smart contracts that can serve web content and store unlimited data
Architecture Overview
The Internet Computer is built on several layers: Replica Software — The core client software that runs on every node, implementing the consensus protocol, execution environment, and state management. Network Nervous System (NNS) — A decentralized governance system that controls the network through proposals and voting by ICP token holders. Subnets — Independent blockchains that run in parallel, each hosting a subset of canisters. New subnets can be created to scale capacity. Canisters — Smart contracts that bundle code and state, with the ability to hold tokens, serve web content, and communicate with other canisters.Getting Started
Quickstart
Get the replica running locally in minutes
Building from Source
Build the Internet Computer replica from source code
Architecture Guide
Understand the system architecture and design
API Reference
Explore the core APIs and interfaces
Resources
GitHub Repository
View the source code and contribute
Developer Forum
Join the community discussions
Dashboard
Monitor network metrics and statistics
DFINITY Foundation
Learn about the foundation behind the Internet Computer
Who Should Use This Repository?
Systems Engineers & Cryptographers
Systems Engineers & Cryptographers
If you want to understand how the Internet Computer works under the hood by examining the source code and building it locally, this repository provides the complete implementation of the replica software.
Protocol Researchers
Protocol Researchers
Study the implementation of novel consensus mechanisms, chain-key cryptography, and the Network Nervous System governance protocol.
Node Providers
Node Providers
Learn how to run and maintain Internet Computer nodes that participate in the network. The repository includes IC-OS operating system images used by production nodes.
SDK & Tool Developers
SDK & Tool Developers
Build new SDKs, oracles, wallets, or tools that interact with the Internet Computer protocol at a low level.
Contributors
Contributors
Contribute improvements to the core protocol implementation. See our contributing guide for details.
If you’re an application developer looking to build dApps on the Internet Computer, you should use the Canister SDK instead, which provides a lightweight development environment optimized for canister development.