dfinity / examples

Example applications, microservices, and code samples for the Internet Computer
https://dfinity.org
Apache License 2.0
545 stars 393 forks source link
blockchain dfx examples icp internet-computer microservices

Internet Computer sample applications

Get started building on ICP with the sample applications in this repository. From this repository, you can deploy, download, clone, fork, or share sample projects.

The projects in this repository are not intended to be used as commercial applications and do not provide any explicit or implied support or warranty of any kind.

You can also contribute your own project or suggest updates to published projects using the standard GitHub workflow.

Sample applications

Code samples are organized by programming language:

Some examples include frontends written in a variety of frameworks, such as React, JavaScript, etc.

Additional frontend samples can be found in the following folders:

Deploying samples

GitHub Codespaces or Gitpod

This repo can be opened in a web-based developer environment such as GitHub Codespaces or Gitpod, allowing you to edit and deploy the sample projects without downloading any tools or setting up a local environment.

Get started with GitHub codespaces.

Get started with Gitpod.

Motoko Playground

Motoko Playground is a web-based developer environment for Motoko projects. To use Motoko Playground, navigate to the playground UI and select a template to get started, or start a new project.

dfx

dfx is a command-line tool used to create, deploy. and manage projects on ICP. To download and use dfx with this examples repo, run the following commands locally (macOS/Linux systems):

git clone https://github.com/dfinity/examples.git
cd examples
sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"

Then, navigate into the folder of the sample that you want to use and follow the project's README instructions to setup and deploy the sample code.

Resources

Security considerations and best practices

If you base your application on one of these examples, we recommend you familiarize yourself with and adhere to the security best practices for developing on the Internet Computer. The examples provided here may not implement all the best practices.