Quick start

This DFINITY Canister Software Development Kit (SDK) provides tools, sample code, and documentation to help you create programs to run on the Internet Computer network. The Quick Start tutorial assumes that you are installing the DFINITY Canister SDK for the first time and illustrates how to create, build, and deploy your first application.

To keep the instructions simple and focused on the task at hand, the Quick start is split into two scenarios:

  • In the Local development scenario, you create and deploy the sample application with Internet Computer processes that run locally to simulate connecting to the network.

  • In the Network deployment scenario, you create the sample application locally but connect to the Internet Computer running remotely on computers in an external data center.

If you need some help setting up your development environment—for example, if you aren’t sure how to open a new terminal, install packages, or create folders and navigate between directories—you might want to start with the Preliminary steps for newcomers.

Default application

Both scenarios build and deploy a simple Hello application that has just one function—called greet. The greet function accepts one text argument and returns the result with a greeting similar to Hello, everyone! in a terminal if you run the application using the command-line or in an alert pop-up window if you access the application in a browser.

The default application consists of back-end code written in Motoko, a programming language specifically designed for interacting with the Internet Computer, and a simple webpack-based front-end.

Getting ICP tokens and cycles

As discussed in Tokens and cycles, cycles are required to power canister operations for applications running on the Internet Computer. As a developer, you have a few different options for acquiring and managing cycles for your applications:

Because only canisters require and consume cycles—to perform operations and to pay for the resources they use—cycles are always transferred between canisters and not to users or developers. You can manage the distribution of cycles, however, through a cycles wallet created for you or using a similar application.

Want to learn more?

If you are looking for more information before getting started or want to view a demonstration of how to deploy before you try it for yourself, check out the following related resources: