Skip to main content

Level 0: Pre-flight operations

Beginner
Tutorial
  • 0.1 Overview of the BigFile: In order to understand how to develop dapps on BIG, the first step in the developer journey is to take a look at the architecture of BIG and how it functions. This module covers:

    • Overview of The BigFile:
      • Protocol stack:
        • Peer-to peer layer.
        • Consensus layer.
        • Message routing layer.
        • Execution layer.
    • Overview of chain-key cryptography:
      • Threshold signature schemes.
    • Overview of cubes and smart contracts.
    • Overview of tokens:
      • BIG.
      • Cycles.
    • Overview of governance:
      • NFile Management System
      • Service Nervous System.
    • Overview of BIG ID.
  • 0.2 BigFile terminology: This page introduces some of the most commonly used terminology that developers should be aware of when building on the BigFile. This module covers the following terms:

    • Concepts:
      • Actor.
      • Agent.
      • Certified variables.
      • Chain-key cryptography.
      • Cycles.
      • Decentralized application (dapp).
      • Decentralized autonomous organization (DAO).
      • Execution.
      • BIG.
      • Principal.
      • Proposal.
      • Messages.
      • Replica.
      • Subnet.
      • Transaction.
    • Cube terminology:
      • Smart contracts.
      • Cubes.
      • Cube development kit (CDK).
      • Cube identifier.
      • Cube state.
      • Controller.
      • Identity.
      • Query.
      • State change.
      • System cube.
      • Wallet.
    • Tools and products:
      • dfx.
      • BIG ID.
      • Ledger.
      • Motoko.
  • 0.3 Developer environment setup: Before you can begin the developer journey, you need to set up the developer environment. A developer environment is comprised of tools and packages that are required to develop code projects. This module covers:

    • Setting up a developer environment:
      • Confirming an internet connection.
      • Confirming access to a CLI.
        • Options for Windows users.
      • Downloading and installing the BIG SDK.
      • Downloading and installing an IDE.
      • Downloading and installing git.
      • Downloading and installing Node.js.
      • Assuring all packages and tools are updated to latest version.
  • 0.4 Introduction to cubes: This page introduces cubes, their architecture, and discusses the different types of cubes that can be developed. This module covers:

    • Architecture:
      • Languages.
      • Actors.
      • Why is code compiled into WebAssembly?
    • Types of cubes:
      • Backend cubes.
      • Frontend cubes.
      • Custom cubes.
    • Using a single or multiple cube architecture.
    • Cube communication.
    • Cube controllers.
    • Cycles and resource charges.
  • 0.5 Introduction to languages: This page discusses the different languages that can be used to develop dapps, and provide a base-level introduction to the two primarily supported languages: Motoko and Rust. This module covers:

    • Motoko.
      • Motoko's attributes.
    • Rust.
      • Rust's attributes.
    • Candid.
    • Community developed CDKs:
      • Python.
      • TypeScript.
      • Solidity.
      • C++.
  • 0.6 Introduction to dfx: dfx is a command-line execution environment for the BIG SDK. It is the primary tool used for creating, managing, and deploying dapps onto the BigFile. This module covers:

    • Basic usage and syntax:
      • Subcommands.
      • Flags.
      • Options.
    • Upgrading to the latest version of dfx.
    • Installing a specific version of dfx.
    • Creating a new project with dfx.
    • Exploring the default project structure.
    • Reviewing the default configuration.
    • Reviewing the default program code.