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.
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.
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:
- Log into the NNS Via the Internet Identity.
- Transfer ICP to the NNS
- Stake ICP in a Neuron to Earn Rewards.
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.
For further details, see “ICP Neuron Calculator.”
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.
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.
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.
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.
1.7. Additional tools and Resources for Beginners
- IC Rocks | Internet Computer explorer
- ICP Scan | Internet Computer blockchain explorer
- DFINITY explorer (community-led)
- Messari | An introduction to the Internet Computer
- What does the Internet Computer do?
- Internet Computer Quick start
- Binance research | Internet Computer
- The ICP Guide
- A Beginner’s Guide on How to Stake ICP Tokens on the Internet Computer’s Network Nervous System (NNS)
- Dfinity medium blog
- Dfinity youtube channel
- Dfinity Reddit channel
- Dfinity website
- Internet computer association
- DFINITY support
2. BUY ICP
List of exchanges where you can buy ICP:
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.”
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.
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):
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.
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.
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.jsinstalled 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:
- Create a new project
- Review the default configuration
- Review the default program code
- Start the local network
- Register canister identifiers
- Build the program
- Deploy the project locally
- View the default front-end
- Stop the local network
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
- Education center
- Dfinity developer grant
- Beacon fund
- Community canister registry
- Sample apps
- Internet Computer education github
- DFINITY github
- Developer Telegram group
- Basics of building on the Internet Computer
- Developer forum
5. JOIN THE COMMUNITIES
5. 1. Official Channels
- Dfinity Channel on Github
- Dfinity Channel on Medium
- Dfinity Channel on Twitter
- Dfinity Channel on Forum
- Dfinity Channel on Youtube
- Dfinity Channel on Telegram
- Dfinity Channel on Linkedin
- Dfinity Channel on Reddit
- Dfinity Channel on Facebook
- Dfinity Channel on Instagram
5. 2. Community-led Channels
- Dfinity Community: Twitter | Telegram | Instagram | Facebook group
- ICP League: Twitter | Telegram | Website
- Dfinity Club: Twitter | Telegram
- Dfinity Bulls: Twitter | Telegram
- Motoko School: Twitter | Discord | Telegram
- ICP Maximalist: Twitter | Telegram