From b718fd19348cad06a29f4b8d5f0dfad3eeb294a0 Mon Sep 17 00:00:00 2001
From: Jessie Mongeon <133128541+jessiemongeon1@users.noreply.github.com>
Date: Thu, 19 Dec 2024 14:15:31 -0600
Subject: [PATCH] Update: prerequisite format/content (#3900)
* Update prereq format
* Apply suggestions from code review
* Update sidebars.js
* Update sidebars.js
* fix conflicts
* Update docs/developer-docs/defi/wallets/self-custody/hardware-wallet-cli.mdx
* Update docs/developer-docs/defi/wallets/self-custody/hardware-wallet-cli.mdx
---
docs/developer-docs/ai/ai-on-chain.mdx | 33 +++++-----
.../ai/machine-learning-sample.mdx | 51 +++-------------
.../defi/cycles/cycles-wallet.mdx | 12 ++--
.../defi/exchange-rate-canister.mdx | 17 +++---
.../defi/nfts/nft-collections.mdx | 15 +++--
docs/developer-docs/defi/tokens/indexes.mdx | 13 ++--
.../self-custody/hardware-wallet-cli.mdx | 18 ++++--
.../self-custody/self-custody-quickstart.mdx | 41 +++++++------
.../developer-tools/cli-tools/idl2json.mdx | 13 ++--
.../developer-tools/off-chain/canpack.mdx | 17 +++---
.../getting-started/write-smart-contracts.mdx | 9 ++-
.../integrate-internet-identity.mdx | 60 +++----------------
.../encryption/using-vetkeys.mdx | 23 +++----
roadmap/roadmap.json | 0
sidebars.js | 15 +++--
15 files changed, 149 insertions(+), 188 deletions(-)
create mode 100644 roadmap/roadmap.json
diff --git a/docs/developer-docs/ai/ai-on-chain.mdx b/docs/developer-docs/ai/ai-on-chain.mdx
index 7d9298e75d..db9cfc449a 100644
--- a/docs/developer-docs/ai/ai-on-chain.mdx
+++ b/docs/developer-docs/ai/ai-on-chain.mdx
@@ -5,13 +5,13 @@ keywords: [intermediate, tutorial, machine learning, ml, mnist, rust]
import useBaseUrl from "@docusaurus/useBaseUrl";
import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow";
import '/src/components/CenterImages/center.scss';
+import TabItem from "@theme/TabItem";
+import Tabs from "@theme/Tabs";
# Image classification sample
-
-
ICP's unique ability to run compute at scale allows AI and neural networks to run directly onchain within a canister smart contract.
To showcase this capability, this demo example displays how an AI that identifies an image can be deployed as a smart contract with a frontend and backend, both running onchain.
@@ -72,19 +72,24 @@ Currently, Wasm execution is not optimized for this workload. A single call exec
## Deploying the demo
-### Prerequisites
+
+
+
+ Install the IC SDK.
+
+ Download and install Rust.
-- [x] Download and install the Rust programming language and Cargo as described in the [Rust installation instructions](https://doc.rust-lang.org/book/ch01-01-installation.html) for your operating system.
+ Download and install git.
-- [x] Download and install the IC SDK package as described in the [installing the IC SDK](/docs/current/developer-docs/getting-started/install) page.
+ Download and install wasi-skd-21.0.
-- [x] Download and install [git](https://git-scm.com/downloads).
+ Export `CC_wasm32_wasi` in your shell such that it points to WASI clang and sysroot: export CC_wasm32_wasi="/path/to/wasi-sdk-21.0/bin/clang --sysroot=/path/to/wasi-sdk-21.0/share/wasi-sysroot"
-- [x] Install [`wasi-skd-21.0`](https://github.com/WebAssembly/wasi-sdk/releases/tag/wasi-sdk-21).
+ Download and install wasi2ic and make sure that `wasi2ic` binary is in your $PATH.
-- [x] Export `CC_wasm32_wasi` in your shell such that it points to WASI clang and sysroot: `export CC_wasm32_wasi="/path/to/wasi-sdk-21.0/bin/clang --sysroot=/path/to/wasi-sdk-21.0/share/wasi-sysroot"`
+
+
-- [x] Install [`wasi2ic`](https://github.com/wasm-forge/wasi2ic) and make sure that `wasi2ic` binary is in your `$PATH`.
### Downloading the example
@@ -120,17 +125,11 @@ rustup target add wasm32-wasi
### Deploying the code
-To deploy the example, first start `dfx`:
+To deploy the example, first start `dfx`, then deploy the project:
```
dfx start --clean --background
-```
-
-Then to deploy the canisters, run the command:
-
-```
-dfx deploy // Deploy locally
-dfx deploy --network ic // Deploy to the mainnet
+dfx deploy
```
## Using the demo
diff --git a/docs/developer-docs/ai/machine-learning-sample.mdx b/docs/developer-docs/ai/machine-learning-sample.mdx
index 4982efc2fb..8c229858c9 100644
--- a/docs/developer-docs/ai/machine-learning-sample.mdx
+++ b/docs/developer-docs/ai/machine-learning-sample.mdx
@@ -5,14 +5,13 @@ keywords: [intermediate, tutorial, machine learning, ml, mnist, rust]
import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow";
import useBaseUrl from "@docusaurus/useBaseUrl";
import '/src/components/CenterImages/center.scss';
+import TabItem from "@theme/TabItem";
+import Tabs from "@theme/Tabs";
# Machine learning sample
-
-
-
Machine learning is a form of artificial intelligence (AI) that observes statistical algorithms and their data to learn patterns and generalizations. By analyzing these data patterns, machine learning algorithms can execute tasks by predicting the correct result with high accuracy.
One common machine learning model that is used to train data sets is the Modified National Institute of Standards and Technology (MNIST) database which contains a collection of handwritten numbers. This database is commonly used for training different image processing systems and testing different machine learning platforms.
@@ -23,14 +22,15 @@ For example, if the user draws the digit `5`, the machine learning model will so
This project is based off of one [found within the Rust Burn examples](https://github.com/tracel-ai/burn/tree/main/examples/mnist-inference-web).
-### Prerequisites
-
-- [x] [Download and install Rust](https://www.rust-lang.org/tools/install).
+
+
-- [x] [Download and install Node.js](https://nodejs.org/en/download) `16.0.0` or newer.
+ Install the IC SDK.
-- [x] [Download and install the IC SDK](/docs/current/developer-docs/getting-started/install).
+ Download and install Rust.
+
+
## Creating a new project
@@ -43,40 +43,7 @@ dfx start --clean --background
dfx new machine_learning_sample
```
-You will be prompted to select the language that your backend canister will use. Select 'Rust':
-
-```
-? Select a backend language: ›
- Motoko
-❯ Rust
- TypeScript (Azle)
- Python (Kybra)
-```
-
-:::info
-`dfx` versions `v0.17.0` and newer support this `dfx new` interactive prompt. [Learn more about `dfx v0.17.0`](/blog/2024/02/14/news-and-updates/update#dfx-v0170).
-:::
-
-Then, select a frontend framework for your frontend canister. Select 'Vanilla JS':
-
-```
- ? Select a frontend framework: ›
- SvelteKit
- React
- Vue
-❯ Vanilla JS
- No JS template
- No frontend canister
-```
-
-Lastly, you can include extra features to be added to your project:
-
-```
- ? Add extra features (space to select, enter to confirm) ›
-⬚ Internet Identity
-⬚ Bitcoin (Regtest)
-⬚ Frontend tests
-```
+You will be prompted to select the language that your backend canister will use. Select 'Rust'. For the frontend, select 'Vanilla JS.'
Then, navigate into the new project directory:
diff --git a/docs/developer-docs/defi/cycles/cycles-wallet.mdx b/docs/developer-docs/defi/cycles/cycles-wallet.mdx
index b090efca67..eebd18c825 100644
--- a/docs/developer-docs/defi/cycles/cycles-wallet.mdx
+++ b/docs/developer-docs/defi/cycles/cycles-wallet.mdx
@@ -4,13 +4,13 @@ keywords: [beginner, tutorial, cycles, cycles wallet]
import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow";
import { GlossaryTooltip } from "/src/components/Tooltip/GlossaryTooltip";
+import TabItem from "@theme/TabItem";
+import Tabs from "@theme/Tabs";
# Using a cycles wallet
-
-
As discussed in [tokens and cycles](/docs/current/developer-docs/getting-started/tokens-and-cycles), ICP tokens can be converted into **cycles** to power canister operations. Cycles reflect the operational cost of communication, computation, and storage that dapps consume.
Unlike ICP tokens, cycles are only associated with canisters and not with user or developer principals. Because only canisters require cycles to perform operations and pay for the resources they use, users and developers can manage the distribution and ownership of cycles through a special type of canister called a **cycles wallet**.
@@ -78,9 +78,13 @@ Authorizing a principal as a custodian does not automatically grant the principa
## Creating a cycles wallet
-### Prerequisites
+
+
+
+ Install the IC SDK.
-- [x] Install the [IC SDK](/docs/current/developer-docs/getting-started/install).
+
+
If you are **deploying locally**, your local cycles wallet is created in the background when you register a new canister principal using `dfx canister create` or when you register, build, and deploy a canister with `dfx deploy`.
diff --git a/docs/developer-docs/defi/exchange-rate-canister.mdx b/docs/developer-docs/defi/exchange-rate-canister.mdx
index f229fe57f4..d23b140b97 100644
--- a/docs/developer-docs/defi/exchange-rate-canister.mdx
+++ b/docs/developer-docs/defi/exchange-rate-canister.mdx
@@ -4,13 +4,13 @@ keywords: [intermediate, tutorial, exchange rate canister]
import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow";
import { GlossaryTooltip } from "/src/components/Tooltip/GlossaryTooltip";
+import TabItem from "@theme/TabItem";
+import Tabs from "@theme/Tabs";
# Exchange rate canister
-
-
The exchange rate canister, referred to as the XRC, is a canister that runs on the **uzr34 system subnet**. The XRC uses [HTTPS outcalls](https://internetcomputer.org/https-outcalls/) to fetch data from major cryptocurrency exchanges by using the exchange's public API to retrieve real time or historical cryptocurrency pricing information. The XRC also queries the public APIs for foreign exchange data providers around the world periodically in order to get forex rates.
The XRC canister can be used by dapps such as decentralized exchanges (DEXs) to provide functionality such as comparing exchange rates against market rates to determine the value of assets that are held in a canister smart contract. For example, the cycle minting canister of the NNS uses the XRC to obtain the current ICP/XDR exchange rates, which it requires for the conversion of ICP to cycles.
@@ -93,13 +93,16 @@ Alternatively, you can run a local XRC demo application to test the functionalit
It is worth noting that this sample dapp is very simple. If there is an error, it always returns `0` because the return value is simply a float.
:::
-### Prerequisites
-
-- [x] Download and install the IC SDK package as described in the [download and install](/docs/current/developer-docs/getting-started/install) page.
+
+
-- [x] Download and install [Nodejs and npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm).
+ Install the IC SDK.
+
+
+ Download and install git.
-- [x] Download and install [git](https://git-scm.com/downloads).
+
+
Then, clone the sample repository, install the dependencies, and build the canisters with the following commands:
diff --git a/docs/developer-docs/defi/nfts/nft-collections.mdx b/docs/developer-docs/defi/nfts/nft-collections.mdx
index a7532da87d..6953952c14 100644
--- a/docs/developer-docs/defi/nfts/nft-collections.mdx
+++ b/docs/developer-docs/defi/nfts/nft-collections.mdx
@@ -4,13 +4,13 @@ keywords: [intermediate, tutorial, nft collection, create an nft, icrc-7, icrc-3
import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow";
import { GlossaryTooltip } from "/src/components/Tooltip/GlossaryTooltip";
+import TabItem from "@theme/TabItem";
+import Tabs from "@theme/Tabs";
# Creating an NFT collection
-
-
An NFT collection is a series of non-fungible tokens that each have a unique identifier value. Each token's metadata may be the same, such as the name, image, and description, or each token's data can be unique and associated with a 'rarity' value, where some metadata values are less common than others. Rarity metadata attributes are common in generative NFT collections, often referring to an NFT collection where the artwork for each image has been randomly generated and some components only appear in a select few of the generated images.
For this basic NFT example, you will create a collection where each token has the same metadata values, with the only difference between each NFT being their unique token identifier value.
@@ -27,11 +27,16 @@ This example combines three standards: ICRC-3, ICRC-7, and ICRC-37:
## Creating an NFT collection
-### Prerequisites
+
+
-- Download and install the [IC SDK](/docs/current/developer-docs/getting-started/install).
+ Install the IC SDK.
+
+
+ Download and install git.
-- Download and install [git](https://git-scm.com/downloads).
+
+
### Step 1: Download the NFT example project.
diff --git a/docs/developer-docs/defi/tokens/indexes.mdx b/docs/developer-docs/defi/tokens/indexes.mdx
index d66ed98cc2..cb9f1fbae8 100644
--- a/docs/developer-docs/defi/tokens/indexes.mdx
+++ b/docs/developer-docs/defi/tokens/indexes.mdx
@@ -6,14 +6,12 @@ import TabItem from "@theme/TabItem";
import { AdornedTabs } from "/src/components/Tabs/AdornedTabs";
import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow";
import { GlossaryTooltip } from "/src/components/Tooltip/GlossaryTooltip";
-
+import Tabs from "@theme/Tabs";
# Index canisters
-
-
On ICP, an index canister is used in conjunction with a ledger canister to provide the ability for transactions to be queried for a specific account. Without an index canister, a ledger's transaction history cannot easily be parsed and used by applications, as the entire transaction history of a ledger would need to be processed.
An index canister can be used to:
@@ -28,9 +26,14 @@ If you are working in a local development environment, you can't access the main
This guide displays how to deploy an index canister locally and use it in conjunction with a ledger canister. Instructions for both an ICP index and an ICRC index are included.
-### Prerequisites
+
+
+
+ Read the guide on deploying a local ledger, then continue with this guide. This guide will assume that you have setup up a local ledger pertaining to your intended token type (ICP or ICRC), and that all prerequisites are fulfilled.
+
+
+
-- Read the guide on deploying a local ledger, then continue with this guide. This guide will assume that you have setup up a local ledger pertaining to your intended token type (ICP or ICRC), and that all prerequisites are fulfilled.
## Wasm and Candid files
diff --git a/docs/developer-docs/defi/wallets/self-custody/hardware-wallet-cli.mdx b/docs/developer-docs/defi/wallets/self-custody/hardware-wallet-cli.mdx
index 2527bd07ce..e9b4a3c129 100644
--- a/docs/developer-docs/defi/wallets/self-custody/hardware-wallet-cli.mdx
+++ b/docs/developer-docs/defi/wallets/self-custody/hardware-wallet-cli.mdx
@@ -3,22 +3,28 @@ keywords: [beginner, concept, asset custody, hardware wallets, cli tool]
---
import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow";
+import TabItem from "@theme/TabItem";
+import Tabs from "@theme/Tabs";
# Using a hardware wallet
-
-
A hardware wallet is a physical ledger device that is used to store assets. Hardware wallets are protected by a seed phase, similar to software wallets, but they can be disconnected from the internet whenever they are ejected from your computer.
The DFINITY `hardware-wallet-cli` tool is designed to integrate with [Ledger Nano USB devices](https://shop.ledger.com/products/ledger-nano-x).
-### Prerequisites
-
-- Have a Ledger Nano device.
+
+
+
+
+ Have a Ledger Nano device.
+
+
+Install Node.js
-- Download and install [`Node.js`](https://nodejs.org/en/download/).
+
+
## Ledger Nano device setup
diff --git a/docs/developer-docs/defi/wallets/self-custody/self-custody-quickstart.mdx b/docs/developer-docs/defi/wallets/self-custody/self-custody-quickstart.mdx
index 495ecb403d..72965576aa 100644
--- a/docs/developer-docs/defi/wallets/self-custody/self-custody-quickstart.mdx
+++ b/docs/developer-docs/defi/wallets/self-custody/self-custody-quickstart.mdx
@@ -3,6 +3,8 @@ keywords: [beginner, tutorial, custody, self-custody]
---
import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow";
+import TabItem from "@theme/TabItem";
+import Tabs from "@theme/Tabs";
# Using self-custody wallets
@@ -37,23 +39,28 @@ If you are a **developer** or **entrepreneur**, ICP tokens can be converted to *
If you are a member of the community interested in **participating in governance** and influencing the direction of the Internet Computer, you can lock up ICP tokens in a stake—called a neuron—so that you can submit and vote on proposals.
-### Prerequisites
-
-To get started, verify the following:
-- [x] You have an internet connection and access to a shell terminal on your local **Intel-based macOS** or **Linux** computer.
-- [x] You know how to open a new terminal shell on your local computer and how to run basic command-line programs in the terminal.
-- [x] You hold ICP tokens in a self-custody wallet.
-- [x] You have downloaded and installed the SDK by running the following command in a terminal on your local computer:
-
- ``` bash
- sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"
- ```
-
-- [x] You have created a backup copy of the public/private key for the identity you are using for self-custody.
-
- For example, if you are using the default developer identity created using the SDK `dfx` command-line interface, you should have a backup of the `~/.config/dfx/identity/default/identity.pem` file stored in a secure location.
-
-- [x] You have a secure environment in which to perform operations involving ICP tokens.
+
+
+
+ Install the IC SDK.
+
+
+ You have an internet connection and access to a shell terminal on your local computer.
+
+
+ You know how to open a new terminal shell on your local computer and how to run basic command-line programs in the terminal.
+
+
+ You hold ICP tokens in a self-custody wallet.
+
+
+ You have created a backup copy of the public/private key for the identity you are using for self-custody.
+
+
+ You have a secure environment in which to perform operations involving ICP tokens.
+
+
+
As a security best practice, any operations that involve the transfer of ICP tokens would require both an air-gapped computer with minimal hardware and software and a computer connected to the network. In practice, this requires moving files between two computers and taking other precautions to minimize risks.
diff --git a/docs/developer-docs/developer-tools/cli-tools/idl2json.mdx b/docs/developer-docs/developer-tools/cli-tools/idl2json.mdx
index af541dc789..6c110de304 100644
--- a/docs/developer-docs/developer-tools/cli-tools/idl2json.mdx
+++ b/docs/developer-docs/developer-tools/cli-tools/idl2json.mdx
@@ -3,23 +3,26 @@ keywords: [intermediate, idl2json, idl, candid, json]
---
import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow";
+import TabItem from "@theme/TabItem";
+import Tabs from "@theme/Tabs";
# idl2json
-
-
-
[`idl2json`](https://github.com/dfinity/idl2json/tree/main) is a command-line tool used to translate [Candid](https://github.com/dfinity/candid) textual values from `stdin` into JSON values outputted in `stdout`.
`idl2json` can be used in workflows where a tool producing Candid values, such as `dfx`, needs to provide JSON values to JSON-based tools.
## Installation
-### Prerequisites
+
+
+
+ Install cargo.
-- Download and install [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html).
+
+
Once you have downloaded cargo, install `idl2json` with the `cargo install` command:
diff --git a/docs/developer-docs/developer-tools/off-chain/canpack.mdx b/docs/developer-docs/developer-tools/off-chain/canpack.mdx
index 4bc198a15f..445bb3c529 100644
--- a/docs/developer-docs/developer-tools/off-chain/canpack.mdx
+++ b/docs/developer-docs/developer-tools/off-chain/canpack.mdx
@@ -3,13 +3,13 @@ keywords: [intermediate, canpack, code generation tool, motoko, rust]
---
import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow";
+import TabItem from "@theme/TabItem";
+import Tabs from "@theme/Tabs";
# Canpack
-
-
Canpack is a code generation tool designed to simplify communication across canisters written in different languages. It currently supports calling a Rust crate from Motoko code. Canpack generates a separate canister for the host language, then combines the other language's code fragments that are defined across different libraries.
Canpack supports the [Mops](https://mops.one/) package manager.
@@ -20,13 +20,16 @@ Canpack is still in early development. Breaking changes may be introduced at any
## Installation
-### Prerequisites
-
-- [x] You have [Node.js](https://nodejs.org/en/) installed.
+
+
-- [x] You have downloaded and installed the [IC SDK](/docs/current/developer-docs/getting-started/install).
+ Install the IC SDK.
+
+
+ Download and install Rust.
-- [x] You have [Rust](https://www.rust-lang.org/tools/install) installed.
+
+
Then, install the Canpack CLI using `npm`:
diff --git a/docs/developer-docs/getting-started/write-smart-contracts.mdx b/docs/developer-docs/getting-started/write-smart-contracts.mdx
index 593fa82ddf..d7f5b311ee 100644
--- a/docs/developer-docs/getting-started/write-smart-contracts.mdx
+++ b/docs/developer-docs/getting-started/write-smart-contracts.mdx
@@ -9,6 +9,7 @@ import { AdornedTab } from "/src/components/Tabs/AdornedTab";
import { BetaChip } from "/src/components/Chip/BetaChip";
import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow";
import { GlossaryTooltip } from "/src/components/Tooltip/GlossaryTooltip";
+import Tabs from "@theme/Tabs";
# Writing smart contracts
@@ -127,9 +128,13 @@ This section will focus on writing backend canister code. If you want to explore
:::
-### Prerequisites
+
+
-- [x] Download and install an IDE or code editor. [VS Code](https://code.visualstudio.com/) is recommended.
+ Download and install an IDE or code editor. VS Code is recommended.
+
+
+
:::tip
diff --git a/docs/developer-docs/identity/internet-identity/integrate-internet-identity.mdx b/docs/developer-docs/identity/internet-identity/integrate-internet-identity.mdx
index 607c449197..47de54475f 100644
--- a/docs/developer-docs/identity/internet-identity/integrate-internet-identity.mdx
+++ b/docs/developer-docs/identity/internet-identity/integrate-internet-identity.mdx
@@ -7,73 +7,29 @@ import TabItem from "@theme/TabItem";
import { AdornedTabs } from "/src/components/Tabs/AdornedTabs";
import { AdornedTab } from "/src/components/Tabs/AdornedTab";
import { BetaChip } from "/src/components/Chip/BetaChip";
+import Tabs from "@theme/Tabs";
# Integrating with II
-
This guide shows an example of how to integrate Internet Identity into an application by using a simple 'Who am I?' backend canister and a frontend UI that returns the Internet Identity principal of the user who calls the backend's `whoami` method.
This project uses the **pullable** version of the Internet identity canister. A pullable canister is a canister that provides a public service at a static canister ID. To learn more about pullable canisters, please [see the documentation](/docs/current/developer-docs/smart-contracts/maintain/import).
-### Prerequisites
+
+
-Before you start, verify that you have:
+ Install the IC SDK.
-- Downloaded and installed [`dfx`](https://github.com/dfinity/sdk/releases/latest) version 0.14.1 or later.
-- [Node.js `16.0.0` or newer](https://nodejs.org/en).
+
+
## Creating a simple app with II authentication
-### Step 1: Create a new project.
-
-First, start `dfx`:
-
-```
-dfx start --clean --background
-```
-
-Then use `dfx new ` to create a new project:
+### Step 1: Create or open a project.
-```
-dfx new ii_integration
-```
-
-You will be prompted to select the language that your backend canister will use. Select 'Motoko':
-
-```
-? Select a backend language: ›
-❯ Motoko
- Rust
- TypeScript (Azle)
- Python (Kybra)
-```
-
-:::info
-`dfx` versions `v0.17.0` and newer support this `dfx new` interactive prompt. [Learn more about `dfx v0.17.0`](/blog/2024/02/14/news-and-updates/update#dfx-v0170).
-:::
-
-Then, select a frontend framework for your frontend canister. Select 'Vanilla JS':
-
-```
- ? Select a frontend framework: ›
- SvelteKit
- React
- Vue
-❯ Vanilla JS
- No JS template
- No frontend canister
-```
-
-Lastly, you can include extra features to be added to your project. Select 'Internet Identity'.
-
-```
- ? Add extra features (space to select, enter to confirm) ›
-x Internet Identity
-⬚ Bitcoin (Regtest)
-⬚ Frontend tests
-```
+First, [start the local replica](/docs/current/developer-docs/developer-tools/cli-tools/cli-reference/dfx-start) if necessary and [create](/docs/current/developer-docs/developer-tools/cli-tools/cli-reference/dfx-new) or open a project.
### Step 2: Edit the backend code.
diff --git a/docs/developer-docs/smart-contracts/encryption/using-vetkeys.mdx b/docs/developer-docs/smart-contracts/encryption/using-vetkeys.mdx
index 7c5d27189b..7c64d363b2 100644
--- a/docs/developer-docs/smart-contracts/encryption/using-vetkeys.mdx
+++ b/docs/developer-docs/smart-contracts/encryption/using-vetkeys.mdx
@@ -7,23 +7,26 @@ import { AdornedTabs } from "/src/components/Tabs/AdornedTabs";
import { AdornedTab } from "/src/components/Tabs/AdornedTab";
import { BetaChip } from "/src/components/Chip/BetaChip";
import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow";
+import Tabs from "@theme/Tabs";
# vetKeys API demo
-
-
This demo provides a canister (`src/system_api`) that offers the [proposed vetKD system API](https://github.com/dfinity/interface-spec/pull/158), implemented demonstration, testing, and initial development purposes. We stress that it does not offer security yet as no threshold cryptography is used yet to secure the key.
This demo uses files found in [this repository](https://github.com/dfinity/examples/tree/master/rust/vetkd).
-## Prerequisites
+
+
-- [x] Download and install the IC SDK package as described in the [installing the IC SDK](/docs/current/developer-docs/getting-started/install) page.
-- [x] Download and install [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm).
-- [x] Download and install [git](https://git-scm.com/downloads).
+ Install the IC SDK.
+
+
+ Download and install git.
+
+
### Step 1: Begin by cloning the Github repository containing this project:
@@ -37,7 +40,7 @@ cd examples/motoko/vetkd
-
+
```
git clone https://github.com/dfinity/examples/
@@ -47,11 +50,9 @@ cd examples/rust/vetkd
-### Step 2: Then, start a local instance of the Internet Computer:
+### Step 2: Start a local instance of the replica.
-```sh
-dfx start --clean --background
-```
+First, [start the local replica](/docs/current/developer-docs/developer-tools/cli-tools/cli-reference/dfx-start) if necessary and [create](/docs/current/developer-docs/developer-tools/cli-tools/cli-reference/dfx-new) or open a project.
### Step 3: Ensure the dfx uses the canister IDs that are hard-coded in the source code:
diff --git a/roadmap/roadmap.json b/roadmap/roadmap.json
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/sidebars.js b/sidebars.js
index e82fc05607..3d01ff15d8 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -957,14 +957,13 @@ const sidebars = {
},
],
},
-
- {
- type: "doc",
- label: "Exchange rate canister",
- id: "developer-docs/defi/exchange-rate-canister",
- },
- ]
- }
+ ],
+ },
+ {
+ type: "doc",
+ label: "Exchange rate canister",
+ id: "developer-docs/defi/exchange-rate-canister",
+ },
],
},
{