Difference between revisions of "Internet Computer wiki"

From Internet Computer Wiki
Jump to: navigation, search
(Undo revision 3043 by Katie.peters (talk))
Tag: Undo
(Undoing my errors.)
Line 1: Line 1:
This Node deployment runbook covers all steps necessary to install the Internet Computer Operating System (hereinafter called IC-OS).
+
==Welcome!==
The physical machine is expected to be racked and stacked according to the respective manual.
 
In case you encounter any issues during the installation process, we kindly ask you to send an email with the error message to:
 
 
  
Many thanks for your efforts in building the Internet Computer.
+
This is a general source of information about the '''Internet Computer (IC)''', the world's fastest and most powerful blockchain network<ref>https://medium.com/dfinity/the-internet-computers-transaction-speed-and-finality-outpace-other-l1-blockchains-8e7d25e4b2ef</ref>. Created for and by the IC community, topics vary from cryptography, network governance, user experience, tokenomics, developer tutorials and more.
  
== Requirements ==
+
==Introduction to the Internet Computer==
* A USB (3.0 speed that can hold at least 4GB) to put the image file on (A faster USB will allow the process to go much faster.)
+
The Internet Computer is a general-purpose blockchain that hosts [[canister smart contract]]s. It is designed to [[Replace traditional IT with a World Computer|provide a World Computer that can replace traditional IT]] and host a new generation of [[Web3]] services and applications that run solely from the blockchain, without the need for traditional IT. It can also play the role of Web3 orchestrator, by interacting with traditional blockchains.
* The Nitrokey HSM for your data center.
 
* A USB hub is helpful at some data centers, so you may wish to have one available.
 
* It is recommended that you have a plan for providing details if troubleshooting assistance is needed. We recommend that you track the serial number (on the pull-out tab) for each server and compare the screenshots in the directions with each step. If assistance is needed, you will need to provide:
 
** The serial number of the server in question
 
** Which step was last completed
 
** A screenshot or video showing any results that are different from what is expected.
 
** Verification of the HSM key and config.ini file that is being used.
 
  
== I. Download installation image ==
+
It has a completely unique design that reflects a ground-up rethink of blockchain architecture and the application of modern cryptography, [https://web.archive.org/web/20150914013643/http://dfinity.io/ which can be traced back to 2015]. It was built by the largest [https://dfinity.org/team ongoing R&D effort in crypto], which has employed many notable cryptographers, computer science researchers and engineers. The blockchain underwent genesis in May 2021 and became part of the public internet.
  
# Download the IC-OS disk image here: <br> https://download.dfinity.systems/blessed/ic/f736069ae6a6e39a73f211c587705e0f8dfdfb06/setup-os/disk-img/disk-img.tar.gz <br>
+
The Internet Computer blockchain's protocols leverage novel [[chain key cryptography]] to combine multiple [[subnet blockchain]]s into a single blockchain. This allows it to [https://en.wikipedia.org/wiki/Scalability#Horizontal_(scale_out)_and_vertical_scaling_(scale_up) horizontally scale] the total volume of hosted [[canister smart contract]], and their computations and data, without limit. These smart contracts run at web speed, and with web-levels of efficiency, and uniquely, thanks to the blockchain architecture enabled by chain key crypto, can process HTTP requests and directly and securely serve interactive web experiences to the end-users of web3 services, without need for [[trusted intermediaries]] (whereas on other blockchains, the web experience users interact with is generally built on centralized, insecure and trusted servers or cloud computing services).
# Download the corresponding checksum here:<br> https://download.dfinity.systems/blessed/ic/f736069ae6a6e39a73f211c587705e0f8dfdfb06/setup-os/disk-img/SHA256SUMS
 
  
== II. Verify checksum and unarchive file ==
+
Through these kinds of unique capabilities, the Internet Computer provides a platform that can be used to build mass market web3 services that run 100% on-chain, without any need for traditional IT, such as web servers and databases running on cloud computing services. The longer-term objective is that the Internet Computer will completely replace traditional IT, creating a ''blockchain singularity'', in which everything runs fully on-chain in powerful new forms where it is unstoppable and cannot be hacked.
=== Mac OS X ===
 
* Open the Terminal and type:
 
*: <syntaxhighlight lang="shell">shasum -a 256 ~/Downloads/disk-img.tar.gz</syntaxhighlight>
 
* Compare the calculated checksum with the file downloaded in the previous step. '''Warning:''' Only continue if they are identical, otherwise please contact the Internet Computer Association.
 
* In the Terminal type:
 
*: <syntaxhighlight lang="shell">tar xzvf ~/Downloads/disk-img.tar.gz</syntaxhighlight>
 
  
=== Linux / Ubuntu ===
+
The development of the Internet Computer has heralded numerous notable technological developments, such as [[chain key cryptography]] and programming languages such as [https://wiki.internetcomputer.org/wiki/Motoko Motoko]. In another notable advance, the Internet Computer hosts an advanced [https://en.wikipedia.org/wiki/Decentralized_autonomous_organization DAO] within its protocols, called the [[Network Nervous System]], which provides the community with direct control over network governance, and can upgrade the protocol running on its network nodes, without requiring the network to fork. The network's utility token is ICP (see [[Roles of the ICP utility token]]).
* Open the Terminal and type:
 
*: <syntaxhighlight lang="shell">sha256sum ~/Downloads/disk-img.tar.gz</syntaxhighlight>
 
* Compare the calculated checksum with the file downloaded in the previous step. '''Warning:''' Only continue if they are identical, otherwise please contact the Internet Computer Association.
 
* In the Terminal type:
 
*: <syntaxhighlight lang="shell">tar xzvf ~/Downloads/disk-img.tar.gz</syntaxhighlight>
 
  
=== Windows ===
+
A recent new technological advance has extended the Internet Computer's [[chain key cryptography]] protocols. This has enabled smart contracts hosted on the Internet Computer to directly interact with other blockchains, without need for dangerous centrally-controlled bridges or wrapping (see [[trustless multi-chain web3 using the IC]], and [[Extend Bitcoin, Ethereum and other blockchains|extending Bitcoin, Ethereum and other blockchains]]).
* Open PowerShell and type:
 
*: <syntaxhighlight lang="shell">Get-FileHash -Algorithm SHA256 .\Downloads\disk-img.tar.gz</syntaxhighlight>
 
* Compare the calculated checksum with the file downloaded in the previous step. '''Warning:''' Only continue if they are identical, otherwise please contact the Internet Computer Association.
 
* In PowerShell type:
 
*: <syntaxhighlight lang="shell">tar xzvf .\Downloads\disk-img.tar.gz</syntaxhighlight>
 
  
=== All Operating Systems ===
+
For example, a canister smart contract hosted on the Internet Computer can create bitcoin addresses, and directly send and receive bitcoins on the Bitcoin ledger as though it were hosted by the Bitcoin network itself. This is possible because chain key crypto enables blockchains to create public "chain keys", for which their nodes can create corresponding signatures. Recent work has now made it possible to create ECDSA chain keys. Since [https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm ECDSA] is the signature scheme used by most other blockchains, this means the Internet Computer can create TX on other blockchains.
* Compare the calculated checksum with the one provided by the DFINITY foundation. '''Only continue if they are identical''', otherwise please contact the DFINITY foundation.
 
  
== III. Create Bootable IC-OS USB Stick ==
+
Future work will enable its smart contracts to directly interact with other important blockchains such as [https://ethereum.org/en/ Ethereum]. This also leverages other important features such as [[HTTPS outcalls]]. As a consequence, many believe that the Internet Computer will play the role of an orchestration layer that combines different blockchains in the web3 environment, and helps combine them with off-chain services and systems, such as Web 2.0 services and enterprise systems, in a [[trustless]] way.
=== Mac OS X ===
 
# Open the Terminal and type:
 
#: <syntaxhighlight lang="shell">diskutil list</syntaxhighlight>
 
# The ''diskutil'' command simply shows all available drives. Verify the drive that identifies your USB stick.
 
# In this next command, edit ''/dev/sda'' if needed so that it refers to your USB stick and not any other drive. '''Warning:''' You risk losing your own data if you specify a wrong drive.
 
#:<syntaxhighlight lang="shell">dd if=~/Downloads/setup-os_<version>.img of=/dev/sda</syntaxhighlight>
 
  
=== Linux / Ubuntu ===
+
===Popular places to start===
# Open the Terminal and type
+
* [https://www.youtube.com/watch?v=IfM3I8pudFs&t=327s Internet Computer overview video from 2022 IC hackathon]
#: <syntaxhighlight lang="shell">blkid</syntaxhighlight>
+
* [https://www.youtube.com/watch?v=IfM3I8pudFs June 2022 IC hackathon, full launch video]
# The ''blkid'' command simply shows all available drives. Verify the drive that identifies your USB stick.
+
* [https://dfinity.org/icig.pdf Internet Computer Infographic (PDF)]
# In this next command, edit ''/dev/sda'' if needed so that it refers to your USB stick and not any other drive. '''Warning:''' You risk losing your own data if you specify a wrong drive.
+
<!-- Link is going to nowhere. Should be updated if target is clear. Uncommented for now.
#: <syntaxhighlight lang="shell">dd if=~/Downloads/setup-os_<version>.img of=/dev/sda </syntaxhighlight>  
+
* [https://internetcomputer.org/education#online-courses/ Internet Computer: Online Courses]
 +
-->
 +
* [[Glossary]]
  
=== Windows ===
+
===For a general audience===
# Download Rufus Portable from: https://rufus.ie/en/
+
* [[Internet Computer overview]]
# Start Rufus
+
* [[Internet Computer vision]]
# Select the USB stick under ''Device'' and ''SELECT'' the previously downloaded IC-OS disk image and press ''START''
+
* [https://dfinity.org/roadmap/ Internet Computer roadmap]
#: [[File:05.png|360px|screenshot]]
 
# You may see some warnings. Make sure you don't have any other USBs in your computer and chose ''OK''. '''Warning:''' You risk losing your own data if you specify a wrong drive.
 
#: [[File:06.png|360px|screenshot]]
 
#: [[File:07.png|360px|screenshot]]
 
# The ''Ready bar'' will go from left to right as it completes.
 
  
== IV. Add configuration ==
+
===For a more technical audience===
=== Mac OS X ===
+
* [https://eprint.iacr.org/2022/087 "Internet Computer for Geeks" paper]
# Open Finder. You should now be able to see the ''CONFIG'' partition. If it's not visible, remove the USB and insert it again.
+
* The [https://dfinity.org/howitworks "How it works" series] with videos and in-depth articles on various topics.
#: [[File:mac_01.png|480px|screenshot]]
+
* [https://www.reddit.com/r/dfinity/comments/ozboyi/megathread_technical_amas/ Technical AMAs on Reddit by different IC and DFINITY teams]
# Double-click to open it in TextEdit.
 
# Overwrite the example with your the IPv6 prefix, subnet and gateway of your data center.
 
#: [[File:mac_02.png|480px|screenshot]]
 
# Once done, don’t forget to save the changes. If you need help, please do not hesitate to contact the Internet Computer Association.
 
#: [[File:mac_03.png|480px|screenshot]]
 
  
=== Windows ===
+
== Internet Identity Introduction ==  
# Open the ''Disk Management'' utility with a right click on the ''Start menu''
+
One of the core benefits of building on the Internet Computer is that end users do not need to pay fees or use tokens to access and use dapps. As an alternative to authenticating from a wallet, users can authenticate with an Internet Identity. Learn more information about Internet Identity (II), a blockchain authentication framework supported by the Internet Computer:
#: [[File:09-b.png|250px|screenshot]]
 
# Right click the ''CONFIG'' partition
 
# Select ''Change drive letter or paths...''
 
#: [[File:10-b.png|560px|screenshot]]
 
# Select any letter from the drop-down list
 
#: [[File:11-b.png|360px|screenshot]]
 
# Click ''OK''.
 
# You should now be able to see the CONFIG partition in your Windows Explorer. Select the ''config.ini'' configuration file.
 
#: [[File:12-b.png|560px|screenshot]]
 
# Click on ''Edit'' to open it in a text-only editor. '''Do not use an editor that will add formatting, as this could cause the installation to fail.'''
 
# Overwrite the example with your own IPv6 prefix, subnet and gateway.
 
#: [[File:13-b.png|560px|screenshot]]
 
# Once done, don’t forget to save the changes. If you need help, please do not hesitate to contact the Internet Computer Association.
 
#: [[File:14-b.png|560px|screenshot]]
 
  
=== Linux ===
+
* [[What is Internet Identity]]
# Open the File Manager. You should now be able to see the ''CONFIG'' partition. If it's not visible, remove the USB and insert it again.
+
* [[How to create an Internet Identity]]
#: [[File:linux_01.png|560px|screenshot]]
+
* [[Internet Identity technical overview]]
# Double-click to open it in KWrite.
+
* [https://identity.ic0.app/ Internet Identity dapp]
# Overwrite the example with your own IPv6 prefix, subnet and gateway.
 
#: [[File:linux_02.png|560px|screenshot]]
 
# Once done, don’t forget to save the changes. If you need help, please do not hesitate to contact the Internet Computer Association.
 
#: [[File:linux_03.png|560px|screenshot]]
 
  
== V. Connect Crash Cart ==
+
==IC for Dapp Users ==
# In order to configure the UEFI and initiate the installation of the IC-OS, please connect a crash cart to the physical machine.
 
# Plug-in the VGA/Video, keyboard and IC-OS USB stick
 
#: [[File:08.png|580px|screenshot]]
 
  
== VI. UEFI - Enter System Setup and reset IDRAC password ==
+
If you use or are interested in using dapps on the Internet Computer, this section will help you understand the user experience benefits of the IC, how to use Internet Identity, or find more IC dapps.
# Reboot or power on the server.
 
# Watch for the ''blue screen'' with boot options in the top left corner.
 
# Press F2 a couple of times, once the options are listed.
 
# If your option is recognized by the system, it should be highlighting ''Entering System Setup''.
 
# In the System Setup, select iDRAC Settings and press enter.
 
#: [[File:rpviewer_(18).png|580px|screenshot]]
 
# Select User Configuration and press enter.
 
#: [[File:rpviewer_(19).png|580px|screenshot]]
 
# Select Change Password and press enter.
 
#: [[File:rpviewer_(21).png|580px|screenshot]]
 
# Enter in your desired password and select OK.
 
#: [[File:rpviewer_(22).png|580px|screenshot]]
 
# Select Back and Finish.
 
  
== VII. UEFI - System BIOS ==
+
Examples:
#
+
* [[Introduction to the Internet Computer for dapp users]]
#: In the System Setup, select ''System BIOS'' and press enter.
+
* [[Index of dapps on the Internet Computer]]
#: [[File:Select_System_Bios.png|580px|screenshot]]
 
#
 
#: In the System BIOS, select ''Processor Settings'' and press enter.
 
#: [[File:19.png|580px|screenshot]]
 
#
 
#: Set ''NUMA Nodes Per Socket'' to '''0'''
 
#: Set ''Minimum SEV non-ES ASID'' to '''253'''
 
#: Select ''back'' to return to System BIOS.
 
#: [[File:20.png|580px|screenshot]]
 
  
== VIII. UEFI - Boot Settings ==
+
See more in [[Internet Computer for dapp users]]
#
 
#: Select ''Boot Settings'' and press ''enter''.
 
#: [[File:21.png|580px|screenshot]]
 
#
 
#: Set ''Boot Mode'' to '''UEFI'''
 
#: Select ''back'' to return to System BIOS.
 
#: [[File:22.png|580px|screenshot]]
 
  
== IX. UEFI - Integrated Devices ==
+
== IC for ICP Token-holders, Stakers, and Neuron Holders==
#
 
#: Select ''Integrated Devices'' and press ''enter''.
 
#: [[File:23.png|580px|screenshot]]
 
#
 
#: Set ''PCIe Preferred IO Bus'' to '''Enabled'''
 
#: Set ''Enhanced Preferred IO'' to '''Enabled'''
 
#: Set ''SR-IOV Global Enable'' to '''Enabled'''
 
#: Select ''back'' to return to System BIOS.
 
#: [[File:24.png|580px|screenshot]]
 
  
== X. UEFI - Miscellaneous Settings ==
+
The Internet Computer is governed by on-chain governance system called the Network Nervous System (NNS). To participate on governance, users need to stake ICP tokens. This section will explain how the NNS works, ICP tokens, staking, voting, rewards, and options for managing one's ICP.
#
 
#: Select ''Miscellaneous Settings'' and press ''enter''.  
 
#: [[File:25.png|580px|screenshot]]
 
#
 
#: Set ''F1/F2 Prompt'' on Error to '''Disabled'''
 
#: Select ''back'' to return to System BIOS.
 
#: [[File:26.png|580px|screenshot]]
 
#
 
#: Select ''Finish'' and press ''enter''.
 
#: [[File:27.png|580px|screenshot]]
 
#
 
#: Select ''Yes'' to save the changes and press ''enter''.
 
#: [[File:28.png|580px|screenshot]]
 
#
 
#: Select ''OK'' and press ''enter''.
 
#: [[File:29.png|580px|screenshot]]
 
#
 
#: Confirm the exit and press ''enter''. The system will reboot now. '''Please do not unplug the IC-OS USB stick''' at this point.
 
  
== XI. Boot Manager - Enter Boot Manager ==
+
Examples:
#
+
* [[ICP token]]
#: Watch for the Blue screen with boot options in the top left corner. Press ''F11'' a couple of times, once the options are listed.
+
* [[Tutorials for acquiring, managing, and staking ICP]]
#: [[File:16.png|580px|screenshot]]
+
* [[Staking, voting and rewards]]
#
+
* [[Governance of the Internet Computer]]
#: If your option is recognized by the system, it should be highlighting Entering Boot Manager.
+
* [[Network Nervous System]]
#: [[File:32.png|580px|screenshot]]
+
* [[Total supply, circulating supply, and staked_ICP]]
#
 
#: In the Boot Manager, select ''One-shot UEFI Boot Menu'' and press ''enter''.
 
#: [[File:33.png|580px|screenshot]]
 
#
 
#: In the Boot Menu, select your ''USB device'' and press ''enter''.
 
#: [[File:34.png|580px|screenshot]]
 
  
== XII. IC-OS - Installer Boot ==
+
See more in [[Internet Computer token-holders, investors, and neuron holders]].
#
 
#: Please wait while the USB Installer is booting up. This process can take up to 3 minutes.
 
#: [[File:35-d.png|780px|screenshot]]
 
#
 
#: The IC-OS installation starts. Please keep an eye on the progress. This part can take up to 10 minutes (the duration heavily depends on the speed of the IC-OS USB device).
 
#: If you encounter any issues, please send an email with the error message to: [email protected]
 
#: [[File:36-d.png|780px|screenshot]]
 
#
 
#: Once you get asked to insert the HSM, please remove the keyboard and instead insert the HSM USB device.
 
#: [[File:37.png|580px|screenshot]]
 
#
 
#: If the installation finished successfully, it will initiate a reboot. '''Please do not unplug the IC-OS USB stick or HSM USB device''' at this point.
 
#: [[File:38-d.png|780px|screenshot]]
 
  
== XIII. IC-OS - First Boot ==
+
== IC for Smart Contract and Dapp Developers ==
#
 
#: The first boot of the IC-OS still requires the HSM USB device. Please wait until further instructions. This step can take up to 2 minutes.
 
#: [[File:39-d.png|780px|screenshot]]
 
#
 
#: '''Once you see this message, you may unplug the HSM USB device, IC-OS USB stick and VGA/Video.''' Your machine successfully joined the Internet Computer.
 
#: [[File:40-D.png|780px|screenshot]]
 
  
[[Node Provider Onboarding|Return to the Onboarding Document]]
+
The Internet Computer (IC) is a new platform for executing smart contracts. This section contains information for developers, including links to documentation, developer forums, and relevant dashboards.
 +
 
 +
Examples:
 +
* [[Canisters (dapps/smart contracts)]]
 +
* [https://smartcontracts.org/ Developer documentation on smartcontract.org]
 +
* [https://forum.dfinity.org/ IC community developer forum]
 +
<!--* [[Index of libraries for Internet Computer development]]-->
 +
<!--* [[Best practices for a high traffic dapp launch]]-->
 +
* [[Bitcoin integration]]
 +
* [[SNS Tokenization Considerations]]
 +
* [[Web Speed]]
 +
* [[Web Serving]]
 +
* [[Limitless Scaling]]
 +
* [[Users interact with dapps without tokens]]
 +
* [[Parallelism]]
 +
 
 +
If you've been programming smart contracts on Ethereum before, you should read [[The Internet Computer for Ethereum Developers]].
 +
 
 +
See more in [[Internet Computer for smart contract and dapp developers]].
 +
 
 +
== IC for the Curious, Researchers and Blockchain Enthusiasts ==
 +
 
 +
This section is for those interested in how the Internet Computer works under the hood. It touches many different subject areas from cryptography, consensus protocols, virtual machines, operating systems, networking, distributed systems, etc.
 +
 
 +
Examples:
 +
* [https://dfinity.org/howitworks/ How the Internet Computer Works]
 +
* [https://dashboard.internetcomputer.org/ Internet Computer dashboard]
 +
* [[Internet Computer performance]]
 +
* [[DFINITY Foundation]]
 +
* [[Bitcoin integration]]
 +
* [[Third-party security audits]]
 +
 
 +
See more in [[Internet Computer for researchers and blockchain enthusiasts]].
 +
 
 +
== For Node Providers ==
 +
Node providers invest in and operate node hardware, which powers the Internet Computer with processing and storage capacity. Running these nodes in data centers provides the high performance and the cost-effectiveness of the Internet Computer. Every node provider is allowed a limited amount of nodes.
 +
* [[Node Provider Onboarding]]
 +
* [[IC OS Installation Runbook - Dell Poweredge]]
 +
* [[IC OS Installation Runbook - Supermicro]]
 +
* [[Storage Runbook]]
 +
* [[Node rewards]]
 +
 
 +
== Technical Working Groups ==
 +
* [[Identity & Authentication]]
 +
* [[Developer Tooling]]
 +
* [[Ledger & Tokenization]]
 +
* [[Scalability & Performance]]
 +
 
 +
== FAQs, Tutorials, and How-tos==
 +
Tutorials are guided introductions to user stories, intended for first-time users and characterized by a shallow learning curve. How-Tos are step-by-step instructions for specific, narrow goals.
 +
 
 +
===FAQs===
 +
* [[FAQ]]
 +
 
 +
===Best Practices===
 +
Example:
 +
* [[Managing ICP holdings]]
 +
* [[Managing Internet Identity]]
 +
* [[Maximizing Voting and NNS Rewards]]
 +
See more in [[Best Practices]]
 +
 
 +
=== Tutorials ===
 +
Example:
 +
* [[Tutorials for acquiring, managing, and staking ICP]]
 +
* [[How-To: Claim neurons for seed participants]]
 +
* [[How-To: Create an NNS motion proposal]]
 +
* [[How-To: Set your neuron to follow another neuron]]
 +
* [[How-To: Updating neuron following via quill]]
 +
 
 +
See more in [[How-Tos]].
 +
 
 +
==Contributing to the Wiki==
 +
 
 +
=== How to contribute ===
 +
Anyone can read the wiki. You can also edit pages, all you need to do is [https://wiki.internetcomputer.org/wiki/Special:CreateAccount create an account]. See more in [[Contributing to the wiki]].
 +
 
 +
==References==

Revision as of 23:41, 7 September 2022

Welcome!

This is a general source of information about the Internet Computer (IC), the world's fastest and most powerful blockchain network[1]. Created for and by the IC community, topics vary from cryptography, network governance, user experience, tokenomics, developer tutorials and more.

Introduction to the Internet Computer

The Internet Computer is a general-purpose blockchain that hosts canister smart contracts. It is designed to provide a World Computer that can replace traditional IT and host a new generation of Web3 services and applications that run solely from the blockchain, without the need for traditional IT. It can also play the role of Web3 orchestrator, by interacting with traditional blockchains.

It has a completely unique design that reflects a ground-up rethink of blockchain architecture and the application of modern cryptography, which can be traced back to 2015. It was built by the largest ongoing R&D effort in crypto, which has employed many notable cryptographers, computer science researchers and engineers. The blockchain underwent genesis in May 2021 and became part of the public internet.

The Internet Computer blockchain's protocols leverage novel chain key cryptography to combine multiple subnet blockchains into a single blockchain. This allows it to horizontally scale the total volume of hosted canister smart contract, and their computations and data, without limit. These smart contracts run at web speed, and with web-levels of efficiency, and uniquely, thanks to the blockchain architecture enabled by chain key crypto, can process HTTP requests and directly and securely serve interactive web experiences to the end-users of web3 services, without need for trusted intermediaries (whereas on other blockchains, the web experience users interact with is generally built on centralized, insecure and trusted servers or cloud computing services).

Through these kinds of unique capabilities, the Internet Computer provides a platform that can be used to build mass market web3 services that run 100% on-chain, without any need for traditional IT, such as web servers and databases running on cloud computing services. The longer-term objective is that the Internet Computer will completely replace traditional IT, creating a blockchain singularity, in which everything runs fully on-chain in powerful new forms where it is unstoppable and cannot be hacked.

The development of the Internet Computer has heralded numerous notable technological developments, such as chain key cryptography and programming languages such as Motoko. In another notable advance, the Internet Computer hosts an advanced DAO within its protocols, called the Network Nervous System, which provides the community with direct control over network governance, and can upgrade the protocol running on its network nodes, without requiring the network to fork. The network's utility token is ICP (see Roles of the ICP utility token).

A recent new technological advance has extended the Internet Computer's chain key cryptography protocols. This has enabled smart contracts hosted on the Internet Computer to directly interact with other blockchains, without need for dangerous centrally-controlled bridges or wrapping (see trustless multi-chain web3 using the IC, and extending Bitcoin, Ethereum and other blockchains).

For example, a canister smart contract hosted on the Internet Computer can create bitcoin addresses, and directly send and receive bitcoins on the Bitcoin ledger as though it were hosted by the Bitcoin network itself. This is possible because chain key crypto enables blockchains to create public "chain keys", for which their nodes can create corresponding signatures. Recent work has now made it possible to create ECDSA chain keys. Since ECDSA is the signature scheme used by most other blockchains, this means the Internet Computer can create TX on other blockchains.

Future work will enable its smart contracts to directly interact with other important blockchains such as Ethereum. This also leverages other important features such as HTTPS outcalls. As a consequence, many believe that the Internet Computer will play the role of an orchestration layer that combines different blockchains in the web3 environment, and helps combine them with off-chain services and systems, such as Web 2.0 services and enterprise systems, in a trustless way.

Popular places to start

For a general audience

For a more technical audience

Internet Identity Introduction

One of the core benefits of building on the Internet Computer is that end users do not need to pay fees or use tokens to access and use dapps. As an alternative to authenticating from a wallet, users can authenticate with an Internet Identity. Learn more information about Internet Identity (II), a blockchain authentication framework supported by the Internet Computer:

IC for Dapp Users

If you use or are interested in using dapps on the Internet Computer, this section will help you understand the user experience benefits of the IC, how to use Internet Identity, or find more IC dapps.

Examples:

See more in Internet Computer for dapp users

IC for ICP Token-holders, Stakers, and Neuron Holders

The Internet Computer is governed by on-chain governance system called the Network Nervous System (NNS). To participate on governance, users need to stake ICP tokens. This section will explain how the NNS works, ICP tokens, staking, voting, rewards, and options for managing one's ICP.

Examples:

See more in Internet Computer token-holders, investors, and neuron holders.

IC for Smart Contract and Dapp Developers

The Internet Computer (IC) is a new platform for executing smart contracts. This section contains information for developers, including links to documentation, developer forums, and relevant dashboards.

Examples:

If you've been programming smart contracts on Ethereum before, you should read The Internet Computer for Ethereum Developers.

See more in Internet Computer for smart contract and dapp developers.

IC for the Curious, Researchers and Blockchain Enthusiasts

This section is for those interested in how the Internet Computer works under the hood. It touches many different subject areas from cryptography, consensus protocols, virtual machines, operating systems, networking, distributed systems, etc.

Examples:

See more in Internet Computer for researchers and blockchain enthusiasts.

For Node Providers

Node providers invest in and operate node hardware, which powers the Internet Computer with processing and storage capacity. Running these nodes in data centers provides the high performance and the cost-effectiveness of the Internet Computer. Every node provider is allowed a limited amount of nodes.

Technical Working Groups

FAQs, Tutorials, and How-tos

Tutorials are guided introductions to user stories, intended for first-time users and characterized by a shallow learning curve. How-Tos are step-by-step instructions for specific, narrow goals.

FAQs

Best Practices

Example:

See more in Best Practices

Tutorials

Example:

See more in How-Tos.

Contributing to the Wiki

How to contribute

Anyone can read the wiki. You can also edit pages, all you need to do is create an account. See more in Contributing to the wiki.

References