The Ultimate Beginner's Resource Guide to Getting Started with the Internet Computer & ICP

The Ultimate Beginner's Resource Guide to Getting Started with the Internet Computer & ICP
Table of Contents
Table of Contents

1. LEARN

1.1. Getting Started with DFINITY & the Internet Computer

The Internet Computer is a new way of hosting applications that are more secure, more censorship-resistant, and easier to use for developers. Many technical innovations bring about these benefits of security, decentralization, and ease of use.

The Internet Computer has been under development since 2016 and released its official main-net in May of 2021. There are now over 15,000 canisters (advanced smart contracts) running on the Internet Computer and nearly 2 million Internet Identities, an exponential rate of growth since Genesis in May. By the year-end, over 400 million blocks will likely have been produced.

You can see updates on the development of the Internet Computer at Dfinity Explorer or through the Internet Computer Association.

The Internet Computer Vision

1.2.  Getting Started with the Governance System: NNS

The Network Nervous system is autonomous software used to govern or control the Internet Computer democratically. In simple terms, the NNS is a place where you can make democratic, community-based decisions for the Internet Computer. The NNS acts as an autonomous “master” blockchain with a public key to validate all ICP transactions.

Identity and Authentication on the Internet Computer

The first thing you should do is create an internet identity.

The Internet Computer has many components: subnets, nodes, canisters, the NNS, neurons, proposals, votes, ICP, and cycles.

Find out more by reading this article.

1.3. How to Stake $ICP to Earn Rewards

You can buy ICP tokens on exchanges like Binance or Coinbase. If you have already bought ICP tokens, you can earn rewards with NNS staking.

Please follow the next steps:

  1. Log into the NNS Via the Internet Identity.
  2. Transfer ICP to the NNS
  3. Stake ICP in a Neuron to Earn Rewards.
How to stake ICP tokens on Network Nervous System from Binance

Neurons that have been configured with the maximum dissolve delay of 8 years are receiving up to 28.9% in annualized voting rewards (as of June 2021). This remains relatively similar today.

DFINITY: Estimated voting rewards (as of June 2021)

For further details, see “ICP Neuron Calculator.”

            1.4. Ecosystem

This is a collection of the active, usable apps currently running on the Internet Computer. With the recent tokenization of ICP on canisters, we can expect a surge in Defi, social-fi, and P2E gaming on the Internet Computer in 2022. Things are about to get extremely interesting!

Some of the world’s most popular social apps, e-commerce sites, DeFi platforms, and even enterprise systems are already being reimagined as truly open and decentralized services on the Internet Computer.

OpenChat

With Openchat, you can build decentralized social media platforms that can be accessed from any device. You can reward and incentivize users through tokenization and foster collective moderation. Blockchain unlocks a new set of features that promote virality and incentivize users to keep coming back.

Openchat

Dmail

Advantages of Dmail over competitors

Dmail promises to be a truly decentralized and unhackable email platform linked to your Internet Identity. It will be capable of receiving airdrops and will be an NFT itself, with a value relative to the user's profile.

It has raised $10 million after just the first round of seed investment.

             Origyn

Origyn 

According to Origyn's website, [they]..."combine intelligent technologies and decentralized computing to identify, authenticate and unlock the powers of ownership for the world’s most valuable objects."

With the recent valuation of $300 million and with investment from Paris Hilton and Bill Ackman, the dApp has immediate significance in the space and is helping to showcase the Internet Computer's advanced tech.

1.5 NFT Boom on the Internet Computer

Reverse gas fees are proving attractive for investors as NFTs on the Internet Computer continue to grow in popularity. Recently, a Poked Studio bot sold for an impressive 3000 ICP!

1.6. How Enterprises can Adopt the Internet Computer

A new technology stack protects your company and unlocks a new breed of software to redefine industries. Today’s legacy IT stack costs enterprises $3.9 trillion dollars annually — despite the high costs, legacy tech is too complex to make secure and lacks the necessary agility to seize market opportunities.

A single insecure component, a misconfiguration, a bad line of code, and hackers can get in. Managing the complexity of non-value-added IT complexities relegates teams to focus on all the wrong things, as opposed to focusing on creating create products and customer experiences.

Internet Computer for Enterprises

1.7. Additional tools and Resources for Beginners


2. BUY ICP

List of exchanges where you can buy ICP:

Buy the ICP utility token.
Best Exchanges to Buy The Internet Computer’s ICP Token
The Internet Computer Protocol (ICP) has the potential to become one of the most successful cryptocurrency-based projects. Unlike many projects that do not have a roadmap or innovative solutions, Internet Computer is solving real-world problems such as scalability and reducing computing costs by a m…

3. GETTING INTEREST ON YOUR ICP

3.1. Getting Started with Storing your ICP

A key feature of the Internet Computer blockchain is the Network Nervous System (NNS), an open algorithmic governance system that oversees the network and the token economics that make it possible to build DeFi and dapps, open internet services, and enterprise systems that are capable of operating at hyper-scale.

The purpose of the NNS is to allow the Internet Computer network to be governed in an open, decentralized, and secure manner — and it has complete control over all aspects of the network.

For an in-depth overview of the NNS, refer to “Understanding the Internet Computer’s Network Nervous System, Neurons, and ICP Utility Tokens.”

Below is a quick guide to getting started with the Network Nervous System dapp [linked here] and its key functions. The dApp currently provides functionality in four main areas:

  • ICP token management (it’s a “wallet”)
  • Staking ICP inside “voting neurons” to earn rewards
  • Voting on proposals submitted to the NNS
  • Creating canister smart contracts and “cycles.”
Network Nervous System (NNS)

3.2. Where to Store your ICP

As we have seen so far, you can store your ICP via NNS. You can also use the Toniq Labs wallet project “Stoic wallet”.

Shortly, you will also be able to store your ICP tokens in the Earth Wallet.

Furthermore, you can use your Nano Ledger as your physical security device for storing ICP tokens. You can also visit this site for further information.

Best Internet Computer Wallets: Where to Safely Store Your ICP
The Internet Computer (ICP) has different storage options: Hot wallet (NNS, Plug Wallet, Dfinance, Stoic wallet) and Cold wallets (hardware wallet such as Ledger and Trezor).

4. BUILDING ON THE INTERNET COMPUTER

4.1. How to start building on the Internet Computer

As described in the Quick start, you can download and install the latest version of the DFINITY Canister SDK package by running a command in a terminal shell. The topics in this section provide additional information about installing, upgrading, and removing the DFINITY Canister SDK.

Install The DFINITY Canister SDK (Open a Terminal Shell on your local computer):

https://sdk.dfinity.org/install.sh)"

Why Build Apps for Internet Computer

4.2. Getting Started with the Programming Language Motoko

The Motoko programming language is a new, modern, type-sound language designed for developers who want to build the next generation of apps and services to run directly on the internet. Motoko is specifically designed to support the unique features of the Internet Computer and to provide a familiar, yet robust programming environment.

As a new language, Motoko is constantly evolving with support for new features and improvements. Keep checking back for updates and for the announcement of the Motoko becoming available as an open-source project.

Motoko: A Programming Language

The Quick start provides a fast path to deploying a simple default application without stopping to admire the scenery along the way. Individual tutorials walk through specific scenarios, pointing out details regarding what you are doing in each step.

You have already seen the basic workflow for creating applications that run on the Internet Computer. Now, let’s take a closer look at that workflow by exploring the default files and folders that are added to your workspace when you create a new project.

As a preview, the following diagram illustrates the development workflow when running the Internet Computer locally on your computer.

Developer workflow in a local development environment

Before you begin

Before you start, verify the following:

  • You have an internet connection and access to a shell terminal on your local macOS or Linux computer.
  • You have node.js installed if you want to include the default template files for front-end development in your project.
  • You have downloaded and installed the DFINITY Canister SDK package as described in Download and install.
  • You have installed the Visual Studio Code plugin for Motoko as described in Install the language editor plug-in if you are using Visual Studio Code as your IDE.
  • You have stopped any Internet Computer network processes running on the local computer.

Then, to explore the default project, follow the next steps:

  1. Create a new project
  2. Review the default configuration
  3. Review the default program code
  4. Start the local network
  5. Register canister identifiers
  6. Build the program
  7. Deploy the project locally
  8. View the default front-end
  9. Stop the local network
First Application

4.3. Technical Library

You can explore open-source innovation for developers in the Technical library. In this same section, you will find technical documentation very soon.

4.4. Internet Computer SDKs: Motoko and RUST

Most of the examples in the “Quick Start Guide” use Motoko — the programming language specifically designed to work with the Internet Computer. Potentially, however, you can write programs in any language that compiles to WebAssembly to deploy applications that run on the Internet Computer.

You can create Rust projects to run on the Internet Computer by using Cargo and compiling your program to use WebAssembly as the target output.

Rust is a powerful and type sound modern programming language with an active developer community. Because Rust compiles to WebAssembly, it offers a rich development environment for writing applications to run on the Internet Computer. To help pave the way for writing applications in Rust that can be deployed on the Internet Computer, DFINITY provides some tools to simplify the process.

Collectively, these tools are referred to as the DFINITY Canister Development Kit (CDK) for Rust.

4.5. How to Run a Node.

Nodes for the Internet Computer are currently deployed through independent data centers located across the world that combine their computing power by running the Internet Computer Protocol.

Unlike projects like Bitcoin or Ethereum, where a machine of any caliber can run a “node,” the Internet Computer has a minimum standard of technical specifications for each machine to ensure higher speeds, lower latency, and greater reliability. Additionally, unlike proprietary cloud and computing systems an individual organization runs, the Internet Computer is decentralized and governed by the Network Nervous System (NNS).

In order to deploy a node to the Internet Computer, the node machine must meet a minimum set of specifications to ensure a minimum level of computational efficiency across the Internet Computer. As the NNS scales the Internet Computer’s capacity, more and more decentralized nodes running the Internet Computer Protocol will continue to be added, allowing the capacity to scale infinitely through subnets.

Here's a beginner's guide on how to become a node operator.

4.6 Other resources for builders and developers


5. JOIN THE COMMUNITIES

5. 1. Official Channels

5. 2.  Community-led Channels


Connect with the author: Twitter

Become-a-contributor-2-1



Comments are for members only. Join the conversation by subscribing 👇.

Great! Check your inbox and click the link
Great! Next, complete checkout for full access to Dfinity Community ∞
Welcome back! You've successfully signed in
You've successfully subscribed to Dfinity Community ∞
Success! Your account is fully activated, you now have access to all content
Success! Your billing info has been updated
Your billing was not updated