The Motoko Programming Language
Part 1
1.
Introduction
❱
1.1.
Getting Started
2.
Common Programming Concepts
❱
2.1.
Variables
2.2.
Mutability
2.3.
Comments
2.4.
Types
❱
2.4.1.
Tuples
2.4.2.
Records
2.4.3.
Variants
2.4.4.
Immutable Arrays
2.4.5.
Mutable Arrays
2.5.
Operators
❱
2.5.1.
Numeric operators
2.5.2.
Relational operators
2.5.3.
Assignment operators
2.5.4.
Text concatenation
2.5.5.
Logical expressions
2.5.6.
Bitwise operators
2.5.7.
Operator precedence
2.6.
Pattern Matching
2.7.
Functions
2.8.
Options and Results
2.9.
Control Flow
❱
2.9.1.
If Expression
2.9.2.
If Else Expression
2.9.3.
Switch Expression
2.10.
Objects and Classes
❱
2.10.1.
Objects
2.10.2.
Classes
2.11.
Modules and Imports
2.12.
Assertions
3.
Internet Computer Programming Concepts
❱
3.1.
Actors
❱
3.1.1.
From Actor to Canister
3.1.2.
Canister Calls from Clients
3.2.
Principals and Authentication
3.3.
Async Data
❱
3.3.1.
Shared Types
3.3.2.
Candid
3.4.
Basic Memory Persistence
❱
3.4.1.
Upgrades
3.4.2.
Stable Variables
Part 2
4.
Advanced Types
❱
4.1.
Generic Types
4.2.
Subtyping
4.3.
Recursive Types
4.4.
Type Bounds
5.
The Base Library
❱
5.1.
Primitive Types
❱
5.1.1.
Bool
5.1.2.
Nat
5.1.3.
Int
5.1.4.
Float
5.1.5.
Principal
5.1.6.
Text
5.1.7.
Char
5.1.8.
Bounded Number Types
❱
5.1.8.1.
Nat8
5.1.8.2.
Nat16
5.1.8.3.
Nat32
5.1.8.4.
Nat64
5.1.8.5.
Int8
5.1.8.6.
Int16
5.1.8.7.
Int32
5.1.8.8.
Int64
5.1.9.
Blob
5.2.
Utility Modules
❱
5.2.1.
Iterators
5.2.2.
Hash
5.2.3.
Option
5.2.4.
Result
5.2.5.
Order
5.2.6.
Error
5.2.7.
Debug
5.3.
Data Structures
❱
5.3.1.
Array
5.3.2.
List
5.3.3.
Buffer
5.3.4.
HashMap
5.3.5.
RBTree
5.4.
More Data Structures
5.5.
IC APIs
❱
5.5.1.
Time
5.5.2.
Timer
5.5.3.
CertifiedData
5.5.4.
Random
5.5.5.
Experimental
6.
Advanced Concepts
❱
6.1.
Async Programming
6.2.
Scalability
❱
6.2.1.
Actor Classes
6.2.2.
Stable Storage
6.3.
System API's
❱
6.3.1.
Message Inspection
6.3.2.
Timers
6.3.3.
Certified Variables
6.3.4.
Pre-upgrade and Post-upgrade
6.3.5.
Cryptographic Randomness
Part 3
7.
Project Deployment
❱
7.1.
Installing the SDK
7.2.
Local Deployment
7.3.
Canister Status
7.4.
Identities and PEM Files
7.5.
Cycles and ICP
7.6.
Cycles Wallet
7.7.
IC Deployment
8.
Common Internet Computer Canisters
❱
8.1.
IC Management Canister
8.2.
ICP Ledger Canister
8.3.
Cycle Minting Canister
9.
Internet Computer Standards
❱
9.1.
ICRC1
10.
Tokenized Comments Example
APPENDIX
11.
TABLES
Light
Rust
Coal
Navy
Ayu
The Motoko Programming Language Book
IC APIs
An overview of modules for the Internet Computer System API's.