Skip to main content

IC Orientation

gm!

You find yourself in the home of documentation and developer resources for the Internet Computer (IC). The IC hosts special smart contracts, called canisters which are bundles of WebAssembly bytecode logic and memory pages. Dapps on the IC are created from one or more canisters.

To download the Internet Computer SDK, run the following command in a Linux or macOS terminal:

  sh -ci "$(curl -fsSL https://smartcontracts.org/install.sh)"

Installing the SDK provides more detailed installation instructions, including how to run the SDK on Windows using the Windows Subsystem for Linux (WSL).

Throughout this site, we have made an effort to organise information in a way that addresses different needs at different times. In the left navigation, you will see four different categories of documents, styled in different colors when active. Click through the tabs below to find an overview of each category.

A tour through the docs

The Developer Docs category contains all the information you will need get started and advance in building applications on the the IC. It is styled in blue, so whenever you see blue active links, you'll know you're in the Docs category. The structure is intended to guide you from getting started with canisters, to deploying and managing full projects on the IC.
Quickstart Buidling on the IC Integrating Functionality Updates & Releases

Quickstart

The quickstart gives a brief overview of a default dapp running on the IC. There, you will learn the basics about canisters, how to fuel them with cycles, and how to deploy to the IC.

Building on the IC

Moving on from the quickstart you may want to start building your own dapps. In doing that, there are a number of considerations that need to be made, all of which are described in the 'building' section. Here, you will learn about the SDK, considerations that need to be made during the project setup, and how to choose a language to develop in. When these preliminaries are decided, then you'll see tutorials that help structure and build the backend of your project, how to think about frontend and hosting on chain.

Integrate Functionality

Knowing how to set up a project, having picked your programming language of choice, and establishing a front and backend, you may want to add some extra functionality. This section outlines how to use the Rosetta API, how to integrate a ledger, and how to add authentication via Internet Identity.

Updates & Releases

This section contains release notes for new versions of the SDK, as well as some other news to stay up to date.

Glossary

Finally, the Glossary is, well, a glossary. It's ever-growing and we encourage you to add to it (either via the edit button on the page, or by cloning the github repo) and keep it growing.


Dive further down the rabbithole

We hope that you find most of the information you need here, but if not, or if you simply want more, there are many other resources for learning about the IC outside of this developer portal.

To get a first view

If you are new to the IC and want to get a first overview, these are some of the best places to start:

Follow the official DFINITY Twitter for the latest ecosystem updates and at the DFINITY Devs

To engage with the developer community

If you are a developer and you want to engage more with the community, the following are the best places to join:

  • Developer Discord, our official Discord for the developer community

  • Developer Forum, a welcoming space for technical discussions about building on the Internet Computer

You can follow us on the DFINITY Developer Twitter for the latest developer-specific updates.

To go deep

The Internet Computer is created by the Internet Computer Protocol (“ICP”), which has formed the world’s first web-speed, web-serving public blockchain. The Internet Computer is self-governing and can grow its capacity as required. It combines special node machines run en masse by independent data centers all around the world. Like all blockchains, it is unstoppable, and the code it hosts is tamperproof.

To learn more about the Internet Computer Protocol, check out the following resources:

  • Technical Library, for in-depth videos by our world-class R&D team explaining components of the Internet Computer Protocol. Worth noting in particular:

    • Chain Key Cryptography, one of the fundamental breakthroughs enabling the Internet Computer to scale to millions of nodes. The most notable innovation of Chain Key cryptography is that the Internet Computer has a single public key, which enables any device to verify the authenticity of artifacts generated by the Internet Computer, even smart watches and mobile phones.
  • Interface Specification, for a deeply technical document that provides an overview of the lower-level external interfaces of the Internet Computer

  • Internet Computer Dashboard, to monitor real-time metrics around the Internet Computer blockchain