diff --git a/.gitignore b/.gitignore index 94f74b403c..c5d6e055da 100644 --- a/.gitignore +++ b/.gitignore @@ -29,5 +29,5 @@ stats.py unlighthouse.config.ts # Local Netlify folder .netlify -roadmap.json -roadmap.d.ts +/roadmap/roadmap.json +/roadmap/roadmap.d.ts \ No newline at end of file diff --git a/README.md b/README.md index 84b279a1d2..e45e6a96ad 100644 --- a/README.md +++ b/README.md @@ -600,23 +600,25 @@ The list of tags is not final, and will be updated as the project evolves. For n - `DAO` - `DeFi` - `Enterprise` -- `Games` +- `Gaming` - `Metaverse` - `NFT` - `SocialFi` - `Tools / Infrastructure` - `Wallet` +- `Analytics` +- `Creator Economy` ### Object schema -``` +```json { id: string, name: string, oneLiner: string, // short description of the project website: string, // URL starting with `https://` - tags: ('AI' | 'Chain Fusion' | 'Bitcoin' | 'Ethereum' | 'DAO' | 'DeFi' | 'Enterprise' | 'Games' | 'Metaverse' | 'NFT' | 'SocialFi' | 'Tools / Infrastructure' | 'Wallet')[], + tags: ('AI' | 'Chain Fusion' | 'Bitcoin' | 'Ethereum' | 'DAO' | 'DeFi' | 'Enterprise' | 'Gaming' | 'Metaverse' | 'NFT' | 'SocialFi' | 'Tools / Infrastructure' | 'Wallet' | 'Analytics' | 'Creator Economy')[], description: string, // description of the project stats: string, // eg. "10,000 users" logo: string, // url to logo file, eg. /img/showcase/awesome-icp-project_logo.webp diff --git a/blog/news-and-updates/2024-12-28-update.mdx b/blog/news-and-updates/2024-12-28-update.mdx new file mode 100644 index 0000000000..5d960416c3 --- /dev/null +++ b/blog/news-and-updates/2024-12-28-update.mdx @@ -0,0 +1,55 @@ +--- +title: Developer weekly update December 18, 2024 +description: This week, we're going to take a look at the road ahead for ICP developers in 2025 and dive into some roadmap items and ongoing initiatives that we'll see take the stage in the new year. +tags: [Devs] +image: /img/blog/dev-update-blog-dec-18.jpg +--- + +# Developer weekly update December 18, 2024 + +![December 18 2024](../../static/img/blog/dev-update-blog-dec-18.jpg) + +Hello developers, and welcome to this week's developer weekly update! This week, we're going to take a look at the road ahead for ICP developers in 2025 and dive into some roadmap items and ongoing initiatives that we'll see take the stage in the new year. Let's get started! + +## Roadmap milestones + +In 2025, ICP will work toward several roadmap milestones, including: + +- Flux: Focused on increasing network compute capacity and scalability, Flux plans to implement asynchronous checkpointing and canister migration between subnets. + +- Ignition: Part of the decentralized AI roadmap, the Ignition milestone will expand compute and memory capabilities of canisters. + +- Helium: Next up in the Chain Fusion roadmap is an integration with Solana through a Solana RPC canister. + +- Niobium: The long-awaited vetKeys feature enabling decentralized key management. + +You can view details about the roadmap on [internetcomputer.org](https://internetcomputer.org/roadmap). + +## Decentralized AI: DeAI Manifesto + +Decentralized AI on ICP is just getting started and will be a major topic of conversation and development in 2025. Recently, the DeAI working group put together the [DeAI Manifesto](https://deaimanifesto.com/), a set of parameters and values that they believe will drive decentralized AI across all ecosystems—not just ICP. Some of these values include: + +- DeAI is safe AI. + +- DeAI is responsible AI. + +- DeAI is verifiable. AI + +You can read and sign the [DeAI Manifesto](https://deaimanifesto.com/) to participate in DeAI on ICP. + +## ICP developer ecosystem growth + +In the [Electric Capital 2024 Developer Report](https://www.developerreport.com/developer-report), the ICP developer community ranked highly across several different statistics, including: + +- In 2024, ICP was the third largest ecosystem for new developers. + +- In 2024, ICP was the second highest chain for full-time developer growth. + +- In Africa, ICP was the third most popular blockchain ecosystem. + +More details can be found [on X](https://x.com/dfinity/status/1867619158906876252). + +That'll wrap up this week and this year! Tune back in 2025 for more developer updates! + +-DFINITY + 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/docs/references/https-outcalls-how-it-works.mdx b/docs/references/https-outcalls-how-it-works.mdx index 51e44539eb..a37dc2746d 100644 --- a/docs/references/https-outcalls-how-it-works.mdx +++ b/docs/references/https-outcalls-how-it-works.mdx @@ -162,7 +162,7 @@ There are a number of error cases that can happen when using this feature. The m * **SysFatal - Timeout expired:** requests are timed out if not fulfilled within the timeout period. One important instance when this happens is when there are not sufficiently many equal responses to achieve consensus. This happens, for example, when the transformation function is not written accurately to account for all variable parts of responses. * **SysTransient - Failed to connect: error trying to connect: tcp connect error: Connection refused (os error 111):** this error indicates that a TCP connection could not be established with the other server. This is most likely due to the fact that the server you are calling is not supporting IPv6. * **CanisterReject - http_request request sent with 0 cycles, but ... cycles are required:** at least the required amount of cycles need to be sent with the request in order for it to get fulfilled by the subnet. -* **CanisterReject - max_response_bytes expected to be in the range [0..2097152], got ...:** this error indicates that the network response received from the server was too large. This happens if the response size is underestimated and the `max_response_bytes` value set too low. +* **CanisterReject - max_response_bytes expected to be in the range [0..2000000], got ...:** this error indicates that the network response received from the server was too large. This happens if the response size is underestimated and the `max_response_bytes` value set too low. * **SysFatal - Transformed http response exceeds limit: 2045952:** this error indicates that the limit for the transformed response size was reached. This is currently a hard response size limit of the HTTPS outcalls functionality. Note that the response size is computed based on response body and headers. Developers new to the feature are likely to run into certain problems in the beginning, materializing in one of the following errors. This page lists the most prominent issues when starting with this feature. diff --git a/docs/references/ic-interface-spec.md b/docs/references/ic-interface-spec.md index f800907b2d..b752bb5eec 100644 --- a/docs/references/ic-interface-spec.md +++ b/docs/references/ic-interface-spec.md @@ -1668,7 +1668,7 @@ This function allows a canister to find out if it is running, stopping or stoppe Status `1` indicates running, `2` indicates stopping, and `3` indicates stopped. - Status `3` (stopped) can be observed, for example, in `canister_pre_upgrade` and can be used to prevent accidentally upgrading a canister that is not fully stopped. + Observing the canister status is particularly useful during `canister_post_upgrade`. Confirming that the status is 3 (stopped) helps prevent accidentally upgrading a canister that has not fully stopped. ### Canister version {#system-api-canister-version} diff --git a/plugins/validate-showcase.js b/plugins/validate-showcase.js index 65f12bd61e..b22b53b50f 100644 --- a/plugins/validate-showcase.js +++ b/plugins/validate-showcase.js @@ -21,9 +21,11 @@ const tags = [ "DeFi", "Wallet", "Metaverse", - "Games", + "Gaming", "DAO", "Enterprise", + "Analytics", + "Creator Economy", ]; function isString(value) { diff --git a/roadmap/roadmap.d.ts b/roadmap/roadmap.d.ts deleted file mode 100644 index 5fc503c34d..0000000000 --- a/roadmap/roadmap.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -interface RootObject { - name: string; - description: string; - milestones: Milestone[]; -} - -interface Milestone { - name?: string | string; - milestone_id: string; - description: string; - eta: null | string | string; - status?: string; - elements: Element[]; -} - -interface Element { - title: string; - overview: string; - forum: string; - proposal: string; - docs: string; - eta?: string; - status: string; - is_community?: boolean; - in_beta?: boolean; - milestone_id?: string; - imported?: boolean; - description?: string; -} - diff --git a/roadmap/roadmap.json b/roadmap/roadmap.json index 986f2844bd..e69de29bb2 100644 --- a/roadmap/roadmap.json +++ b/roadmap/roadmap.json @@ -1,4329 +0,0 @@ -[ - { - "name": "Compute Platform", - "description": "Blockchain Singularity — all computations of the world can run on ICP. ICP is a decentralized compute platform operating as an extension of the Internet, offering cost effective compute and storage services, with infrastructure provided by independent entities around the globe. The platform allows anyone to deploy canister smart contracts on the Internet and run them in a decentralized manner.", - "milestones": [ - { - "name": "Increase scalability and compute capacity", - "milestone_id": "Flux", - "description": "ICP subnets can handle even more compute load, by better handling many distinct canisters and by using more CPU threads. When a subnet's load grows even beyond that, this milestone introduces canister migration, which enables better load balancing between subnets, ensuring all ICP subnets are well utilized.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "Asynchronous Checkpointing", - "overview": "Replicas currently persist the replicated state to disk every couple hundreds of rounds in a process called checkpointing. Currently some parts of checkpointing are done synchronously, which leads to drops in the execution rate in the checkpointing rounds and users have to wait longer for their responses during these rounds. The goal of this feature is to make more checkpointing steps run asynchronously in the background to make the IC's performance more consistent and predictable.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "milestone_id": "Flux" - }, - { - "title": "Canister migration", - "overview": "Migrating canisters between subnets. Important for balancing subnet utilization and scaling the IC.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Flux" - } - ] - }, - { - "name": "Reduced End-to-end Latency", - "milestone_id": "Tokamak", - "description": "This milestone marks a significant reduction of user-perceived end-to-end latency for processing ingress messages. It is achieved by multiple concerted measures at different levels of the protocol stack and brings the user experience of Web3 closer to Web2.", - "eta": "November 2024", - "status": "deployed", - "elements": [ - { - "title": "QUIC-based transport and P2P layer for consensus", - "overview": "A QUIC-based implementation of the transport and P2P layer for consensus that cuts down latency and increases throughput.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q1 2024", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Tokamak" - }, - { - "title": "Synchronous message submission endpoint", - "overview": "Providing a synchronous ingress submission endpoint in addition to the current asynchronous endpoint to reduce perceived end-to-end client-observed latency.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 2024", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Tokamak" - }, - { - "title": "Latency-aware ingress routing", - "overview": "Boundary nodes route ingress messages to subnet nodes with lower network distance in terms of latency instead of random nodes.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Tokamak" - } - ] - }, - { - "name": "Increased Storage Capacity and Throughput", - "milestone_id": "Stellarator", - "description": "Increased storage capacity of ICP subnets, storage per canister smart contract, and message throughput between subnets. Those improvements lead to each subnet being able to host larger workloads and better utilization of ICP’s hardware resources. The world's largest smart contracts can now grow even larger, far surpassing smart contracts on any other chain.", - "eta": "November 2024", - "status": "deployed", - "elements": [ - { - "title": "Increase Stable Memory Limit to 500GiB", - "overview": "Increasing the stable memory limit of a canister to 500GiB.", - "forum": "https://forum.dfinity.org/t/increased-canister-smart-contract-memory/6148/128", - "proposal": "", - "docs": "", - "eta": "Q2 2024", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Stellarator" - }, - { - "title": "Log-structured merge tree (LSMT) storage layer", - "overview": "Rewrite the storage layer to rely on log-structured merge trees (LSMTs) instead of XFS reflinking. This will give more fine-grained control over what happens during checkpointing and thus enable further, more targeted, performance improvements.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Stellarator" - }, - { - "title": "Support 1TB of replicated storage", - "overview": "Protocol improvements and optimizations of on-disk access and for syncing to reach 1TB of replicated state.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true, - "milestone_id": "Stellarator" - }, - { - "title": "Improved consensus throughput and latency", - "overview": "Improved consensus throughput and latency by better, and less bursty, node bandwidth use. Achieved through not including full messages, but only their hashes and other metadata, in blocks.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Stellarator" - }, - { - "title": "Motoko orthogonal persistence", - "overview": "Offering simple and scalable persistence across upgrades without needing to use stable memory in Motoko.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Stellarator" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "Configurable Wasm memory limit", - "overview": "Introduce an explicitly configurable Wasm heap limit. Exceeding the limit alerts the developer instead of bricking the canister when hitting the 4GiB limit.", - "forum": "https://forum.dfinity.org/t/proposal-configurable-wasm-heap-limit/17794", - "proposal": "https://dashboard.internetcomputer.org/proposal/105322", - "docs": "", - "eta": "2024", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Canister control audit trail", - "overview": "Seamless audit trail of management actions on canisters (creation, update, deletion). Allows to trace the sequence of installed canister versions to source code through a Wasm hash.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Query call metrics", - "overview": "Metrics about query calls executed for a canister during a time period. Requirement for a fair charging of cycles for query calls.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false - }, - { - "title": "Increase Stable Memory Limit to 32GiB", - "overview": "Increasing the stable memory limit of a canister from 8GiB to 32 GiB.", - "forum": "https://forum.dfinity.org/t/increased-canister-smart-contract-memory/6148/128", - "proposal": "", - "docs": "", - "eta": "October 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "HTTPS Outcalls from Canisters", - "overview": "Enables canisters to make calls to HTTP(S)-based servers. Trustless integration with Web2.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-general-integration-proposal/9383", - "proposal": "https://dashboard.internetcomputer.org/proposal/35639", - "docs": "https://internetcomputer.org/https-outcalls", - "eta": "2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Support 450GB replicated storage", - "overview": "Enhance replicated storage further to 450GB per subnet. Requires protocol improvements and optimizations.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Wasm-native stable memory", - "overview": "Letting stable read and write operations directly access replicated memory, similar to how Wasm load and store operations access the the heap.", - "forum": "https://forum.dfinity.org/t/proposal-wasm-native-stable-memory/15966", - "proposal": "https://dashboard.internetcomputer.org/proposal/88812", - "docs": "", - "eta": "2023", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Increase Stable Memory Limit to 48GiB", - "overview": "Increasing the stable memory limit of a canister from 32GiB to 48 GiB.", - "forum": "https://forum.dfinity.org/t/increased-canister-smart-contract-memory/6148/128", - "proposal": "", - "docs": "", - "eta": "2023", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Increase Stable Memory Limit to 96GiB", - "overview": "Increasing the stable memory limit of a canister from 48GiB to 96GiB.", - "forum": "https://forum.dfinity.org/t/increased-canister-smart-contract-memory/6148/128", - "proposal": "", - "docs": "", - "eta": "Jan 2023", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Bazel-based Build System", - "overview": "Reducing build and testing times through a Bazel-based build system. More aggressive caching. Only perform necessary steps.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "July 2023", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Support 750GB replicated storage", - "overview": "Enhance replicated storage further to 750GB per subnet. Requires protocol improvements and optimizations.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Locally timing out canister requests", - "overview": "Timing out canister-to-canister messages during high load.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-scalability-proposal/9387", - "proposal": "", - "docs": "", - "eta": "December 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "High-replication Subnets", - "overview": "Subnets with higher replication factor than app subnets. Initially ~30 nodes. For highly security-critical dapps such as financial applications.", - "forum": "https://forum.dfinity.org/t/introducing-the-first-fiduciary-subnet/17594", - "proposal": "", - "docs": "", - "eta": "December 2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Composite queries", - "overview": "Making queries composable so that a query can call other queries. Supported within a subnet initially.", - "forum": "https://forum.dfinity.org/t/proposal-composite-queries/15979", - "proposal": "https://dashboard.internetcomputer.org/proposal/87599", - "docs": "", - "eta": "2023", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Canister Timers", - "overview": "Timer API to schedule tasks to be run on a canister. Improves on heartbeat API by configuring the frequency.", - "forum": "https://forum.dfinity.org/t/heartbeat-improvements-timers-community-consideration/14201/", - "proposal": "https://dashboard.internetcomputer.org/proposal/88293", - "docs": "", - "eta": "Q1 2023", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Network Scalability: State Sync, Certification, and XNet", - "overview": "Improving network scalability in terms of state sync, certification, and XNet calls", - "forum": "https://forum.dfinity.org/t/long-term-r-d-scalability-proposal/9387/3", - "proposal": "https://dashboard.internetcomputer.org/proposal/35648", - "docs": "", - "eta": "February 2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Subnet Splitting MVP", - "overview": "Subnet splitting allows a subnet and its canisters and state to be split into two subnets with minimal interruption of canisters on the subnet.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-subnet-splitting-proposal/9402/4", - "proposal": "https://dashboard.internetcomputer.org/proposal/35672", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Deterministic Time Slicing", - "overview": "A single message execution can span multiple IC rounds. Important for canister upgrades or inherently long-lasting computations.", - "forum": "https://forum.dfinity.org/t/deterministic-time-slicing/10635", - "proposal": "", - "docs": "", - "eta": "2023", - "status": "deployed", - "is_community": false, - "in_beta": true, - "imported": true - }, - { - "title": "A subnet can support 100K+ canisters", - "overview": "Addressing the biggest bottlenecks that prevent 100K+ canisters per subnet. Important for dapps that have a canister per user.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Improved I/O Handling in State Manager", - "overview": "Improvements of interaction with the disk in the state manager. This includes reducing the number of interactions or taking them out of the state machine loop.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-scalability-proposal/9387", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Larger Wasms", - "overview": "Allow devs to deploy and update Wasm files larger than the current 2 MB limit resulting from the ingress size limit. Achieved by chunking large Wasms and reassembling fragments before installation or update.", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "status": "deployed", - "forum": "https://forum.dfinity.org/t/allow-installation-of-large-wasm-modules/17372", - "eta": "Q1 24" - }, - { - "title": "Replica-signed queries", - "overview": "With this feature replicas will start signing query responses. This allows users to verify that intermediaries, e.g., boundary nodes, did not tamper with the response.", - "forum": "https://forum.dfinity.org/t/feature-discussion-replica-signed-queries/21793", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Reassigning Nodes to Different Subnets", - "overview": "Allowing nodes to be reassigned from one subnet to another subnet through NNS proposals, without redeploying.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "March 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Observability Solution for Nodes", - "overview": "Consensus-verified onchain data of node behaviour. Enables monitoring availability of nodes and penalizing non-performing nodes.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Reduction of P2P latency", - "overview": "Latency improvements of P2P messaging through improved protocol and implementation. Reduces the latency of the consensus protocol and thus improves overall performance.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Best-effort messaging", - "overview": "Extend canister messaging by an additional message type that enables more scalable and responsive dApps.", - "status": "in_progress", - "forum": "https://forum.dfinity.org/t/scalable-messaging-model/26920", - "proposal": "https://dashboard.internetcomputer.org/proposal/127668", - "docs": "", - "eta": "2024", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Small guaranteed-response messages", - "overview": "Extend canister messaging by an additional message type with the same guarantees as current messages with a tighter upper bound on the message size to allow for more messages that can be in flight at the same time.", - "status": "future", - "forum": "https://forum.dfinity.org/t/scalable-messaging-model/26920", - "proposal": "https://dashboard.internetcomputer.org/proposal/127668", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Charging for query calls", - "overview": "Charge a fair price in cycles for executed query calls. Currently query calls are free and only update calls are charged for.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Increasing instruction limits for query and update calls", - "overview": "Raising instruction limits of query and update calls. They have limitations of a few billion instructions currently.", - "eta": "", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Dapp-level metrics", - "overview": "Dapp-level metrics allow for obtaining insights into statistics of dapps, e.g., the daily / weekly / monthly active users of a dapp.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Wallet apps (\"Wapps\")", - "overview": "Wapps are the next evolutionary step of apps: Install your personal apps directly on the blockchain and keep control over your data.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Support of 1M canisters per subnet", - "overview": "Allowing up to 1 million canisters on a subnet, up from the current 100K canisters.", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false, - "forum": "https://forum.dfinity.org/t/what-do-you-need-from-icp-in-2024/25726/9", - "milestone_id": "" - }, - { - "title": "Support multiple TB of replicated storage", - "overview": "Enhance replicated storage further to multiple terabytes per subnet. Requires protocol improvements and optimizations.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "", - "imported": true - }, - { - "title": "Improved state certification", - "overview": "The protocol requires certifying parts of the replicated state every round, which includes hashing the respective parts of the state. The faster this is, the more time can be spent on other things during the round. This feature is about optimizing certification times.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Messages to specified canister version", - "overview": "Messages to canisters can be required to be only executed by a specific version of the call target to help guarantee that the intended (e.g., audited) version of the code is running.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Capabilities", - "overview": "Capabilities — untamperable self-contained permission tokens — allow users or canisters to perform actions with canisters. Authority can be delegated by delegating a capability to another entity.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Canister groups", - "overview": "Guarantee collocation of canisters on the same subnet by adding them to canister groups. Groups of canisters are always moved together between subnets.", - "forum": "https://forum.dfinity.org/t/canister-groups/16015", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Secure XNet cycles protocol", - "overview": "Securely sending cycles from a less-trusted subnet, e.g., a UTOPIA subnet, rented subnet, or low-replication subnet, to a regular ICP subnet.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Messaging model enhancements", - "overview": "Enhancing canister messaging by means such as named callbacks and one-shot messages.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Queries at specified block height", - "overview": "Execute a query at a specified block height. Prerequisite for use cases like replicating queries on multiple replicas, XNet queries or databases.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Hyper-scalable inter-subnet message routing", - "overview": "Hyper-scalable XNet messaging protocol and implementation supporting a practically unlimited number of subnets. The current implementation works well up to a reasonably large number of subnets.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Subnet deletion", - "overview": "Enable subnets to be deleted via NNS proposals.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "in_beta": false - }, - { - "title": "Libraries for large data transfers", - "overview": "Provide more generalized abstractions to overcome message size limits and make them invisible to developers.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Wasm deduplication", - "overview": "Deduplicating Wasm code for running many instances of the same Wasm as is done in a-canister-per-user architectures.", - "forum": "https://forum.dfinity.org/t/what-do-you-need-from-icp-in-2024/25726/9", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "WASI V2 support", - "overview": "WASI V2 is the upcoming standard for running Wasm programs outside of browser environments. It is expected to become the de-facto standard and be targeted by many libraries and thus should be supported by ICP.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - }, - { - "title": "HTTPS outcalls V2", - "overview": "Additional feature for HTTPS outcalls: IPv4 support, single-node outcalls, and fire & forget outcalls. Allows for reduced latencies and reduced cycle costs.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "HTTPS outcalls V3", - "overview": "Support HTTPS outcalls also for queries, instead of only update calls.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "XNet composite queries", - "overview": "Extending composite queries to work also across subnets, which gives full power to composite queries and simplifies building large-scale decentralized systems.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Capacity reservations for system calls", - "overview": "Allowing canisters to reserve capacity for certain crucial system calls such as chain-key signing or HTTPS outcalls. Reserved capacity is guaranteed to be available to the canister.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Replica key lifecycle V2 — Proactive security", - "overview": "Apply key rotation or resharing to a broader range of keys managed by the replica. Improved security against temporarily compromised replicas.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Resilience against slow nodes", - "overview": "Punishing ICP nodes that are constantly not performing to specification, i.e., failing too frequently to produce a block successfully when requested or being off-line for considerable time.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "User-paid messages", - "overview": "Using the regular gas model for specific settings: The caller, instead of the canister, pays for update and query calls.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Subnet splitting V2", - "overview": "An enhanced version of subnet splitting where all the heavy lifting is done by the protocol.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Blob storage", - "overview": "Storage of large amounts of data in a subnet using a new blob storage architecture with the cost of around 2x the SSD cost. More efficient and cheaper compared to regular storage on ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Blob streaming (download)", - "overview": "High-throughput download of data from a subnet's blob storage. The implementation of this can have the bulk data bypass consensus when being read by a user.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Blob streaming (upload)", - "overview": "High-throughput upload of data to a subnet's blob storage. An optimized implementation of this can have the bulk data bypass consensus, if uploaded by a user.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Eternal storage", - "overview": "A storage tier on ICP for which a one-off payment for an unlimited storage duration instead of periodic rent is paid.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Structured data storage", - "overview": "Library for structured data storage in stable memory to enable more powerful and convenient out-of-the-box data storage and querying.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Inter-subnet messaging across trust zones", - "overview": "Sovereign subnets are typically more centralized than ICP mainnet. Thus, messaging between subnets needs to consider the trust zones the subnets are in to maintain overall security.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Using cycles across trust zones", - "overview": "Transferring cycles from a sovereign network to ICP mainnet or subnets in different trust zones can, because of their weaker decentralization properties, not rely on directly sending cycles.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Decentralized AI", - "description": "Today, users have to blindly trust AI models running on centralized servers with no visibility into how data is used and how AI models produce responses. Decentralized AI solves this problem by bringing the trustworthiness, security, verifiability, and resilience of smart contracts to AI applications.", - "milestones": [ - { - "milestone_id": "Ignition", - "description": "In order to perform AI inference and training of larger models on chain, canister smart contracts need to run more compute- and memory-intensive workloads. This milestone expands the compute and memory capabilities of canisters and paves the way for future GPU hardware acceleration. A special focus is being placed on the developer experience by building tools to simplify writing AI applications.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "API for AI computations", - "overview": "API for smart contracts that allows them to run hardware-accelerated AI computations. Initially, hardware acceleration will rely on the CPU, paving the way for GPU hardware acceleration in the future.", - "description": "AI computations are typically a graph of a large number of floating-point operations. Abstracting those operations into an API streamlines the development of AI applications, and paves the way to introduce optiizations to these specialized workload.", - "status": "in_progress", - "milestone_id": "Ignition", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Wasm64 execution environment", - "overview": "The execution environment is lifted to Wasm64 with the benefit of a 64-bit address space and its much larger addressable memory, allowing developers to load larger models in main memory.", - "description": "The execution environment is lifted to Wasm64 with the benefit of a 64-bit address space and its much larger addressable memory.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Ignition" - }, - { - "title": "Tooling and libraries for developing AI smart contracts", - "overview": "Providing developer tooling and libraries for building AI smart contracts on ICP, reusing existing AI ecosystem tools wherever possible.", - "description": "Developers need tooling and libraries to implement AI smart contracts. Ideally, the existing AI ecosystem is reused as much as possible, but specialized tools and libraries might be needed for developing onchain AI applications.", - "status": "", - "milestone_id": "Ignition", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - } - ] - }, - { - "name": "Onchain AI Inference", - "milestone_id": "Cyclotron", - "description": "Allow smart contracts to run inference using AI models with millions of parameters fully on chain. The focus of this milestone is performance. There are performance optimizations that can be implemented both in the WebAssembly engine and the AI inference engine. The expected speedup is 10x and more.", - "eta": "July 15, 2024", - "status": "deployed", - "elements": [ - { - "title": "Faster deterministic floating-point operations", - "overview": "Accelerating deterministic floating-point computations in the Wasm engine.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "https://medium.com/@dfinity/the-next-step-for-deai-on-chain-inference-enabling-face-recognition-589183203fc2", - "is_community": false, - "in_beta": false, - "milestone_id": "Cyclotron" - }, - { - "title": "Wasm SIMD instructions", - "overview": "Deterministic SIMD (Single Instruction, Multiple Data) support in the Wasm execution engine for better performance of AI inference.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "https://medium.com/@dfinity/the-next-step-for-deai-on-chain-inference-enabling-face-recognition-589183203fc2", - "is_community": false, - "in_beta": false, - "milestone_id": "Cyclotron" - }, - { - "title": "Optimizing AI inference engine", - "overview": "This feature brings SIMD support to the open source inference engine used on ICP to leverage the upcoming support of SIMD operations in Wasm.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "https://medium.com/@dfinity/the-next-step-for-deai-on-chain-inference-enabling-face-recognition-589183203fc2", - "is_community": false, - "in_beta": false, - "milestone_id": "Cyclotron" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "Increase the message instruction limit to 40 billion instructions", - "overview": "Increasing the message limit from 20 to 40 billion instructions to facilitate longer-running computations, which is crucial for AI inference.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "" - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Public specification for GPU-enabled nodes", - "overview": "The ICP community needs to agree and adopt the hardware specification for replica nodes with GPUs.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "AI-specialized subnets with GPU-enabled nodes", - "overview": "AI-specialized subnets are created from nodes with GPUs and host AI smart contracts for training and inference of large models.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Increase the instruction limit in queries from 5 billion instructions to 40 billion instructions.", - "overview": "The goal of this feature is to bring the instruction limit of queries on par with that of update calls by introducing a way for canisters to opt in into query charging.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Chain Fusion", - "description": "Chain Fusion technology enables blockchains like Bitcoin, Ethereum, and Solana to be \"fused\" together with ICP to create a seamless single-chain end-user experience for multi-chain dapps. Canister smart contracts on ICP orchestrate, augment, and interact with smart contracts on other chains using advanced chain-key technology and enhance those smart contracts with ICP's special capabilities and its superior compute and storage capacity and throughput.", - "milestones": [ - { - "name": "Chain Fusion Supports Solana", - "milestone_id": "Helium", - "description": "This milestone enables Chain Fusion for the Solana network, bringing Solana and ICP closer together, combining the powers of the two networks. Dapps leveraging the capabilities of both networks look and feel like single-network dapps.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "Threshold EdDSA signing", - "overview": "Threshold EdDSA support using cryptographic multiparty computation (MPC). Enables trustless integrations with all chains using EdDSA on the Ed25519 curve like Solana or Cardano.", - "status": "deployed", - "eta": "2024", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Helium" - }, - { - "title": "Solana RPC canister", - "overview": "RPC canister connecting to Solana RPC providers to integrate with the Solana network. Enables two-way communication with the Solana network.", - "forum": "", - "proposal": "", - "docs": "https://github.com/mfactory-lab/ic-solana", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false, - "milestone_id": "Helium" - } - ] - }, - { - "name": "Chain Fusion Supports EVM Chains", - "milestone_id": "Tritium", - "description": "ICP’s Chain Fusion technology has full support for Ethereum and other EVM chains. ICP smart contracts can read from and write to EVM chains using a decentralized approach as well as sign transactions in a trustless manner using threshold ECDSA signing. This allows ICP smart contracts to augment EVM-based smart contracts with additional functionality through ICP's superpowers, transfer tokens on other chains, and call smart contracts on EVM chains.", - "eta": "May 23, 2024", - "status": "deployed", - "elements": [ - { - "title": "RPC canister for Ethereum & EVM integration", - "overview": "Integration of ICP with EVM blockchains via a canister that accesses JSON RPC providers through HTTPS outcalls. Works for Ethereum and other EVM chains with RPC providers.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Tritium" - }, - { - "title": "Threshold ECDSA signing latency & throughput improvements", - "overview": "Reducing the latency of threshold ECDSA signing operations by reducing the number of required consensus rounds through protocol improvements. Also results in a throughput improvement.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Tritium" - }, - { - "title": "Chain-key ERC20 (ckERC20) tokens & ckUSDC", - "overview": "A subset of Ethereum's ERC20 tokens on ICP in the form of \"twin tokens\" called ckERC20 (chain-key ERC20). ckUSDC is to be among the first ckERC20 tokens.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-integration-with-the-ethereum-network/9382", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Tritium", - "imported": true - } - ] - }, - { - "name": "Chain Fusion Supports Bitcoin ordinals and runes", - "milestone_id": "Deuterium", - "description": "ICP’s Chain Fusion technology has full support for Bitcoin protocols such as BRC20 and Runes. So far, ICP’s fully-onchain capabilities have been largely applied to use cases where Bitcoin is used as a means of value transfer, its original purpose. This milestone provides additional functionality that enables smart contracts to index and issue prominent types of Bitcoin inscriptions in a completely decentralized manner for the first time, thereby putting ICP into a unique position among all chains.", - "eta": "August 13, 2024", - "status": "deployed", - "elements": [ - { - "title": "Threshold Schnorr signing", - "overview": "Threshold Schnorr signing support based on multiparty computation (MPC). Enables trustless integrations with the Bitcoin network using Schnorr-BIP340 for supporting inscriptions.", - "status": "deployed", - "eta": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Deuterium" - }, - { - "title": "Onchain Bitcoin block headers", - "overview": "Exposing an onchain API to access all Bitcoin block headers to enable dapps to trustlessly access the full Bitcoin block content.", - "status": "deployed", - "eta": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Deuterium" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "Direct Bitcoin Integration", - "overview": "Native integration with the Bitcoin blockchain. Trustless reading from and writing to the Bitcoin network from canister smart contracts.", - "forum": "https://forum.dfinity.org/t/direct-integration-with-bitcoin/6147", - "proposal": "https://dashboard.internetcomputer.org/proposal/20586", - "docs": "https://internetcomputer.org/bitcoin-integration", - "eta": "2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Threshold ECDSA Signatures (a.k.a. Chain-key ECDSA)", - "overview": "Threshold ECDSA protocol suite based on multi-party computation (MPC). Enables trustless integrations with ECDSA-based chains.", - "forum": "https://forum.dfinity.org/t/threshold-ecdsa-signatures/6152", - "proposal": "https://dashboard.internetcomputer.org/proposal/21340", - "docs": "https://internetcomputer.org/docs/current/developer-docs/integrations/t-ecdsa/", - "eta": "2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "ECDSA key rotation and resharing", - "overview": "Periodic key rotation and resharing to improve resilience against adaptive attacks against the threshold ECDSA protocol.", - "forum": "https://forum.dfinity.org/t/threshold-ecdsa-signatures/6152/245", - "proposal": "", - "docs": "", - "eta": "2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Chain-key Bitcoin (ckBTC) token", - "overview": "Twin token of Bitcoin on ICP, realized with the native Bitcoin integration and threshold ECDSA. Fast, low-fee Bitcoin transfers on ICP.", - "forum": "https://forum.dfinity.org/t/chain-key-bitcoin-ckbtc-bitcoin-wrapped-by-a-smart-contract/17606/", - "proposal": "https://dashboard.internetcomputer.org/proposal/50135", - "docs": "", - "eta": "April 2023", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "X-chain token minter V1 (ERC20-ICP)", - "overview": "First version of the X-chain token minter bringing the ICP token to Ethereum.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "eta": "2023-09-23", - "is_community": true, - "in_beta": false - }, - { - "title": "Chain-key Ether (ckETH) token", - "overview": "Ethereum's Ether token on ICP in the form of a \"twin token\" called ckETH (chain-key ETH).", - "forum": "https://forum.dfinity.org/t/long-term-r-d-integration-with-the-ethereum-network/9382", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "EVM in a canister", - "overview": "An low-fee, high-performance EVM implemented as set of canisters on ICP with trustless integration with the Bitcoin network.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Threshold ECDSA — Throughput improvements", - "overview": "Improving throughput of chain-key ECDSA via multiple protocol improvements such as batching, parallel processing of crypto operations, and cryptographic protocol improvements.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Chain-key SOL (ckSOL) token", - "overview": "Solana's SOL token on ICP in the form of a \"twin token\" called ckSOL (chain-key SOL).", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Oracles with signed responses", - "overview": "Adding exchange rate oracles that threshold sign their responses. Required for adoption of ICP's trustless oracles in other blockchain ecosystems.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Chain-Key BRC20 (ckBRC20) tokens", - "overview": "A generic chain-key variant of BRC20 tokens on ICP to support ordinals.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Direct Ethereum integration", - "overview": "Direct integration of the Internet Computer with the Ethereum blockchain enables canisters to call smart contracts on Ethereum and vice versa in a trustless manner.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-integration-with-the-ethereum-network/9382/6", - "proposal": "https://dashboard.internetcomputer.org/proposal/35635", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Onchain Bitcoin explorer", - "overview": "Fully onchain Bitcoin explorer running on ICP. Adds a missing piece of decentralized infrastructure to the Bitcoin ecosystem.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Onchain Ethereum block explorer", - "overview": "Ethereum block explorer running fully on chain on ICP. Adding a missing piece of decentralized infrastructure to the Ethereum ecosystem.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Larger threshold for threshold signing and key backup", - "overview": "Increasing the threshold of the ECDSA signing and key backup schemes from 1/3 towards up to 1/2 by giving up some availability for stronger security.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Threshold signing with substantially increased throughput", - "overview": "Considerably improving threshold signing throughput for threshold Schnorr & threshold EdDSA, based on a new cryptographic protocol architecture.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "X-chain token minter V2 (ERC20-ICRC)", - "overview": "Enhanced version of the X-chain token minter, generalizing the approach from ICP only to ICRC-1 tokens to be brought to Ethereum.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "X-chain token minter V3", - "overview": "A further enhanced version of the X-chain token minter, bringing ICP and ICRC-1 tokens to other blockchain networks such as Ethereum L2s and Solana.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-1 interface for native BTC, ERC20 and others", - "overview": "Exposing an ICRC-1 interface to tokens of token standards from other networks, such as BTC or ERC20. This will make X-chain tokens on ICP more easy to use.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Ethereum and Bitcoin optimistic logging and settlement", - "overview": "Settling a fingerprint of a canister's state to ultra-high-replication blockchains such as the Bitcoin or Ethereum networks. The first version is optimistic in that the settled value cannot be publicly verified.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "eta": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Native USDC integration through CCTP", - "overview": "Bringing USD Coin (USDC) natively to ICP via integration with Circle's CCTP (Cross-Chain Transfer Protocol).", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "BTC ordinals indexer and inscriber", - "overview": "BTC ordinals indexer and inscriber running fully on chain on ICP. Adding a missing decentralized piece of infrastructure to the Bitcoin ecosystem to help it become more decentralized.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Privacy", - "description": "Canister smart contracts can be used to implement privacy-preserving dapps that give users full control over their data. Leveraging cryptographic protocols, ICP enables developers to build dapps where users store and share encrypted data onchain. Advanced cryptographic protocols will eventually allow computations on encrypted data.", - "milestones": [ - { - "name": "vetKeys for Decentralized Key Management", - "milestone_id": "Niobium", - "description": "vetKeys technology realizes a decentralized key management service, allowing users to derive cryptographic keys on demand, in a fully decentralized way. This allows developers to build dapps where users’ data is encrypted, addressing privacy needs on a public blockchain.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "ICP integrates the vetKeys protocol", - "overview": "Implementing threshold key derivation to allow for threshold decryption and other use cases. Canisters can store end-to-end-encrypted user data.", - "forum": "https://forum.dfinity.org/t/threshold-key-derivation-privacy-on-the-ic/16560", - "proposal": "", - "docs": "https://internetcomputer.org/docs/current/developer-docs/integrations/vetkeys/technology-overview", - "eta": "Q2 2025", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "milestone_id": "Niobium", - "imported": true - }, - { - "title": "User-space libraries and example dapps for vetKeys", - "overview": "Implementation of libraries and examples that make it easier for users and developers to use vetKeys technology and improve the security and privacy of dapps.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 2025", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "milestone_id": "Niobium", - "imported": false - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "vetKeys API mock implementation", - "overview": "For facilitating the community discussions regarding the API of vetKeys, a mock implementation has been provided in a canister and used to converge to the final API.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "" - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Disaster recovery for SEV-SNP-enabled subnets", - "overview": "SEV-SNP raises the level of security, but also makes disaster recovery harder. SEV-SNP-enabled subnets need to be made recoverable, e.g., by securely escrowing its secure enclave key material on the NNS.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "SEV Support for Replica Nodes", - "overview": "Enabling the SEV-SNP trusted computing technology for the Replica VM to protect sensitive data from unauthorized access.", - "forum": "https://forum.dfinity.org/t/amd-sev-virtual-machine-support/6156", - "proposal": "https://forum.dfinity.org/t/long-term-r-d-tee-enhanced-ic-proposal/9384/4", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "SEV-SNP-enabled ECDSA subnet", - "overview": "The threshold ECDSA signing and backup subnets are enabled with SEV-SNP to raise the protection level against data exfiltration attacks by entities with access to the nodes.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "SEV-SNP for app subnets", - "overview": "Regular app subnets receive SEV-SNP protection to make them harder to tamper with and to enable attestation of running the correct software image.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Fully-homomorphic encryption (FHE)", - "overview": "Fully-homomorphic encryption (FHE) allows for arbitrary computations on encrypted data and only authorized parties to decrypt the result. Blockchain data privacy.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Cryptographic multi-party computation (MPC)", - "overview": "Running MPC on the blockchain nodes allow for privacy-preserving arbitrary computations to be made, with only authorized parties learning the results.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Platform Decentralization", - "description": "The security of ICP is based on the elimination of central points of control. A user interacting with ICP shall not need to rely on a single party. Besides architectural aspects, such as the edge infrastructure, this also encompasses operational aspects, complementing the DAO-based governance of ICP.", - "milestones": [ - { - "name": "Edge Infrastructure is Fully Decentralized", - "milestone_id": "Solenoid", - "description": "ICP is accessible through a decentralized edge infrastructure, which is split into NNS-controlled API Boundary Nodes and HTTP Gateways. The NNS will appoint node machines to run API Boundary Nodes and anyone will be able to run HTTP Gateways, enabling a much more decentralized ICP edge infrastructure with a diverse set of service providers.", - "eta": "December 2024", - "status": "in_progress", - "elements": [ - { - "title": "API Boundary Nodes (NNS controlled)", - "overview": "In the new boundary-node architecture, API boundary nodes are placed under the full control of the NNS and function as the edge of the IC.", - "status": "in_progress", - "forum": "https://forum.dfinity.org/t/boundary-node-roadmap/15562", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Solenoid" - }, - { - "title": "HTTP Gateways", - "overview": "The HTTP Gateway becomes a standalone component as part of the new Boundary Node architecture.", - "forum": "https://forum.dfinity.org/t/boundary-node-roadmap/15562", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "milestone_id": "Solenoid", - "imported": true - }, - { - "title": "Community-owned HTTP Gateways", - "overview": "As part of the new boundary-node architecture, the HTTP gateway is turned into a standalone service, which is easily deployable by anyone, including end users.", - "forum": "https://forum.dfinity.org/t/boundary-node-roadmap/15562", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "", - "eta": "", - "status": "upcoming", - "is_community": false, - "in_beta": false, - "milestone_id": "Solenoid" - } - ] - }, - { - "name": "Decentralized access logs and metrics", - "milestone_id": "Levitron", - "description": "This milestone establishes visibility into the Internet Computer's edge infrastructure by making aggregated API boundary node access logs publicly accessible. This provides developers with valuable insights into their dapps' usage patterns and facilitates the generation of user statistics, offering key information on traffic sources. To guarantee the integrity of these logs, the milestone focuses on leveraging trusted execution environments, specifically AMD SEV-SNP.", - "eta": null, - "status": "future", - "elements": [ - { - "title": "SEV-SNP-protected API Boundary Nodes", - "overview": "Security for API boundary nodes is improved using trusted execution (AMD SEV-SNP), enabling anyone to attest that the correct software is running.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-boundary-nodes-proposal/9401", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "", - "eta": "", - "milestone_id": "Levitron", - "status": "upcoming", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Public API Boundary Node logs and metrics", - "overview": "Anyone can analyze the API boundary node access logs to gain insights into app usage patterns etc.", - "forum": "", - "proposal": "", - "milestone_id": "Levitron", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "Gen 2 Replica Node Hardware Specification", - "overview": "Specification of the Gen 2 hardware for ICP nodes. Vendor independent. Includes new features such as SEV-SNP CPUs.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "January 2023", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "HostOS upgrades", - "overview": "NNS-controlled HostOS upgrades enable also the HostOS to be kept up-to-date and security patched via the NNS.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Feb 2024", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "ICOS Boundary Nodes", - "overview": "Porting the boundary node to the replica's IC OS to simplify operations.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-boundary-nodes-proposal/9401", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "", - "eta": "August 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Canister SEO", - "overview": "Enables dapps on ICP to be index by search engines and previewed on social media. Boundary nodes redirect requests from crawlers and bots to raw in order to avoid loading the service worker.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "September 2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Canister Deny-listing on Boundary Nodes", - "overview": "Node providers can deny-list canisters to comply with local regulations and orders. Decentralized content blocking.", - "forum": "https://forum.dfinity.org/t/path-forward-on-leveraging-boundary-nodes-for-content-filtering/10911", - "proposal": "", - "docs": "", - "eta": "October 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Custom Domain Names", - "overview": "Custom domain names for canisters on ICP. DNS entry of domain redirects to boundary nodes.", - "forum": "https://forum.dfinity.org/t/custom-domains-for-ic0-app-community-consideration/6162", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "https://internetcomputer.org/docs/current/developer-docs/production/custom-domain/", - "eta": "February 2023", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "WebSocket support for canisters", - "overview": "WebSocket-based communication with canister smart contracts through an IC WebSocket gateway. Enables the canister to push messages to the client.", - "forum": "https://forum.dfinity.org/t/23872", - "proposal": "", - "docs": "https://github.com/omnia-network/ic-websocket-gateway", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Certified Headers", - "overview": "Flexible certification of canister-defined response headers besides the response body.", - "forum": "https://forum.dfinity.org/t/announcing-response-verification-v2/19135/1", - "proposal": "", - "docs": "", - "eta": "March 2023", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Secure access to ICP without service worker", - "overview": "Relying on local and remote HTTP gateways to securely access ICP dapps from the browser.", - "forum": "https://forum.dfinity.org/t/deprecating-the-service-worker/23401", - "proposal": "", - "docs": "", - "eta": "Q4 2023", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Replica Node Storage Upgrade", - "overview": "Upgrading the storage of existing replica nodes to 32 TB of NVME SSD.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Tooling for node provider self onboarding", - "overview": "Node provider onboarding through improved tooling and a GUI. Better UX for node provider onboarding than using the command line.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false - }, - { - "title": "Subnet rental", - "overview": "Anyone can rent subnets created with possibly different decentralization properties than mainnet, and have full control over the subnet's resources.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false - }, - { - "title": "Certification libraries", - "overview": "The libraries assist developers in managing certification at the appropriate level of abstraction, addressing the complexity of securely interacting with the IC.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "https://github.com/dfinity/response-verification", - "is_community": false, - "in_beta": false - }, - { - "title": "Public access to a subset of node metrics", - "overview": "Giving node providers access to a subnet of node metrics to help them find out what is failing in case of node issues.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false - }, - { - "title": "Off-chain observability stack for Node Providers", - "overview": "Observability solution for Node Providers to enable them to independently triage node health and take corrective action in case of problems.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Alerting of NP in case of Node Failure", - "overview": "Alert Node Providers if one of their nodes starts misbehaving or underperforming.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "HTTP Asset Caching", - "overview": "Building on response verification v2, HTTP gateways support caching of static assets such as HTML pages, JavaScript code, and images.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-boundary-nodes-proposal/9401", - "proposal": "https://dashboard.internetcomputer.org/proposal/35671", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Certified queries", - "overview": "Enable certified queries by having boundary nodes send a query to multiple replicas and aggregating the signed responses. Better efficiency than fully-replicated calls, and comparable security.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "upcoming", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "SEV-SNP-protected HTTP Gateway", - "overview": "Trusted execution (AMD SEV-SNP) enables trustless HTTP gateways, empowering users to remotely attest that the correct software image is running.", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "status": "upcoming" - }, - { - "title": "CDN canisters on edge infrastructure", - "overview": "Read-only canisters run on the ICP edge infrastructure in a non-replicated manner, bringing read-heavy data closer to the edge, analogous to CDNs.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Chain Name System (CNS)", - "overview": "A decentralized naming system built into the ICP that allows translating user-friendly domains into various records (e.g., A records as used in DNS or wallet addresses), while ensuring verifiability and reliability.", - "forum": "https://forum.dfinity.org/t/technical-working-group-naming-system/21236", - "proposal": "", - "docs": "https://github.com/dfinity/cns", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Node Provider Remuneration V3", - "overview": "Improves the V2 remuneration model by considering things like different multipliers per region, nodes per data center, penalties, or remuneration based on metrics such as cycles burnt.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Strengthened node provider checks and audits", - "overview": "Strengthening the checks of entities intending to join ICP as node providers. May also include node provider audits.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Penalties for non-compliant node providers", - "overview": "Non-compliant node providers are penalized economically or excluded from future network participation. This creates a cryptoeconomic incentive to encourage honest node provider behaviour.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Autonomous capacity management", - "overview": "Making capacity management of the ICP network more decentralized and autonomous, driven by community proposals.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Community can run system tests", - "overview": "Enabling the community to run system tests for the ICP codebase, using Kubernetes as container orchestrator.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Decentralized backup and recovery", - "overview": "Enabling decentralized backup and recovery of canisters. Recovered canisters are guaranteed to not have been tampered with.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Decentralized virtual personhood validation", - "overview": "Scalable, decentralized, virtual proof of personhood to distinguish people from machines.", - "forum": "https://forum.dfinity.org/t/long-term-r-d-people-parties-proof-of-human-proposal/9636", - "proposal": "https://dashboard.internetcomputer.org/proposal/35668", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Public contributions to IC repository", - "overview": "Allowing for contributions by the public to the IC source code repository.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Gen 3 Replica Node Hardware Specification", - "overview": "Specification of the Gen 3 hardware for the third generation of ICP nodes.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Rewards-driven DRE", - "overview": "Rewards-driven decentralized reliability (DRE) and capacity management on ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Identity", - "description": "An identity solution that is privacy-preserving, self-sovereign, and user-friendly is a fundamental building block for web3 adoption. Internet Identity provides a robust authentication solution based on passkeys, with easy onboarding and support for identity attributes while protecting the users’ privacy.", - "milestones": [ - { - "name": "Signer standards in use by ICP dapps and wallets", - "milestone_id": "Synchrotron", - "description": "With Synchrotron, ICP finally acquires the capability to create a vibrant and diverse ecosystem of signers, dapps and canisters that can interact with each other, without having to specifically integrate with any particular component.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "Identity signer standards", - "overview": "Standards that enable an untrusted relying party (e.g., canister or web app) to request a signer to sign a transaction for ICP after user approval. Alternative to II's delegation model for high-security use cases or when stable identities are required with different canisters.", - "description": "Users will be able to use a single wallet address across many different applications, making wallets built on the Internet Computer and relying on Internet Identity for key management to be portable. This way, users can bring their digital assets with them across applications and services while relying on Internet Identity for key management.", - "forum": "", - "proposal": "", - "docs": "https://github.com/dfinity/wg-identity-authentication", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": true, - "milestone_id": "Synchrotron" - }, - { - "title": "Transaction approval on Ledger's ICP app", - "overview": "Signer standards are coming to the Ledger HW ICP app. Specifically, the Leger ICP app will acquire the ability to interact with dapps that support signer standards and display ICRC-21 compatible messages to the user.", - "description": "Ledger users will be able to confirm and authorize a digital currency transaction initiated through a compatible dapp. The Ledger device will first validate the BLS-signed incoming message and after the user reviews the transaction details, e.g., recipient address, amount, and any associated fees, the Ledger device will digitally signing and send the transaction.", - "forum": "", - "proposal": "", - "docs": "https://github.com/dfinity/wg-identity-authentication", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": true, - "milestone_id": "Synchrotron" - }, - { - "title": "Support II authentication to Web2 services", - "overview": "Secure, privacy-enhancing authentication for Web2 by bringing ICP's II authentication to Web2 services.", - "description": "Secure, privacy-enhancing authentication for Web2 by bringing ICP's II authentication to Web2 services.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": true, - "milestone_id": "Synchrotron" - } - ] - }, - { - "name": "Verifiable Credentials Platform is Live", - "milestone_id": "Separatrix", - "description": "With this milestone, ICP offers the infrastructure and tooling to issue, share, and consume credentials in a privacy-preserving fashion. Users are in control of their credentials, giving them a self-sovereign digital identity. At the same time, new credential issuers, such as a KYC service, go live on ICP and will enable new use cases such as security tokens subject to financial regulations.", - "eta": "June 18, 2024", - "status": "deployed", - "elements": [ - { - "title": "Verifiable credentials", - "overview": "Verifiable credentials are digital representations of data (qualifications, achievements, or attributes) that are cryptographically secured and portable, enabling efficient and trustworthy sharing of personal data while maintaining privacy and control.", - "forum": "", - "proposal": "", - "docs": "https://github.com/dfinity/wg-identity-authentication", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Separatrix" - }, - { - "title": "SSI SDK for Relying Parties", - "overview": "We will be providing tooling, libraries and standards so that relying parties looking to integrate to ICPs VC platform can do so correctly and efficiently.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": true, - "milestone_id": "Separatrix" - }, - { - "title": "Verifiable credentials playground", - "overview": "A dapp that introduces the concepts of verifiable credentials to prospective identity issuers and relying parties with the aim to facilitate adoption.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": true, - "milestone_id": "Separatrix" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "Device registration via QR code", - "overview": "Registering another device for an internet identity and linking it to an existing device via scanning a QR code.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Recovery phrase verification", - "overview": "Requiring the user to confirm a few random elements of a new recovery phrase to assure they have a copy of the phrase.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Protected recovery phrase", - "overview": "Requiring knowledge of the previous recovery phrase in order to remove or replace it. Avoids accidental deletion / replacement of the recovery phrase, or through compromised WebAuthn key.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "II stable memory migration", - "overview": "Moving identities from heap storage to stable memory data structures. Massively increases available storage for identities and reduces risks of bricking the canister during updates.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "II archive canister", - "overview": "Archive canister for recording any changes to identities managed by II. Provides full traceability regarding IIs.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "II canister subnet migration", - "overview": "Migration of the II canister from the NNS governance subnet to another high-replication subnet.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "DoS protection based on Captchas", - "overview": "Captchas are employed to protect the creation of an unlimited amount of IIs by single entities.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Identity creation rate limiting", - "overview": "Enforing rate limits on the number of new IIs that can be created per time interval to avoid filling up storage of the II canister.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "II metrics", - "overview": "Providing II-related metrics for the dashboard. Shows the authentication means users have to authenticate to II.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "II Temporary Keys", - "overview": "Social dapps requested that users can onboard to Internet Identity without creating passkeys to reduce friction during onboarding.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Streamlined II onboarding", - "overview": "Streamlined onboarding experience for obtaining a new II. Crucial for bringing more end users into the ICP ecosystem.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Alternative origins", - "overview": "Alternative origins enable domain migration for services users authenticate with. Multiple alternative origins can represent a service and users will have the same principal for those.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Login security in stages", - "overview": "Fast onboarding to Internet Identity and deferred handling of recovery factors such as seed phrases and additional devices.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed" - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Resident passkeys", - "overview": "Explore the potential of resident passkeys to remove the requirement for users to remember their identity numbers.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "ICP DID (Decentralised Identifier) method", - "overview": "Specify a canonical ICP DID method for DID creation, resolution, update, delegation and deletion.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Verifiable Credentials protocol extension", - "overview": "Extension of the Verifiable Credentials protocol to allow the VC issuer frontend to participate in credentials sharing.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Verifiable Credentials Billing", - "overview": "Billing for provisioning of verifiable credentials. Enables a business model for identity providers.", - "forum": "", - "proposal": "", - "docs": "https://github.com/dfinity/wg-identity-authentication", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "External services authentication to canisters", - "overview": "Allowing users to authenticate to canisters via Web2-based authentication services. True Web2-Web3-X-SSO.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Usernames instead of Anchors", - "overview": "Usernames are easier to remember and better reflect what users are used to from Web2 to identify to services.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false, - "milestone_id": "" - }, - { - "title": "Decentralized KYC", - "overview": "Decentralized onchain KYC system that provides a real-world identity backbone to ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Social recovery", - "overview": "Recovery of an identity in case the device or credentials are lost by recovering the underlying key from the user's social circle who hold key shares.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Configurable II", - "overview": "Dapps can customize their configuration of II to meet the needs of their users and their product.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Root domain name independence", - "overview": "Make internet identities independent of the domain II was executing in when the II has been created. Important to ensure II anchors remain accessible even if II's root domain needs to be switched.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Identity management", - "overview": "Bringing comprehensive identity management features to II: Giving users a 360° view on their identities, such as their open sessions, credential sharing history, or pseudonyms used with parties.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "ZK-II (Zero-knowledge II)", - "overview": "Cryptographically privacy-preserving II, based on vetKeys, that unconditionally prevents linkability of identities.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Digital Assets", - "description": "DeFi protocols, real-word asset tokenization, and other digital asset solutions are strong drivers of web3 adoption. ICP’s Chain Fusion capabilities, unparalleled scalability, and the ability to serve web assets from chain opens up novel digital asset classes. Moreover, it makes ICP an attractive platform to build multi chain custody solutions and wallets.", - "milestones": [ - { - "name": "OISY Wallet v1.0 - The official Launch", - "milestone_id": "Helios", - "description": "With the Helios release, officially named v1.0, OISY will step out of the beta status into its first production version. This includes functional coverage of all key features like buy, receive, send, swap, and convert from and to chain-key tokens, and with several major blockchains integrated, also a true multi-chain nature. Behind the scenes, it also includes setting up proper processes for product improvement, marketing, automated testing, and setting up a user friendly support process.", - "eta": "January 2025", - "status": "in_progress", - "elements": [ - { - "title": "Solana Integration", - "overview": "OISY widens its multi-chain reach beyond Bitcoin and Ethereum, and will integrate with the most important networks. Solana is the first one to be implemented, a crucial step forward in our mission to deliver a true multi-chain wallet for decentralized finance (DeFi) users.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Helios" - }, - { - "title": "In-Wallet Swaps", - "overview": "Introducing in-wallet swaps, this release will enhance flexibility for managing assets, allowing users to seamlessly change their asset allocation directly in OISY using DEX liquidity, mitigating risk or aiming for a higher yield.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Helios" - }, - { - "title": "Promote Chain-Key Tokens", - "overview": "With improved screens, flows, and helper texts for chain fusion conversions, OISY will provide users with the right information at the right places to make informed decisions to easily convert native tokens into their chain fusion twins or vice versa.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Helios" - } - ] - }, - { - "name": "The Orbit Multi-Custody Asset Framework", - "milestone_id": "Poloidal", - "description": "Orbit is a comprehensive digital assets framework, enabling simple to advanced rules over user digital assets. Initially tailored for token management, it provides robust support for 1-out-of-M to complex approval policies for financial transactions. It also supports secure management of infrastructure like canister installations and upgrades. Teams and businesses can confidently handle ICP, ckETH, and compatible tokens using Orbit's advanced security features, vital for those seeking a stable and reliable management over their treasury.", - "eta": "January 2025", - "status": "in_progress", - "elements": [ - { - "title": "Orbit Multi custody wallet for ICP", - "overview": "Users can securely share ownership of the ICP token with a fully onchain wallet. From simple 1-out-of-2 configurations to sophisticated approval policy rules, Orbit provides comprehensive support for secure financial transactions with a flexible user-role-based system.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Poloidal" - }, - { - "title": "Secure canister management", - "overview": "Teams building their product vision require secure shared access to dapp control. Orbit's rule engine enables policies specifying how many users are needed to approve canister management operations like upgrades and installations, preventing a single member from seizing control.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Poloidal" - }, - { - "title": "Orbit supports ICRC-1", - "overview": "Users can manage non-ICP tokens like ckBTC and ckETH with confidence using Orbit's advanced security features, ensuring secure multi-token management.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Poloidal" - } - ] - }, - { - "name": "Oisy, a Multi-chain Wallet Powered by Chain Fusion", - "milestone_id": "Toroidal", - "description": "Oisy is a wallet with a unique combination of properties. It is the first smart contract wallet that is self-custodial, multi-chain and uses passkeys for authentication, while being fully accessible through the browser. Oisy supports ICP-based dapps through ICRC-21, EVM-based dapps through WalletConnect, and easily converts between native Ethereum tokens and their ck twins.", - "eta": "November 2024", - "status": "deployed", - "elements": [ - { - "title": "Oisy ownership model", - "overview": "Shift Oisy's ownership model to a canister-per-user model. Under this change, the digital assets for each Oisy user will reside in a user-controlled canister.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Toroidal" - }, - { - "title": "Oisy Beta Launch", - "overview": "Make the Oisy wallet accessible to external users.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "https://oisy.com/", - "is_community": false, - "in_beta": true, - "milestone_id": "Toroidal" - }, - { - "title": "Signer standards in Oisy", - "overview": "Oisy is upgraded to support the signer standards to foster a vibrant and diverse ecosystem of signers and relying parties. Users can then safely transact with digital assets using their Oisy wallet and signer standards compatible dApps.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Toroidal" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "ICRC-1: Fungible tokens on ICP", - "overview": "Fungible token standard for the Internet Computer, improving on the ICP token standard. Accounts using principal-subaccount pairs instead of hashed addresses.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "ICRC-2: Approve and transfer_from for ICRC-1 tokens", - "overview": "Extending ICRC-1 with ERC-20-stlye approve / transfer_from functionality, but enhanced for the IC.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Oisy", - "overview": "Network custodial wallet for EVM blockchains. Naming derived from Open-Internet-Services-like (OISy).", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "ICRC-3: transaction log for ICRC ledgers standard", - "overview": "Standard for the transaction log format for ICRC ledgers. Prerequisite for unified integration of ICRC tokens with centralized exchanges.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "March 2024", - "status": "deployed", - "is_community": true, - "in_beta": false - }, - { - "title": "On-ramp for ICP and other tokens", - "overview": "On-ramping for ICP and further tokens to simplify the onboarding experience", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "ICRC-7: Basic non-fungible token (NFT) standard", - "overview": "Basic non-fungible token (NFT) standard for the Internet Computer featuring batch APIs.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-37: Approve / transfer_from extension for ICRC-7.", - "overview": "Approve / transfer_from extension for the ICRC-7 basic NFT standard for the Internet Computer. Simplifies many scenarios by avoiding error scenarios of regular transfers.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-3 implementation for ICRC-1 ledgers", - "overview": "Implementation of the ICRC-3 transaction log standard for the ICRC-1 ledger implementation and rollout to SNS, ckBTC, and ckETH ledger deployments.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Rosetta for ICRC ledgers", - "overview": "Implement the Rosetta standard for ICRC-based ledgers. Enables ICRC tokens to be handled by centralized exchanges.", - "status": "in_progress", - "eta": "2024", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Trust Wallet integration", - "overview": "Integrating ICP with the widely-used Trust Wallet project to facilitate adoption of ICP beyond the current audience.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-4: Batch transfers for fungible tokens standard", - "overview": "Extension standard for ICRC-1 defining batch transfers for ICRC-1 tokens. Batching transactions improves throughput and can reduce cost.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-21 canister call consent messages", - "overview": "Standard for a protocol for obtaining human-readable consent messages for canister calls.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-22 payment request formats", - "overview": "Standard for expressing payment requests for tokens on ICP as URLs and thus also QR codes.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false - }, - { - "title": "Implement ICRC-21 in Ledger devices", - "overview": "The implmentation of ICRC-21 in Ledger devices will allow us to support generic transactions.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Chain-key token (ck token) support in the ICP wallet", - "overview": "Support for chain-key tokens (ck tokens) in the ICP wallet.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Ledger Live staking integration", - "overview": "Ledger live acquires the ability to stake ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "ICRC-7/-37 NFT standard in mobile wallets", - "overview": "Bringing the ICRC-7 and ICRC-37 standards for NFTs on ICP to mobile wallets.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Institutional custody integration for custody & staking of ICP and ICRC tokens", - "overview": "An integration of the Internet Computer blockchain with institutional custody providers to support custody and staking for ICP and ICRC tokens.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Ledger metrics", - "overview": "This feature collects and exposes certain metrics of ledgers on the Internet Computer. Both the ICP ledger as well as ICRC-1/-2/-3 ledgers receive metrics support.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Governance & Tokenomics", - "description": "The ICP has two kinds of built-in governance systems. The NNS is the DAO governing the ICP protocol. The SNS framework is a toolbox for creating DAOs that govern individual dapps. Both are open for everyone to participate and facilitate decentralized decision making. Tokenomics incentivise voting participation and ensure that DAO decisions are aligned with the long-term interests of the ICP and the governed dapps.", - "milestones": [ - { - "name": "Active Liquid Democracy", - "milestone_id": "Plasma", - "description": "The NNS and SNS DAOs facilitate active liquid democracies by lowering the entry barrier for participation and providing better inputs for well-informed decisions. This includes direct voting as well as delegating some voting decisions to others. As a result, more users stake tokens and participate in DAOs to form lively communities. The resulting network effects foster additional adoption and growth.", - "eta": "November 2024", - "status": "in_progress", - "elements": [ - { - "title": "Neurons table design", - "overview": "The neurons table view provides several improvements over the grid layout from the initial design, making it easier for users to quickly get an overview of their neurons.", - "description": "There are two interconnected tables in the proposed design. The projects table shows an overview of all projects a user holds neurons in, while the neurons table provides a detailed overview of neurons a user holds within one DAO.", - "forum": "https://forum.dfinity.org/t/nns-dapp-feature-proposal-neurons-table-view/30750", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "Actionable proposals", - "overview": "Show users which DAOs have proposals they can still vote on, so that users don't need to manually check every day", - "description": "It can be easy to miss proposals from DAOs that users don't check frequently. To ensure that DAO participants never miss proposals, show users which DAOs have proposals they can vote on.", - "forum": "https://forum.dfinity.org/t/showing-actionable-proposals-in-the-nns-dapp/28241", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "SNS name/logo change via proposal", - "overview": "Several SNS DAOs have grown and evolved since they became SNS's. These communities should be able to rebrand themselves by chaning their name, logo, and more via proposals.", - "description": "Several SNS DAOs have grown and evolved since they became SNS's. These communities should be able to rebrand themselves by chaning their name, logo, and more via proposals.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "Allow canisters to control neurons", - "overview": "Some SNS DAOs are looking to use parts of their ICP treasury to stake in the NNS and participate in ICP's governance. This feature will allow SNS DAOs to stake in the NNS.", - "description": "Some SNS DAOs are looking to use parts of their ICP treasury to stake in the NNS and participate in ICP's governance. This feature will allow SNS DAOs to stake in the NNS", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "Encourage active governance participation", - "overview": "The NNS is at the heart of ICP constantly evolving the network. It is therefore crucial that developer teams and other members of the ICP community take an active role in verifying and voting on NNS proposals.", - "description": "The NNS is at the heart of ICP constantly evolving the network. It is therefore crucial that developer teams and other members of the ICP community take an active role in verifying and voting on NNS proposals.", - "forum": "https://forum.dfinity.org/t/grants-for-voting-neurons/32721", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "ICRC-1 token imports", - "overview": "One of the most requested community features is to allow users of the NNS dapp to import any token that supports ICRC-1 to store in their account.", - "description": "One of the most requested community features is to allow users of the NNS dapp to import any token that supports ICRC-1 to store in their account.", - "forum": "https://forum.dfinity.org/t/feature-proposal-importing-tokens-to-the-nns-dapp/31230", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "Private & public neurons", - "overview": "Introduce public and private neurons to enable creating a neuron index. Public neurons would expose additional information about themselves including their ballots.", - "description": "Public neurons provide more transparency to followers, while private neurons keep ballots confidential. This introduces more transparency by revealing all neurons’ IDs and their stake", - "forum": "", - "proposal": "", - "docs": "https://internetcomputer.org/docs/current/developer-docs/daos/nns/concepts/neurons/neuron-management", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Plasma" - }, - { - "title": "Improved SNS upgrades", - "overview": "Upgrading SNS canisters is crucial for SNS DAOs to receive the latest features and security updates. These updates are not straightforward and may require multiple proposals. This feature is about simplifying SNS upgrades.", - "description": "Upgrading SNS canisters is crucial for SNS DAOs to receive the latest features and security updates. These updates are not straightforward and may require multiple proposals. This feature is about simplifying SNS upgrades.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false, - "milestone_id": "Plasma" - } - ] - }, - { - "name": "Prepare for Scaling", - "milestone_id": "Neon", - "description": "As both the number of SNS DAOs and the number of DAO participants grow within them, it is crucial to have a robust system that can handle the ever-growing communities. Preparing for growth means not only improving the underlying infrustucture to handle increased load, but also enhancing the user experience at all levels (from developers to end users), so when new people come to the ICP ecosystem, they will have a frictionless onboarding.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "Periodic Followee Confirmation", - "overview": "Require neuron owners to confirm their neurons’ following settings periodically.", - "description": "This roadmap item is based on the community proposal 55651. Caveat: A periodic reconfirmation of neuron following would presumably (at least initially) result in an active voting power of below 50% for non-governance topics. Thus, even if all voters voted, the system would have to wait for the end of the voting period, which is problematic in case of urgent updates (e.g. update of a subnet). This limitation needs to be mitigated.", - "forum": "https://forum.dfinity.org/t/periodic-confirmation-design/34215", - "proposal": "https://dashboard.internetcomputer.org/proposal/55651", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false, - "imported": true, - "milestone_id": "Neon" - }, - { - "title": "Stable memory for governance", - "overview": "Utilizing stable memory in different parts of the NNS and SNS framework will allow ICP's governance to handle a larger number of participants, preparing it for continued growth.", - "description": "Utilizing stable memory in different parts of the NNS and SNS framework will allow ICP's governance to handle a larger number of participants, preparing it for continued growth.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "Improved neuron following experience", - "overview": "Neuron following is a key component of ICP's liquid democracy. Improvements to following include grouped SNS proposal topics, simplified staking user flow, and more.", - "description": "Today, it is quite cumbersome to set up several neurons at the same time, especially in cases where a user intends to follow a more diverse set of neurons based on the proposal topic. This is because neuron followees are saved each time they are set for a topic. A potential solution would be to allow the user to create a followee setup, and save it once they are happy with it, or even do batch neuron actions. Another goal is to improve the NNS dapp so that special cases for proposal following become intuitively visible, for example if some proposals are not covered by the “catch-all” following or are categorized as critical.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "Notifications in the NNS dapp", - "overview": "The NNS is constantly evolving. This feature will let users know of new features, if they are required to take actionm or alert them if they are missing voting rewards.", - "description": "The NNS is constantly evolving. This feature will let users know of new features, if they are required to take actionm or alert them if they are missing voting rewards.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "Disburse maturity for NNS neurons", - "overview": "Unlike SNS neurons, NNS neurons spawn maturity into a newly created neurons. This feature will move to a flow where NNS neurons would also disburse maturity.", - "description": "In its current implementation, NNS neurons spawn maturity into a new neuron, whereas SNS DAOs disburse maturity directly into the user's account, which greatly simplifies the flow and reduces the new neurons created.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "SNS communities portal", - "overview": "Introduce a landing page for each SNS DAO to the NNS dapp to foster the DAO communities.", - "description": "This feature has the goal of improving the experience on the NNS dapp to create a sense of community for the individual SNS DAOs and make all information concerning one DAO more readily accessible. To achieve this, one could introduce a new landing page for each SNS DAO which includes a summary of the DAO, for example the name and a description, but also summarizes the actionable proposals where a logged-in user can still vote on and links to the user’s neurons in that SNS.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "Named SNS neurons", - "overview": "Increase and facilitate active participation in SNS DAOs by introducing an easy way to find experts and follow them.", - "description": "Unlike the NNS, there is currently no notion of named neurons in the SNSs. Therefore it is harder for users to find actively voting neurons that they can follow. The goal of this feature is to change this and make it easier for actively voting neurons to identify themselves and for other users to find and follow them.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "SNS treasury management", - "overview": "As SNS DAOs evolve, there is a need to manage their treasuries in more sophisticated ways. This roadmap item aims to extend what SNS DAOs can do with their treasury, including holding other ICRC-1 tokens and SNS neurons, direct interaction with DEXs, and more.", - "description": "As SNS DAOs evolve, there is a need to manage their treasuries in more sophisticated ways. This roadmap item aims to extend what SNS DAOs can do with their treasury, including holding other ICRC-1 tokens and SNS neurons, direct interaction with DEXs, and more.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - }, - { - "title": "ICRC-2 support", - "overview": "Certain parts of the NNS require complex logic to function properly as they were designed before ICRC-2. This roadmap item aims to reduce this complexity, and potential problems by implementing ICRC-2", - "description": "Certain parts of the NNS require complex logic to function properly as they were designed before ICRC-2. This roadmap item aims to reduce this complexity, and potential problems by implementing ICRC-2", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Neon" - } - ] - }, - { - "name": "Focus on User Experience", - "milestone_id": "Nucleon", - "description": "All ICP governance milestones have aspects that focus on the end user, as all of ICP's technological innvations must in the end support the user. Nucleon doubles down on the user experience and aims to present ICP's governance systems in ways that are easier to understand and interact with regardless of one's technical skills.", - "eta": null, - "status": "future", - "elements": [ - { - "title": "Improve staking user experience", - "overview": "Simplify ICP/SNS staking process in the NNS dapp to eliminate barriers of entry for first-time users. Allow new users to quickly set up several neurons with the following strategy of their choosing.", - "description": "Simplify ICP/SNS staking process in the NNS dapp to eliminate barriers of entry for first-time users. Allow new users to quickly set up several neurons with the following strategy of their choosing.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "imported": false, - "milestone_id": "Nucleon" - }, - { - "title": "Launchpad redesign", - "overview": "Launchpad is one of the central places where newcomers may find SNS DAOs. This roadmap item aims to show more interesting statistics about DAOs on ICP, and allow SNS DAOs to show more information about themselves, and send users to relevant places.", - "description": "Launchpad is one of the central places where newcomers may find SNS DAOs. This roadmap item aims to show more interesting statistics about DAOs on ICP, and allow SNS DAOs to show more information about themselves, and send users to relevant places.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Nucleon" - }, - { - "title": "User participation in SNS DAOs", - "overview": "Writing code, creating proposals and voting on proposals from others are just a few ways of participating in SNS DAOs. This roadmap item aims to extend how users can participate, including no-code options like topping up SNS canisters, creating upgrade proposals, and more.", - "description": "Writing code, creating proposals and voting on proposals from others are just a few ways of participating in SNS DAOs. This roadmap item aims to extend how users can participate, including no-code options like topping up SNS canisters, creating upgrade proposals, and more.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Nucleon" - }, - { - "title": "Fiat values in the NNS dapp", - "overview": "It's hard to get a glance on one's SNS/ICP portfolio by only seeing the number of tokens held. This feature aims to show USD values of tokens, which also makes ordering more meaningful.", - "description": "It's hard to get a glance on one's SNS/ICP portfolio by only seeing the number of tokens held. This feature aims to show USD values of tokens, which also makes ordering more meaningful.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Nucleon" - }, - { - "title": "NNS overview page", - "overview": "A homepage for everything NNS. Once the user signs in, they are presented with an NNS homepage that shows their neurons, tokens, actionable proposals all in one page.", - "description": "A homepage for everything NNS. Once the user signs in, they are presented with an NNS homepage that shows their neurons, tokens, actionable proposals all in one page.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Nucleon" - }, - { - "title": "Incentivise active participation", - "overview": "All ICP governance participants are rewarded equally whether they vote manually or follow other neurons, even if the former takes significantly more effort. This roadmap item aims to expore ways to find a better balance.", - "description": "All ICP governance participants are rewarded equally whether they vote manually or follow other neurons, even if the former takes significantly more effort. This roadmap item aims to expore ways to find a better balance.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Nucleon" - }, - { - "title": "Error messages for failed proposals", - "overview": "If an SNS proposal fails to execute, users of the NNS dapp do not see the reason for why this happened. This feature introduces user-readable error messages across the NNS dapp.", - "description": "If an SNS proposal fails to execute, users of the NNS dapp do not see the reason for why this happened. This feature introduces user-readable error messages across the NNS dapp.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false, - "milestone_id": "Nucleon" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "NNS FE Dapp Re-write", - "overview": "Replacing Flutter with Svelte for the NNS Frontend dapp. Significant speed and UX improvements expected.", - "description": "The NNS FE dapp introduced at genesis was built on Flutter with mediocre usability. This feature replaces Flutter with Svelte — a technology stack better suited for the Internet Computer. The replacement led to significant improvements in dapp speed and user interface.", - "forum": "https://forum.dfinity.org/t/nns-dapp-towards-new-ui-ux-including-test-link/13952", - "proposal": "", - "docs": "", - "eta": "July 2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "NNS spam protection (remove financial incentive)", - "overview": "Protecting the NNS against proposal spam by removing the financial incentive for such spam by allocating voting rewards differently.", - "description": "This roadmap item is based on the community proposal 80970. In the current voting reward set-up, there is a financial incentive for spam because the overall reward pot is always handed out and by submitting governance spam propoals you can skew the voting reward allocation. This change removes this incentive by allocating voting rewards under the assumption that every neuron voted on everything. This change also includes moving the governance weight back to 20 and the tracking of allocated vs not allocated voting rewards.", - "forum": "https://forum.dfinity.org/t/reproposal-spam-prevention-convert-from-system-based-rewards-to-voter-based-rewards/15352/1", - "proposal": "https://dashboard.internetcomputer.org/proposal/80970", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Carbon Footprint and Sustainability Policy", - "overview": "Conducting a carbon footprint / environmental impact assessment of ICP. Footprint of a subnet, source of electricity, total environmental cost of a tx on ICP.", - "description": "This roadmap item is based on the community proposal 55487. Step 1: Conduct a carbon footprint / environmental impact assessment — either through internal resources or hiring an external consultant to answer basic questions about what the carbon footprint of running an IC Subnet is, where that electricity is sourced, and what the total cost per transaction is on the IC blockchain. Based on the learnings define more activities. Update: The Internet Computer Footprint Report is now available [here](https://assets.carboncrowd.io/reports/ICF.pdf). Step 2: “Energy consumption” reporting panel to the IC Network Status dashboard. Update: Power/Energy consumption is now reported in real time on the IC Dashboard homepage, as well as individually for given nodes, see example node [here](https://dashboard.internetcomputer.org/node/25p5a-3yzir-ifqqt-5lggj-g4nxg-v2qe2-vxw57-qkxtd-wjohn-kfbfp-bqe). Carbon Crowd also launched a [Sustainability Dashboard](https://app.carboncrowd.io/).", - "forum": "https://forum.dfinity.org/t/sustainability-nns-proposal/11976", - "proposal": "https://dashboard.internetcomputer.org/proposal/55487", - "docs": "", - "eta": "Q2 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Service Nervous System (SNS)", - "overview": "A DAO factory that allows for proposal-based no-code creation of a DAO, including an initial decentralization swap. Available as part of the ICP governance framework.", - "description": "This SNS rollout will include several features: **1.** SNSs that are provided as a protocol function (deployed on an SNS subnet and facilitating maintainable upgrades), **2.** A first version of voting rewards for SNSs that can be further customised in the future, **3.** Decentralization swaps that decentralize a dapp, where participants provide ICP tokens in exchange for SNS tokens. **4.** A NNS frontend dapp extension that allows end users to participate in the decentralization swap. **5.** Tooling to help users initialize an SNS.", - "forum": "", - "proposal": "https://dashboard.internetcomputer.org/proposal/65132", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Community Fund", - "overview": "A first version of a community fund that provides means for the NNS community to have a \"treasury\" to invest in projects on ICP.", - "description": "This feature implements a first version of a community fund that provides means for the NNS community to have a \"treasury\" to invest in projects on the Internet Computer. In this first version neurons which have enabled the “community fund” feature may expose their maturity to the decisions of the NNS to invest in SNS decentalization swaps. Note: This feature has been renamed to “Neuron's Fund” later.", - "forum": "https://forum.dfinity.org/t/community-fund-revised-design-proposal/14691", - "proposal": "https://dashboard.internetcomputer.org/proposal/74820", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Restriction for SNS swap participation", - "overview": "Constraining participation in decentralization swaps of SNSs based on geographic location. Includes custom disclaimers to be confirmed by users before participating.", - "description": "When an SNS is launched, it goes through a decentralization swap. During the swap, participants provide ICP and in return receive a share of the SNS DAO’s governance power in the form of SNS neurons. In the current design, swaps are open for anyone to participate. Different projects in the community have requested a feature that allows SNSs to restrict participation in the swap by geographic location. In addition, this feature enables swap participants to be presented with a custom confirmation text that they need to confirm before being allowed to participate.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "One-proposal SNS initialization", - "overview": "Simplifying decentralization of a dapp from two NNS proposals plus manual steps to a single proposal.", - "description": "Currently, the process of decentralizing a dapp through the SNS platform requires two NNS proposals plus a few manual steps. Once this feature is implemented, the creation of a SNS will be done by a single proposal which the NNS community votes on.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Neurons' Fund Enhancements: Matched Funding", - "overview": "Enhancing the Neuron's Fund, e.g., to scale with swap participation by the community or having a 10% cap on participation.", - "description": "Based on collected experience and community feedback from recent SNS launches and forum discussions, we propose four enhancements to the Community Fund framework: Introduction of a ‘Matched Funding’ scheme: Instead of a fixed ICP amount, the fund’s contribution to SNS swaps should scale in line with direct participation, i.e., match the funding of the Neuron's Fund with the organic funding received during the SNS launch, allowing for a more accurate reflection of market signals. Implementation of a 10% Participation Cap: To streamline adjustments when neurons opt out during SNS proposal voting, we suggest a cap in relationship to the totals funds available. This ensures the fund’s contribution to a single SNS never exceeds 10% of the total available funds at the proposal execution time. Consequently, this automatically adjusts the fund’s participation if neurons opt out. Renaming of the ‘Community Fund’ to ‘Neurons’ Fund’: This change aims to clarify misconceptions about the fund. It emphasizes that the fund comprises neurons owned by private individuals who are exposing their maturity to promising SNS DAOs. It is suggested to release this cosmetic change next week. Reduction of the Maximum Swap Duration: A potential fund contribution is tied up and cannot be utilized for other SNS launches for the duration of the swap. To prevent a potentially unsuccessful swap from blocking a fund contribution for an extended period, we propose shortening the maximum swap duration from the current 90 days to 14 days.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "December 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Ability to mint SNS tokens and revised thresholds for voting", - "overview": "", - "description": "Some SNS projects have requested SNS token minting functionality to fine tune the DAO's tokenomics. This feature implements token minting for SNS projects. In addition, this feature defines some of the SNS proposals as critical and increases their voting thresholds. See the forum link for the details.", - "forum": "https://forum.dfinity.org/t/new-sns-ability-to-mint-sns-tokens-revised-thresholds-for-voting/23382", - "proposal": "", - "docs": "", - "eta": "Q1 24", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Node Provider Remuneration V2", - "overview": "The remuneration scheme v2 improves on the original v1 scheme by reducing remuneration for regions having already many nodes and reducing also for additional nodes of a node provider.", - "description": "For the further growth of the IC network, the NNS agreed on a new replica hardware specification. The new specification is generic, i.e. not vendor specific. It is ready for upcoming ICP improvements. For example, it supports VM memory encryption and attestation which will further increase the security of dapps running on ICP. The new specification results in different captical expenses for the independent node providers running replica nodes. Consequently, a new NP reward structure (remuneration) is required. Based on feedback and discussion within the community, this remuneration is based on: — Higher rewards for the first nodes of a new NP in order to attract more NPs in an effort to improve ownership decentralization. — More refined rewards for nodes in new geographies, like South America, Africa, Asia and Australia, to stimulate further geographical decentralization. IC wiki: https://wiki.internetcomputer.org/wiki/Node_Provider_Remuneration", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Enable ICRC-2 for SNS ledgers", - "overview": "Update the SNS framework to enable the rollout of ICRC-2 on the SNSs’ ledger canisters.", - "description": "", - "status": "deployed", - "eta": "Q1 2024", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Safeguards for critical SNS proposals, including the SNS treasury", - "overview": "Additional safeguards for transferring funds from an SNS treasury.", - "description": "Some SNS proposals are more critical than others in that they have a big impact. This feature introduces additional measures to make it harder for them to be adopted, such as requiring a higher approval threshold. In addition, this feature introduces limits for treasury and minting proposals.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q1 2024", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Update of SNS ledger parameters", - "overview": "Enables parameters of SNS ledgers, such as the SNS token name, to be updated through SNS upgrade proposals.", - "description": "", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Increase reward for SNS launch proposals to 20", - "overview": "Increase the reward weight of NNS proposals of topic \"SNS & Neuron’s Fund\" to 20 to incentivize more active voting and have the same rules as for proposals of topic \"Governance\"", - "description": "", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "NNS FE Dapp Re-write", - "overview": "Replacing Flutter with Svelte for the NNS Frontend dapp. Significant speed and UX improvements expected.", - "forum": "https://forum.dfinity.org/t/nns-dapp-towards-new-ui-ux-including-test-link/13952", - "proposal": "", - "docs": "", - "eta": "July 2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "NNS spam protection (remove financial incentive)", - "overview": "Protecting the NNS against proposal spam by removing the financial incentive for such spam by allocating voting rewards differently.", - "forum": "https://forum.dfinity.org/t/reproposal-spam-prevention-convert-from-system-based-rewards-to-voter-based-rewards/15352/1", - "proposal": "https://dashboard.internetcomputer.org/proposal/80970", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Carbon Footprint and Sustainability Policy", - "overview": "Conducting a carbon footprint / environmental impact assessment of ICP. Footprint of a subnet, source of electricity, total environmental cost of a tx on ICP.", - "forum": "https://forum.dfinity.org/t/sustainability-nns-proposal/11976", - "proposal": "https://dashboard.internetcomputer.org/proposal/55487", - "docs": "", - "eta": "Q2 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Service Nervous System (SNS)", - "overview": "A DAO factory that allows for proposal-based no-code creation of a DAO, including an initial decentralization swap. Available as part of the ICP governance framework.", - "forum": "", - "proposal": "https://dashboard.internetcomputer.org/proposal/65132", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Community Fund", - "overview": "A first version of a community fund that provides means for the NNS community to have a \"treasury\" to invest in projects on ICP.", - "forum": "https://forum.dfinity.org/t/community-fund-revised-design-proposal/14691", - "proposal": "https://dashboard.internetcomputer.org/proposal/74820", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Restriction for SNS swap participation", - "overview": "Constraining participation in decentralization swaps of SNSs based on geographic location. Includes custom disclaimers to be confirmed by users before participating.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "One-proposal SNS initialization", - "overview": "Simplifying decentralization of a dapp from two NNS proposals plus manual steps to a single proposal.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Neurons' Fund Enhancements: Matched Funding", - "overview": "Enhancing the Neuron's Fund, e.g., to scale with swap participation by the community or having a 10% cap on participation.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "December 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Ability to mint SNS tokens and revised thresholds for voting", - "overview": "", - "forum": "https://forum.dfinity.org/t/new-sns-ability-to-mint-sns-tokens-revised-thresholds-for-voting/23382", - "proposal": "", - "docs": "", - "eta": "Q1 24", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Node Provider Remuneration V2", - "overview": "The remuneration scheme v2 improves on the original v1 scheme by reducing remuneration for regions having already many nodes and reducing also for additional nodes of a node provider.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Enable ICRC-2 for SNS ledgers", - "overview": "Update the SNS framework to enable the rollout of ICRC-2 on the SNSs’ ledger canisters.", - "status": "deployed", - "eta": "Q1 2024", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Safeguards for critical SNS proposals, including the SNS treasury", - "overview": "Additional safeguards for transferring funds from an SNS treasury.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q1 2024", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Update of SNS ledger parameters", - "overview": "Enables parameters of SNS ledgers, such as the SNS token name, to be updated through SNS upgrade proposals.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Increase reward for SNS launch proposals to 20", - "overview": "Increase the reward weight of NNS proposals of topic \"SNS & Neuron’s Fund\" to 20 to incentivize more active voting and have the same rules as for proposals of topic \"Governance\"", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "Reduce min dissolve delay to 3 months", - "overview": "To lower the barrier of entry for new stakers and make liquid staking protocols more viable, the community adopted a motion proposal to reduce min dissovle delay to 3 months.", - "description": "To lower the barrier of entry for new stakers and make liquid staking protocols more viable, the community adopted a motion proposal to reduce min dissovle delay to 3 months.", - "forum": "https://forum.dfinity.org/t/reducing-the-minimum-dissolve-delay-to-3-months/32714", - "proposal": "https://dashboard.internetcomputer.org/proposal/131010", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Ledger support for SNS tokens", - "overview": "Allow users to hold and control SNS tokens and neurons using their Ledger hardware wallet.", - "description": "Allow users to hold and control SNS tokens and neurons using their Ledger hardware wallet.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Earn badges for activities", - "overview": "Depending on different activities, reward users with badges in the NNS dapp such as #8YearGang.", - "description": "Depending on different activities, reward users with badges in the NNS dapp such as #8YearGang.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "NNS landing page", - "overview": "The NNS dapp provides a simple user interface to interact with ICP's different governance systems. The NNS landing page would give newcomers an introduction of what the NNS is, host documentation, and a release log. Everything that is outside of the NNS dapp itself.", - "description": "The NNS dapp provides a simple user interface to interact with ICP's different governance systems. The NNS landing page would give newcomers an introduction of what the NNS is, host documentation, and a release log. Everything that is outside of the NNS dapp itself.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Governance portfolio reporting capabilities", - "overview": "Reporting functionality that allows users to obtain summary information about their neurons.", - "description": "Currently, it is difficult for users to obtain detailed historic information on received voting rewards and the neuron spawning history. In practice, users need to manually track their actions periodically or use third-party canisters to obtain this information. This feature enables ICP to provide reports to users regarding voting rewards and neurons", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Allow ecosystem wallets to connect to the NNS dapp", - "overview": "Allow ecosystem wallets to control tokens and governance neurons in the NNS dapp to foster an interoperable ICP ecosystem.", - "description": "The ICRC signer standards are being developed in collaboration with the ICP community to enable secure, and standardized communication between canisters. Adopting ICRC signer standards will foster an ecosystem of ICP dapps where the end-user has full control over their tokens, while managing them across dapps is much simplified. The NNS dapp will open up and provide an example implementation using these standards to allow ecosystem wallets to control assets in the NNS dapp. ICP wallets and dapps are encouraged to follow suit and together create an interoperable ICP ecosystem.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Simplification of NNS neurons", - "overview": "NNS neurons have different properties, such as dissolve delay and age. Some of these properties must be in a certain relation at all times. This feature is to abstract away more of these details from the users so that neurons are easier to understand.", - "description": "NNS neurons have different properties, such as dissolve delay and age. Some of these properties must be in a certain relation at all times. This feature is to abstract away more of these details from the users so that neurons are easier to understand.", - "status": "future", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Manual overwriting of following-triggered votes", - "overview": "This feature enables manual (overwrite) voting throughout the entire voting period of governance proposals even when a neuron is following another neuron.", - "description": "This feature enables manual (overwrite) voting throughout the entire voting period of governance proposals even when a neuron is following another neuron. This roadmap item is based on the community proposal 38985.", - "forum": "https://forum.dfinity.org/t/proposal-to-enable-manual-voting-throughout-the-entire-voting-period-of-governance-proposals/9815", - "proposal": "https://dashboard.internetcomputer.org/proposal/38985", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Archiving of NNS proposals", - "overview": "Storing NNS proposals long term instead of deleting them after a defined time period as done currently to increase transparency and accountability of governance.", - "description": "Currently, NNS proposals are only kept for a limited time and are then deleted. This feature intends to archive governance proposals to enhance transparency and accountability of the governance system.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Maintain neurons’ voting history", - "overview": "Keeping the voting history of all neurons for better transparency and accountability of ICP governance.", - "description": "Keeping the voting history of all neurons for better transparency and accountability of ICP governance.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Private voting", - "overview": "Private voting of neuron holders. This helps prevent leakage of information on how neurons voted to ensure that neuron holders can vote freely without fearing consequences.", - "description": "Private voting of neuron holders. This helps prevent leakage of information on how neurons voted to ensure that neuron holders can vote freely without fearing consequences.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "SNS cycles management", - "overview": "Support better automation of top-up of cycles for SNS and SNS-managed canisters for better usability.", - "description": "Support better automation of top-up of cycles for SNS and SNS-managed canisters for better usability.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false - }, - { - "title": "SNS swap participation with additional tokens", - "overview": "Allow users to participate in SNS decentralization swaps with different tokens than ICP, e.g., ckBTC or ckETH. Also a combination of tokens may be applicable.", - "description": "Allow users to participate in SNS decentralization swaps with different tokens than ICP, e.g., ckBTC or ckETH. Also a combination of tokens may be applicable.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Neurons' Fund phase II", - "overview": "Addresses the end-of-investment phase of the Neuron's Fund.", - "description": "Addresses the end-of-investment phase of the Neuron's Fund.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - } - ] - } - ] - }, - { - "name": "Developer Experience", - "description": "Developer experience is an essential ingredient for developer adoption. This includes low-friction canister development and operations, expressive smart contract languages, testing frameworks, and a rich set of libraries. Beyond canister development, developer experience also encompasses an inclusive and quality-preserving protocol development.", - "milestones": [ - { - "name": "Canister DevOps", - "milestone_id": "Beryllium", - "description": "This milestone provides substantial simplifications and improvements for the developer lifecycle of canisters, particularly regarding their development and operations. Snapshotting capabilities, a powerful logging infrastructure and improved error handling as well as push of relevant events brings canisters closer to Web2 services in terms of DevOps.", - "eta": "November 2024", - "status": "deployed", - "elements": [ - { - "title": "Canister snapshots", - "overview": "Allow for canister snapshots to be created on chain. Snapshots can be exported to and imported from off-chain storage.", - "status": "deployed", - "forum": "https://forum.dfinity.org/t/canister-backup-and-restore-community-consideration/22597", - "proposal": "", - "docs": "", - "eta": "Q2 2024", - "is_community": true, - "in_beta": false, - "milestone_id": "Beryllium" - }, - { - "title": "Canister logging", - "overview": "New APIs for writing and reading canister runtime logs. The logs survive upgrades and traps and ensure developers are able to record key error data.", - "forum": "https://forum.dfinity.org/t/canister-logging/21300", - "proposal": "", - "docs": "", - "eta": "2024-08-28", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Beryllium", - "imported": true - }, - { - "title": "Standardized canister response codes", - "overview": "Standardize canister response codes, particularly error codes, to enable better composability of services from canister smart contracts.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Beryllium" - }, - { - "title": "Actionable error messages and backtraces", - "overview": "Improve error messages by providing more actionable information to developers such as backtraces, error codes, and links to the documentation explaining how to fix the error.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Beryllium" - } - ] - }, - { - "name": "Code Authoring and Development Workflows", - "milestone_id": "Coulomb", - "description": "This milestone introduces new products that make building on ICP fast, fun, and educational.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "ICP Ninja BETA", - "overview": "ICP Ninja is your go-to online platform for developing and deploying smart contracts on the Internet Computer (ICP).", - "status": "deployed", - "forum": "https://forum.dfinity.org/t/announcing-icp-ninja/36396", - "proposal": "", - "docs": "https://internetcomputer.org/docs/current/developer-docs/developer-tools/ide/icp-ninja", - "is_community": false, - "in_beta": true, - "milestone_id": "Coulomb" - }, - { - "title": "ICP Ninja User Experience Enhancements", - "overview": "ICP Ninja will receive a number of new user experience enhancements, such as dark mode and the ability to modify the file tree.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": true, - "milestone_id": "Coulomb" - }, - { - "title": "ICP Ninja Developer Productivity Enhancements", - "overview": "ICP Ninja will get additional features that improve developer productivity, such as the ability to view logs and see live compilation feedback.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": true, - "milestone_id": "Coulomb" - }, - { - "title": "Revamped Onboarding", - "overview": "The developer documentation will receive a number of updates focused on improving the onboarding journey for first time ICP developers.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "is_community": false, - "in_beta": false, - "milestone_id": "Coulomb" - } - ] - }, - { - "name": "Canister Resource Management", - "milestone_id": "Thorium", - "description": "This milestone improves the cycles management experience on ICP through the introduction of the Cycles Ledger. End users can hold cycles seamlessly and can more easily manage their canisters cycles balance. Furthermore, with the exposure of a key set of metrics, getting insights into your canisters’ operations has been greatly improved, especially with the ability to see a breakdown of your cycles usage and which endpoints are the most expensive ones to call.", - "eta": null, - "status": "in_progress", - "elements": [ - { - "title": "Canister lifecycle hooks", - "overview": "Push model for canisters receiving notifications from the ICP, e.g., when they are low on cycles. More resource efficient than periodic pulling.", - "forum": "https://forum.dfinity.org/t/canister-lifecycle-hooks/17089", - "proposal": "https://dashboard.internetcomputer.org/proposal/106146", - "docs": "", - "eta": "", - "status": "in_progress", - "is_community": true, - "in_beta": false, - "milestone_id": "Thorium", - "imported": true - }, - { - "title": "Cycles and instruction insights", - "overview": "Give canister controllers insights on cycles consumption of their canisters to help them optimize cycles consumption.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "upcoming", - "is_community": true, - "in_beta": false, - "milestone_id": "Thorium", - "imported": true - }, - { - "title": "Cycles Ledger", - "overview": "The Cycles Ledger replaces the cycles wallet as the recommended solution for managing cycles across projects.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 2024", - "status": "deployed", - "is_community": true, - "in_beta": false, - "milestone_id": "Thorium", - "imported": true - }, - { - "title": "Live canister metrics", - "overview": "Expose key canister metrics in realtime that can be queried, such as a breakdown of its memory usage (heap vs. stable) or received calls per second.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false, - "milestone_id": "Thorium" - } - ] - }, - { - "name": "orphans_past", - "description": "Orphans from the past", - "milestone_id": "Past features", - "eta": "none", - "elements": [ - { - "title": "Bitcoin Integration with DFX", - "overview": "Configure and run a Bitcoin adapter on the dev machine supporting the development with the native Bitcoin integration.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "August 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "dfx Deps", - "overview": "Enable canister developers to pull third party canisters into their local environment in order to build integrations that would otherwise require building code from source.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "DFX Quickstart", - "overview": "New command that guides the developer through the steps necessary to ensure a successful deployment to mainnet.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Asset Caching", - "overview": "Enable caching of assets served by the asset canister by giving it time-to-live information.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q4 22", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "SNS Quill", - "overview": "Provides all the commands developers need to build and interact with an SNS. Based on the original Quill project.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "August 2022", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "System-wide DFX", - "overview": "Allows for running dfx as a system-wide process instead of being project specific. Makes it easier to start and stop canisters, run tests, and develop integrations.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "November 2022", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "DFX keyring integration", - "overview": "This feature integrates DFX with the OS keyring for seamless decryption of password-protected identities.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q4 22", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "SNS Tooling", - "overview": "Enhance dfx for developing testing dapps for SNS-based decentralization. Code and test a swap locally, simulate it on mainnet, and manage a dapp after launch.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "PocketIC", - "overview": "The PocketIC is a canister testing system that allows to run a \"pocket version\" of ICP, including multiple subnets. This is the preferred way of testing dapps.", - "forum": "https://forum.dfinity.org/t/pocketic-testing-canisters-in-python/22490", - "proposal": "", - "docs": "https://internetcomputer.org/docs/current/developer-docs/setup/pocket-ic", - "eta": "Dec 2023", - "status": "deployed", - "is_community": false, - "in_beta": false - }, - { - "title": "Improved Unit Testing for Motoko", - "overview": "Brings a number of enhancements to unit testing in Motoko: Support for watch mode, VSCode extension GUI, and more.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "React Native Starter Template", - "overview": "A starter project template for React Native comprising Agent-JS for an integration with ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q4 22", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Motoko Base Library Enhancements", - "overview": "Community-requested data structures and functionality for the Motoko Base Library.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q4 22", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Motoko Incremental Garbage Collector", - "overview": "Blazing fast new garbage collector (GC) for Motoko, based on incremental GC.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 23", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Motoko Formatter & VSCode Extension", - "overview": "Better dev UX for Motoko in VSCode. Motoko formatter, prettier integration, and other VSCode extensions.", - "forum": "https://forum.dfinity.org/t/we-heard-you-motoko-vs-code-extension-improvements/15933", - "proposal": "", - "docs": "", - "eta": "Q4 22", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Motoko let-else Binding", - "overview": "A let-else binding allows a failure block to be run in case of a binding failure. Avoid deeply nested switch statements and have more readable code.", - "forum": "https://forum.dfinity.org/t/solution-in-moc-0-8-3-let-else-match-and-take-in-motoko-do-for-variants-was-when/13427/6", - "proposal": "", - "docs": "", - "eta": "Q1 23", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Motoko Dev Server", - "overview": "Live-reload environment for Motoko projects that allows for rapid prototyping and a friction-free development experience.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q2 2023", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "New project builder and templates", - "overview": "More powerful workflows for creating new projects using dfx new.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q1 2024", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Motoko Stable Regions", - "overview": "Run-time-based stable memory data structures allocating memory in multiple different regions. Improves Motoko's stable memory support towards towards composable use cases.", - "forum": "", - "proposal": "https://github.com/dfinity/motoko/blob/113f9c72edf4ff36bcc6dacc892fdb2f454ac81d/design/StableRegions-20230209.md", - "docs": "", - "eta": "Q3 2023", - "status": "deployed", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "Chunked upload of large Wasm files in dfx", - "overview": "DFX support for uploading large Wasm files in chunks to meet message size limits. Complements replica support for large Wasm files.", - "forum": "https://forum.dfinity.org/t/allow-installation-of-large-wasm-modules/17372", - "proposal": "", - "docs": "", - "eta": "Q1 2024", - "status": "deployed", - "is_community": true, - "in_beta": false - }, - { - "title": "Higher-level stable memory libraries", - "overview": "Create more friendly, higher-level libraries that abstract away the complexity of working with the Stable Memory API.", - "status": "deployed", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "dfx Version Manager", - "overview": "The dfx version manager installs and manages versions of dfx.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "2024-02-08", - "status": "deployed", - "is_community": true, - "in_beta": false, - "imported": true - } - ] - }, - { - "name": "orphans_future", - "description": "Orphans from the future", - "milestone_id": "Future features", - "eta": "none", - "elements": [ - { - "title": "dfx extensions", - "overview": "Plugin architecture for integrating 3rd-party functionality directly into DFX.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 2024", - "status": "in_progress", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "dfx ergonomics", - "overview": "Better developer experience when using the ICP SDK.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Tutorials", - "overview": "More and improved tutorials for faster successful onboarding of devs into the ICP ecosystem.", - "status": "in_progress", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Streaming support for the Asset Canister", - "overview": "Streaming specific byte ranges of large files hosted by the Asset Canister.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q3 2024", - "status": "upcoming", - "is_community": true, - "in_beta": false, - "imported": true - }, - { - "title": "Trait-Bound canister development using Candid", - "overview": "A new way to synchronize Candid interface definitions with Rust source code that leverages the capabilities of macros and Rust's strong type system.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "Q4 2024", - "status": "upcoming", - "is_community": false, - "in_beta": false, - "imported": true - }, - { - "title": "IC agents for additional languages", - "overview": "Releasing IC agents for additional languages to broaden the support for languages that can interoperate with ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Mobile app IC agents", - "overview": "IC agents for the Android and iOS mobile app platforms. Simplifies building native Android and iOS apps talking to canisters.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Specify placement subnet for new canisters", - "overview": "When creating a new canister, the subnet on which it should be placed can be specified.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Verifiable canisters", - "overview": "Tools for devs, such as TLA+, to help them verify the correctness of their canisters.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "dfx for macOS ARM arch", - "overview": "The dfx toolchain is becoming native to the Mac's ARM-based architecture. This is necessary because the Rosetta 2 emulation layer is expected to be removed in the future.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "PocketIC shipped and bundled with dfx", - "overview": "PocketIC, the new recommended standard tool for testing of dapps, is shipped and packaged with the dfx SDK.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Candid presentation-layer configuration", - "overview": "Candid configuration abstraction enabling type mapping from source language to destination language.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": false, - "in_beta": false - }, - { - "title": "Protocol Interface Specification evolution", - "overview": "Improving version interoperability between different versions of the Internet Computer Protocol Specification.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Ingress deduplication", - "overview": "Enhancing ingress deduplication to use a larger 24-hour deduplication window for ingress messages compared to the current 5-minute window. Provides stronger guarantees, e.g., for financial applications.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Easy asset creation", - "overview": "Easy and streamlined creation of digital assets (both fungible and non-fungible) through out-of-the-box-deployable ledgers. For example, the creation of a new token through a proposal, without needing to manually deploy (and manage) the corresponding canisters.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "REST- & JSON-centric interfaces", - "overview": "REST and JSON-centric philosophy of interacting with ICP. Makes it easier for Web2 devs to onboard the ICP ecosystem.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Regulatory compliance support", - "overview": "Making it easier to write regulatory compliant dapps.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Automatic canister top-up using Web2 payment rails", - "overview": "Allowing canisters to be topped up automatically via Web2 payment systems, e.g., credit card transfers.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "future", - "is_community": true, - "in_beta": false - }, - { - "title": "Bring Actix to the IC", - "overview": "Bring Actix, one of the most powerful Web frameworks in Rust, to the IC. We should not be rebuilding this every time we do a dapp.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "A file system on ICP", - "overview": "A file system on ICP, to avoid building or emulating one whenever needed by a dapp.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Easily upload files to ICP", - "overview": "Upload files to the IC with a few lines of code.", - "status": "", - "forum": "", - "proposal": "", - "docs": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Motoko-written interactive Web UIs running in Wasm", - "overview": "Implementing interactive Web UIs with Motoko, executing in the browser in Wasm. Analogous to .NET's Blazor.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": true, - "in_beta": false - }, - { - "title": "Motoko editor support V2", - "overview": "Improved Motoko support in VSCode, e.g., outline view, unused declaration warnings, organizing imports, Prettier 3 support, and AI-driven coding assistance.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Motoko package manager shipped with dfx", - "overview": "Integrating the Mops package manager with dfx to improve DX.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "More Motoko libraries", - "overview": "Implementing, or funding the implementation of, additional Motoko libraries of frequently requested functionality.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Language-interoperability support in Motoko", - "overview": "Allowing the integration of libraries from other languages in Motoko (with some limitations).", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - }, - { - "title": "Support of popular languages", - "overview": "Supporting additional popular languages such as Dart, Java, C#, Go, or Swift, to implement canisters. Helping a broader range of devs to onboard ICP.", - "forum": "", - "proposal": "", - "docs": "", - "eta": "", - "status": "", - "is_community": false, - "in_beta": false - } - ] - } - ] - } -] \ No newline at end of file diff --git a/showcase.json b/showcase.json index 9c477d3b25..766e883be7 100644 --- a/showcase.json +++ b/showcase.json @@ -1,5 +1,5 @@ [ - { + { "id": "decideai", "name": "DecideAI", "display": "Large", @@ -48,7 +48,8 @@ "SocialFi", "Bitcoin", "DAO", - "Chain Fusion" + "Chain Fusion", + "Creator Economy" ], "twitter": "https://x.com/OpenChat", "description": "OpenChat is a fully decentralized real-time messaging service that is indistinguishable from Web2 chat apps while living 100% on the blockchain. This allows users to send crypto to each other - including Bitcoin - and own a part of OpenChat through CHAT tokens.", @@ -111,7 +112,8 @@ "DeFi", "Bitcoin", "Ethereum", - "Chain Fusion" + "Chain Fusion", + "Creator Economy" ], "twitter": "https://twitter.com/funded_app", "description": "Web3 crowdfunding! Thanks to ICP's low transaction fees and advanced smart contract technology, you can participate in crowdfunding with ICP, BTC and ETH without worrying about losing money on gas fees.", @@ -143,10 +145,11 @@ "website": "https://yuku.app/", "tags": [ "NFT", - "Games", + "Gaming", "DAO", "Metaverse", - "AI" + "AI", + "Creator Economy" ], "display": "Normal", "stats": "35,222+ users", @@ -178,8 +181,9 @@ "website": "https://dragginz.io/", "tags": [ "SocialFi", - "Games", - "DAO" + "Gaming", + "DAO", + "Creator Economy" ], "usesInternetIdentity": true, "twitter": "https://twitter.com/dragginzgame", @@ -209,8 +213,9 @@ "website": "https://yral.com", "tags": [ "SocialFi", - "Games", - "DAO" + "Gaming", + "DAO", + "Creator Economy" ], "description": "Yral is a decentralized short-form video-based social media platform, which integrates gamification on content. In addition to sharing their own videos, users can also speculate on videos of other users by staking tokens and voting whether a video will become 'Hot' or 'Not' to earn rewards.", "usesInternetIdentity": false, @@ -233,7 +238,8 @@ "Bitcoin", "Enterprise", "NFT", - "Chain Fusion" + "Chain Fusion", + "Creator Economy" ], "twitter": "https://x.com/bioniqMarket", "description": "Bioniq is the fastest Ordinals marketplace. Buy, sell, and trade with no gas fees, near-instant finality, and decentralized secure token bridging..", @@ -316,7 +322,8 @@ "Tools / Infrastructure", "Bitcoin", "Ethereum", - "Chain Fusion" + "Chain Fusion", + "Creator Economy" ], "twitter": "https://x.com/plug_wallet", "description": "Your Plug into the #InternetComputer Identity + Wallet in one Principal ID Hold, send, swap, deposit cycles, ICP, NFTs and log into IC apps in a click! Available on mobile IOS & Android, and as a browser extension on Chrome & Firefox.", @@ -357,7 +364,8 @@ "website": "https://catalyze.one/", "tags": [ "SocialFi", - "DAO" + "DAO", + "Creator Economy" ], "description": "Catalyze is building the new Web3 social learning hub: Communities, Events & Seamless Token Transfer, all in one place.", "twitter": "https://x.com/catalyze_one", @@ -421,7 +429,8 @@ "tags": [ "Tools / Infrastructure", "DAO", - "AI" + "AI", + "Analytics" ], "twitter": "https://twitter.com/kinic_app?s=20&t=PVKALcCRCdZIgr0U4sDWeg", "description": "Kinic provides artificial intelligence tooling for the new web. Deploy vector databases, machine learning instances, and much more leveraging web3.", @@ -440,7 +449,8 @@ "tags": [ "SocialFi", "Tools / Infrastructure", - "DAO" + "DAO", + "Creator Economy" ], "twitter": "https://twitter.com/TaggrNetwork", "description": "Fully onchain and fully autonomous SocialFi network. A simple way to publish content on a public compute infrastructure. No Ponzinomics - TAGGR has a sustainable tokenomics model that rewards quality posts and removes the incentive to spam.", @@ -512,7 +522,8 @@ "name": "Trax", "tags": [ "SocialFi", - "DAO" + "DAO", + "Creator Economy" ], "twitter": "https://twitter.com/onlyontrax", "description": "Trax is a content aggregator and social marketplace, catering specifically to music artists and their die-hard fans, often referred to as “superfans”. By facilitating exclusive content drops and events, TRAX aims to help artists cultivate closer relationships with their superfans and generate higher revenue. ", @@ -544,7 +555,8 @@ "oneLiner": "The fully on-chain content creator/influencer platform: own your profile, own your content, and earn fair incentives.", "website": "https://rubaru.app/", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "stats": "190+ canisters N/W, On-chain content : 15k+ images & 5k+ videos", "description": "The fully on-chain content creator/influencer platform: own your profile, own your content, and earn fair incentives.", @@ -588,7 +600,8 @@ "tags": [ "NFT", "Tools / Infrastructure", - "DAO" + "DAO", + "Creator Economy" ], "twitter": "https://twitter.com/ORIGYNTech", "description": "The Origyn Foundation is blending luxury goods with NFTs by providing digital verifications for physical objects. Only possible on the Internet Computer. ", @@ -604,11 +617,12 @@ "oneLiner": "Powering the next generation of fully onchain games, and providing a collaborative hub for all things web3 gaming.", "website": "https://boomdao.xyz/", "tags": [ - "Games", + "Gaming", "DAO", "Tools / Infrastructure", "NFT", - "Metaverse" + "Metaverse", + "Creator Economy" ], "description": "BOOM DAO is an all-in-one web3 game platform and protocol running 100% onchain on the Internet Computer. We are on a mission to build the gaming vertical of the Internet Computer blockchain, power the next generation of fully onchain games on ICP, and provide a collaborative hub for all things web3 gaming.", "stats": "23,000+ DAO Members", @@ -630,9 +644,10 @@ "name": "Plethora", "website": "https://plethora.game/", "tags": [ - "Games", + "Gaming", "Metaverse", - "NFT" + "NFT", + "Creator Economy" ], "twitter": "https://twitter.com/PlethoraGame", "description": "Plethora is a Web3 platformer with the goal of rewarding users both with fun gameplay and NFTs. Plethora empowers NFT projects to launch their collections with immersive experiences customized for you. Play now to compete, have fun, and earn rewards.", @@ -662,8 +677,9 @@ "oneLiner": "Build and own an NFT World on the blockchain", "website": "https://kqwp7-2yaaa-aaaah-abyna-cai.raw.ic0.app/", "tags": [ - "Games", - "Metaverse" + "Gaming", + "Metaverse", + "Creator Economy" ], "twitter": "https://twitter.com/TheCubetopia", "description": "Cubetopia is a Web3 building game where players can create anything on unique blocky islands. Each island is a mutable NFT stored on the Internet Computer blockchain. Anyone can visit these islands onchain, while the owner of the NFT ownership handles building permissions.", @@ -752,7 +768,8 @@ "Bitcoin", "NFT", "Ethereum", - "Chain Fusion" + "Chain Fusion", + "Creator Economy" ], "description": "ME wallet securing your assets without seed phrase across any devices.", "github": "https://github.com/AstroxNetwork", @@ -768,7 +785,7 @@ "name": "AutoRoyale", "website": "https://cm6iy-sqaaa-aaaam-abmxq-cai.icp0.io/", "tags": [ - "Games" + "Gaming" ], "twitter": "", "description": "Jump into this proof of concept battle royale 2D shooter on ICP. Grab gear, outplay the competition, and stay alive as the battleground shrinks. It's all about thinking a few steps ahead. Upgrade weapons, toss grenades, and pull off sneaky ambushes. Invite your pals for a quick match and make sure you play the tutorial to get used to the mechanics.", @@ -794,7 +811,8 @@ "oneLiner": "A location based app for empowering local communities", "stats": "5,000+ users", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "usesInternetIdentity": true, "twitter": "https://twitter.com/signalsicp", @@ -833,7 +851,8 @@ "name": "CycleOps", "description": "Proactive, automated, no-code canister management for the Internet Computer.", "tags": [ - "Tools / Infrastructure" + "Tools / Infrastructure", + "Analytics" ], "stats": "450 canisters monitored", "github": "https://github.com/CycleOperators/CycleOps/", @@ -850,7 +869,8 @@ "tags": [ "SocialFi", "Ethereum", - "Chain Fusion" + "Chain Fusion", + "Creator Economy" ], "twitter": "https://twitter.com/DSCVR1?s=20&t=qrUKGHeyFLGiBQjpj3iI9A", "description": "DSCVR is an end-to-end decentralized Web3 social media platform that allows communities to form into groups called Portals. These Portals can be NFT gated, airdrop fungible and non-fungible tokens to their members and much more. DSCVR also allows for tipping posts in a growing number of cryptos, supporting ckBTC, a Bitcoin twin living on the Internet Computer.", @@ -868,7 +888,8 @@ "oneLiner": "IC canister management tool", "description": "Top up your canisters, monitor cycles, memory, logs, and get your monthly reports in one place.", "tags": [ - "Tools / Infrastructure" + "Tools / Infrastructure", + "Analytics" ], "usesInternetIdentity": true, "website": "https://canistergeek.app/", @@ -922,7 +943,7 @@ "name": "Eimolad", "description": "This is an amazing world inhabited by humans, dwarves, orcs, elves, and other fantastic creatures. This is a world of magic and valor. This world is full of mysteries, dangers, and incredible adventures. ", "tags": [ - "Games" + "Gaming" ], "website": "https://eimolad.com/", "twitter": "https://twitter.com/eimolad", @@ -936,7 +957,8 @@ "oneLiner": "A Web3 space for writers to express autonomy of thought ", "website": "https://mora.app", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "description": "Mora allows users to create a unique Web3 space where they can have independent content data, subscription relationships, financial information, and even complex algorithms. From its inception, a planet will be monitored by Launch Trail to ensure compliance with the protocol and establish trust. The Launch Trail will be controlled by the Mora Dao Canister.", "usesInternetIdentity": true, @@ -953,7 +975,8 @@ "name": "DSocial", "website": "https://DSocial.app", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "twitter": "https://x.com/DSocialApp", "description": "DSocial is a decentralized version of YouTube -- enabling content creators to be fairly rewarded for their work, and engagement. This Web3 media platform is hosted end-to-end on the Internet Computer interoperating with Arweave for decentralized video content.", @@ -972,7 +995,8 @@ "tags": [ "Metaverse", "NFT", - "Tools / Infrastructure" + "Tools / Infrastructure", + "Creator Economy" ], "twitter": "https://twitter.com/unfold_vr", "description": "UnfoldVR empowers creators to author 3D NFTs using easy-to-use tools both on the Web and in Virtual Reality.", @@ -1011,7 +1035,8 @@ "website": "https://seers.social/", "tags": [ "SocialFi", - "DAO" + "DAO", + "Creator Economy" ], "twitter": "https://x.com/SeersApp", "description": "What if there was decentralized Twitter that included prediction markets? Seers is a Web3 social media platform hosted 100% onchain combining social media features with prediction markets.", @@ -1026,7 +1051,8 @@ "name": "PokedStudio Bots", "website": "https://entrepot.app/marketplace/poked", "tags": [ - "NFT" + "NFT", + "Creator Economy" ], "twitter": "https://x.com/pokedstudiouk", "description": "PokedStudio Bots is a collection of 10,000 unique bots designed by acclaimed digital artist, Jonathan Ball. The Ultimate Master Bot which sold for 3,000 ICP (~$172,140), marks the largest single NFT purchase on the Internet Computer and is one of the largest across all blockchain projects to date. The NFT Bots are all unique and possess differing rarities and attributes that will transfer into a future metaverse gaming experience in beautiful technicolor.", @@ -1063,7 +1089,8 @@ "SocialFi", "DAO", "Bitcoin", - "Chain Fusion" + "Chain Fusion", + "Creator Economy" ], "twitter": "https://x.com/nuancedapp", "description": "Nuance is a Web3.0 blogging platform that is hosted onchain end-to-end on the Internet Computer. Developed by Aikin Dapps, the alpha of the world's first blogging platform to be hosted entirely on a blockchain has now launched. Nuance aims to bring NFTs into the world of editorial content ownership.", @@ -1079,8 +1106,9 @@ "oneLiner": "Blast through the metaverse with Cosmicrafts, where interstellar mayhem meets epic battles for the ultimate cosmic showdown!", "website": "https://cosmicrafts.com/", "tags": [ - "Games", - "Metaverse" + "Gaming", + "Metaverse", + "Creator Economy" ], "twitter": "https://twitter.com/cosmicrafts", "description": "Unleash your inner commander and dominate the metaverse in the action-packed universe of Cosmicrafts. Engage in thrilling interstellar battles, strategize with allies, and conquer the cosmos. Are you ready to claim your place among the stars?", @@ -1100,7 +1128,8 @@ "website": "https://kontribute.app", "tags": [ "SocialFi", - "NFT" + "NFT", + "Creator Economy" ], "twitter": "https://twitter.com/TeamBonsai_ICP", "description": "Kontribute is a web3 creators platform that brings story writing and digital art collectibles together. Features include decentralized story storage, likes, tipping, polls, NFT marketplace, and NFT minting.", @@ -1118,7 +1147,8 @@ "name": "Dstar", "website": "https://yunqk-aqaaa-aaaai-qawva-cai.ic0.app/", "tags": [ - "NFT" + "NFT", + "Creator Economy" ], "description": "Dstar is an Internet Identity (II) trading marketplace. Since each II is unique, the ICP blockchain treats them as NFTs. Users can trade, purchase, or sell their anonymous blockchain-based authentication accounts on this community-built marketplace. Integrated with Plug wallet, users can search for and purchase any coveted Internet Identity numbers which may be up for auction.", "oneLiner": "Internet Identity Marketplace", @@ -1149,7 +1179,8 @@ "website": "https://www.itoka.xyz/", "tags": [ "NFT", - "SocialFi" + "SocialFi", + "Creator Economy" ], "description": "The ITOKA project seeks to disrupt the centralized music industry by offering a complete infrastructure solution for the web3 music industry. This includes creation tools, data storage, and music streaming services. The goal of ITOKA is to transform the music industry into a decentralized ecosystem, empowering creators with greater control over their content and a fairer share of revenue.", "usesInternetIdentity": false, @@ -1187,7 +1218,8 @@ "description": "A licensing application for life-sciences companies. Easily monetize your intellectual property using NFTs.", "tags": [ "NFT", - "Tools / Infrastructure" + "Tools / Infrastructure", + "Creator Economy" ], "usesInternetIdentity": false, "website": "https://www.scinet.one/", @@ -1221,7 +1253,7 @@ "name": "Saga Tarot", "website": "https://5nl7c-zqaaa-aaaah-qaa7a-cai.raw.ic0.app/", "tags": [ - "Games" + "Gaming" ], "description": "Have your fortune told on the Internet Computer. Saga Tarot gives you a tarot reading in one click. The user-friendly dapp is built completely on the Internet Computer, accessible from any browser. What will the future hold for you?", "usesInternetIdentity": true, @@ -1295,7 +1327,8 @@ "oneLiner": "Explore unlimited knowledge, with Q&A interaction between you and me!", "website": "https://ffxwx-3yaaa-aaaah-qajua-cai.ic0.app", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "description": "iKnows is a decentralized application platform built on the Internet Computer (IC), based on the IC network, with knowledge as the core, and through a social approach.", "usesInternetIdentity": true, @@ -1310,7 +1343,8 @@ "oneLiner": "Together we can change the world! One campaign at time.", "description": "A decentralized web3 app, running 100% onchain on the Internet Computer, that lets any user start mobilizations by creating campaigns of four different kinds: donations, votes, signatures, and fundraising.", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "website": "https://site.metamob.app/", "github": "https://github.com/av1ctor/metamob", @@ -1327,7 +1361,8 @@ "name": "ICP Explorer", "website": "https://www.icpexplorer.org/#/datacenters", "tags": [ - "Tools / Infrastructure" + "Tools / Infrastructure", + "Analytics" ], "description": "ICP Explorer, a project started in 2018, is an open-source, community-built dashboard and explorer for the Internet Computer, providing live information and statistics about the network, governance, and the ICP utility token, including account and transaction information.", "logo": "/img/showcase/icpexplorer_logo.webp", @@ -1361,7 +1396,7 @@ "name": "Mission Is Possible", "website": "https://to3ja-iyaaa-aaaai-qapsq-cai.raw.ic0.app/", "tags": [ - "Games" + "Gaming" ], "description": "Mission is Possible - 3rd place winner of the DSCVR Hackathon Season 2 - is a PVP third-person shooter hosted on the Internet Computer blockchain. The John Wick-inspired game is built using the Unity 3D Game Engine and hosted on the IC enabling decentralized login with Internet Identity. ", "usesInternetIdentity": true, @@ -1453,7 +1488,8 @@ "website": "https://nftanvil.com", "tags": [ "NFT", - "Games" + "Gaming", + "Creator Economy" ], "description": "NFTAnvil is a wallet, mint & marketplace in the Anvil ecosystem. It's built from scratch and has an alternative & genuine approach to NFTs. It uses Anvil's auto-scaling multi-canister token architecture.", "github": "https://github.com/infu/nftanvil", @@ -1470,7 +1506,8 @@ "description": "Stop worrying about system failures and slow performance. Our data center standby team is here to keep your nodes running at top speed, with round-the-clock monitoring and troubleshooting. Currently managing 70 nodes in 3 datacenters.", "tags": [ "Tools / Infrastructure", - "Enterprise" + "Enterprise", + "Analytics" ], "website": "https://www.aviatelabs.co/", "github": "https://github.com/aviate-labs?q=&type=all&language=go&sort=stargazers", @@ -1528,7 +1565,8 @@ "oneLiner": "Superior alternative to Linktree", "website": "https://b.ink", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "description": "Connect, engage and inspire your audience while owning your data and your identity.", "usesInternetIdentity": true, @@ -1555,7 +1593,8 @@ "oneLiner": "Visual metrics for IC's software activity data", "website": "https://icpulse.io/", "tags": [ - "Tools / Infrastructure" + "Tools / Infrastructure", + "Analytics" ], "description": " ICPulse increases the transparency on ICP’s developer ecosystem by aggregating the activity data from GitHub and displaying visual metrics in an effective dashboard.", "usesInternetIdentity": false, @@ -1634,7 +1673,8 @@ "oneLiner": "Product analytics for IC dapps", "description": "See your product main metrics, such as DAU, WAU, MAU, new users, retention, and usage frequency.", "tags": [ - "Tools / Infrastructure" + "Tools / Infrastructure", + "Analytics" ], "usesInternetIdentity": true, "website": "https://usergeek.app/", @@ -1649,7 +1689,8 @@ "oneLiner": "Remote configuration tool", "description": "Change the appearance and behaviour of your product in real-time.", "tags": [ - "Tools / Infrastructure" + "Tools / Infrastructure", + "Analytics" ], "usesInternetIdentity": true, "website": "https://configeek.app/", @@ -1694,7 +1735,8 @@ "tags": [ "Tools / Infrastructure", "NFT", - "Wallet" + "Wallet", + "Creator Economy" ], "description": "Canister Store is a groundbreaking platform that empowers developers/users in the Internet Computer ecosystem and beyond. With its innovative self-deploy feature, users can effortlessly access and deploy canisters, including pre-built images such as Tokens, NFTs, dapps, and various other tools.", "usesInternetIdentity": true, @@ -1771,8 +1813,9 @@ "oneLiner": "NFT Based Multiplayer Game Onchain", "website": "https://icmojis.com/", "tags": [ - "Games", - "NFT" + "Gaming", + "NFT", + "Creator Economy" ], "description": "ICmoji Origins is an NFT-based multiplayer game built end-to-end onchain on the Internet Computer. The winner of the DSCVR Hackathon Season 2 features one of the first NFTs on the Internet Computer, ICMojis.", "usesInternetIdentity": false, @@ -1804,7 +1847,8 @@ "tags": [ "Tools / Infrastructure", "DeFi", - "DAO" + "DAO", + "Analytics" ], "twitter": "https://x.com/ICPCoins", "description": "IC coins by market cap. Aggregates stats from all Internet Computer based DEXes. Price, Volume & liquidity score charts.", @@ -1839,7 +1883,8 @@ "website": "https://www.dgastonia.com/nfts/collections/", "tags": [ "NFT", - "Tools / Infrastructure" + "Tools / Infrastructure", + "Creator Economy" ], "description": "The most comprehensive browsing experience for NFTs. Browse any NFT collection on the Internet Computer, sort & filter by price or rarity, expose floors, and much more.", "usesInternetIdentity": false, @@ -1879,7 +1924,7 @@ "name": "Welcome Into the Metaverse", "website": "https://lc7ip-3iaaa-aaaah-aafva-cai.ic0.app/", "tags": [ - "Games" + "Gaming" ], "description": "Prize winner of the DSCVR hackathon for the Internet Computer - this game brings digital community into a unified virtual space. Find anecdotes from founding ecosystem members, and go through a series of quests.", "logo": "/img/showcase/welcomeintothemetaverse_logo.webp", @@ -1892,7 +1937,7 @@ "name": "Reversi", "website": "https://ivg37-qiaaa-aaaab-aaaga-cai.ic0.app/#!/play", "tags": [ - "Games" + "Gaming" ], "description": "Reversi is one of the first canister smart contracts deployed to the Internet Computer and is a completely decentralized multiplayer game. Play against a friend (or foe) in real-time, from any browser, anywhere in the world. ", "github": "https://github.com/ninegua/reversi", @@ -1908,7 +1953,8 @@ "website": "https://gooble.app/", "tags": [ "SocialFi", - "NFT" + "NFT", + "Creator Economy" ], "usesInternetIdentity": false, "stats": "4,000+ goblins", @@ -1924,7 +1970,7 @@ "description": "A weekly sweepstake where players predict Premier League scores.", "website": "https://43loz-3yaaa-aaaal-qbxrq-cai.ic0.app/", "tags": [ - "Games" + "Gaming" ], "usesInternetIdentity": true, "logo": "/img/showcase/football-god_logo.webp", @@ -1954,7 +2000,8 @@ "tags": [ "Tools / Infrastructure", "DeFi", - "NFT" + "NFT", + "Creator Economy" ], "usesInternetIdentity": true, "logo": "/img/showcase/blocklist.png", @@ -1987,7 +2034,8 @@ "oneLiner": "Deploy the frontend of a web3 forum system - metaforo.io on ICP", "website": "https://can1.metaforo.io/", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "description": "Metaforo: a Web3 forum prioritizing decentralization, community ownership, and token-gated governance. By shifting the Front-End to IC, we boost reliability, security, and scalability, enabling a seamless user experience without intermediaries.", "stats": "1,000+ users", @@ -2032,7 +2080,8 @@ "tags": [ "Tools / Infrastructure", "Ethereum", - "Chain Fusion" + "Chain Fusion", + "Analytics" ], "description": "An advanced on-chain data hub that aggregates data from various markets and makes it accessible on-chain.", "usesInternetIdentity": false, @@ -2128,7 +2177,8 @@ "tags": [ "Metaverse", "NFT", - "Tools / Infrastructure" + "Tools / Infrastructure", + "Creator Economy" ], "description": "NFT Studio is the first to develop 3D NFTs. This means that the NFTs themselves are living 3D code, as opposed to a .GIF recording of a 3D rendered image. This is only possible thanks to the ICP blockchain as NFTs can run code, not just link to an image. NFT Studio has had features in major media for the 3D NFT minting tools that are being built for global creators.", "display": "Normal", @@ -2179,7 +2229,8 @@ "oneLiner": "Your gateway to web3 apps: connect, chat and explore all in one place", "website": "https://md7ke-jyaaa-aaaak-qbrya-cai.ic0.app/", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "description": "Welcome to IC Hub! Your dapp for connecting with friends, chatting, joining groups, and managing tokens & NFTs. For developers, register your projects easily without seeking permission. Empowering you to connect, transact, and build in a user-friendly ecosystem.", "usesInternetIdentity": true, @@ -2196,7 +2247,8 @@ "name": "HashKey DID", "website": "http://icp.hashkey.id", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "description": "The uniquely-designed DID is your passport in web3. Your data and assets will be connected to HashKey DID and your private information will be kept in your own hands.", "stats": "1,200,000 users, 3,200,000 Credentials, 30 Eco-members", @@ -2212,7 +2264,8 @@ "tags": [ "DAO", "Tools / Infrastructure", - "Metaverse" + "Metaverse", + "Creator Economy" ], "description": "The boundaryless autonomous organization.", "logo": "/img/showcase/nnsdao_logo.png", @@ -2228,7 +2281,8 @@ "oneLiner": "Launch a podcast and tap into web3.", "tags": [ "NFT", - "SocialFi" + "SocialFi", + "Creator Economy" ], "description": "The Decentralized Podcast Protocol for Creators on the IC.", "stats": "10+ Podcaster", @@ -2271,7 +2325,8 @@ "website": "https://agorapp.dev/", "tags": [ "Tools / Infrastructure", - "NFT" + "NFT", + "Creator Economy" ], "description": "AgorApp is a Codecademy-style interactive coding environment where users can learn to develop smart contracts on ICP and, then, test their skills by participating in web3 CTFs and smart contract optimization contests.", "usesInternetIdentity": false, @@ -2290,7 +2345,8 @@ "tags": [ "Tools / Infrastructure", "Metaverse", - "Games" + "Gaming", + "Creator Economy" ], "description": "Enabling game developer communities to integrate their C++ native projects with the IC interface onchain, using our wrapper for seamless interaction. Easy deployment using Unreal Engine, or other C++ native projects. Our mission is to bridge the gap, enhancing IC's accessibility and inviting a broader community of creators. Using Zondax Unreal, game devs can fully unlock IC's potential. ", "logo": "/img/showcase/zondax-unreal_logo.webp", @@ -2363,7 +2419,8 @@ "stats": "", "tags": [ "SocialFi", - "Tools / Infrastructure" + "Tools / Infrastructure", + "Creator Economy" ], "usesInternetIdentity": true, "github": "", @@ -2386,7 +2443,8 @@ "stats": "25.000+ views", "tags": [ "SocialFi", - "DAO" + "DAO", + "Creator Economy" ], "usesInternetIdentity": true, "github": "", @@ -2427,7 +2485,8 @@ "oneLiner": "Create Your Virtual Space as a 3D-Website on the Internet Computer", "tags": [ "Tools / Infrastructure", - "Metaverse" + "Metaverse", + "Creator Economy" ], "usesInternetIdentity": true, "github": "https://github.com/Bebb-Protocol-and-Apps/PWS", @@ -2443,7 +2502,8 @@ "tags": [ "Tools / Infrastructure", "SocialFi", - "Enterprise" + "Enterprise", + "Creator Economy" ], "logo": "/img/showcase/faceless_logo.png", "description": "Faceless provides a cross-platform private payment system based on human-readable identifiers in the IC ecosystem. It brings regulation-compliant financial services to users while still preserving users' privacy.", @@ -2470,7 +2530,8 @@ "tags": [ "NFT", "Tools / Infrastructure", - "DeFi" + "DeFi", + "Creator Economy" ], "usesInternetIdentity": false, "twitter": "https://twitter.com/221BravoApp", @@ -2495,7 +2556,8 @@ "DeFi", "DAO", "SocialFi", - "Enterprise" + "Enterprise", + "Creator Economy" ], "usesInternetIdentity": true, "twitter": "", @@ -2514,7 +2576,8 @@ "id": "doocoins", "oneLiner": "Kids rewards dapp", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "usesInternetIdentity": true, "github": "https://github.com/jakepeg/doocoins-pwa", @@ -2555,7 +2618,8 @@ "oneLiner": "The story of blockchain, told in Art.", "tags": [ "NFT", - "DAO" + "DAO", + "Creator Economy" ], "usesInternetIdentity": true, "github": "https://github.com/flowerpowerdao/", @@ -2599,7 +2663,8 @@ "oneLiner": "The first Decentralized & Cross-Platform Game Store.", "tags": [ "NFT", - "Games" + "Gaming", + "Creator Economy" ], "usesInternetIdentity": false, "github": "https://github.com/IsotopicIO/icp-store", @@ -2634,7 +2699,8 @@ "name": "ICP Explorer", "website": "https://icp.footprint.network/", "tags": [ - "Tools / Infrastructure" + "Tools / Infrastructure", + "Analytics" ], "stats": "1000 users", "usesInternetIdentity": false, @@ -2680,7 +2746,8 @@ "tags": [ "Bitcoin", "NFT", - "Chain Fusion" + "Chain Fusion", + "Creator Economy" ], "usesInternetIdentity": false, "github": "https://github.com/BitBasel", @@ -2701,7 +2768,8 @@ "stats": "100% on chain", "tags": [ "SocialFi", - "NFT" + "NFT", + "Creator Economy" ], "usesInternetIdentity": true, "github": "https://github.com/Zona-Tres/Hobbi/", @@ -2816,7 +2884,8 @@ "website": "https://www.outrank.io", "tags": [ "NFT", - "Tools / Infrastructure" + "Tools / Infrastructure", + "Creator Economy" ], "description": "Open-source code, onchain rarity calculator, and empirical research to allow users to better understand NFT rarity", "logo": "/img/showcase/Outrank_logo.jpg", @@ -2889,7 +2958,9 @@ "stats": "15,000+ Active Users", "tags": [ "SocialFi", - "Tools / Infrastructure" + "Tools / Infrastructure", + "Creator Economy", + "Analytics" ], "usesInternetIdentity": false, "github": "https://github.com/AlphadayHQ ", @@ -2937,7 +3008,8 @@ "stats": "Alpha phase", "tags": [ "NFT", - "DeFi" + "DeFi", + "Creator Economy" ], "usesInternetIdentity": false, "github": "https://github.com/datanomeproject", @@ -2962,7 +3034,8 @@ "tags": [ "NFT", "Tools / Infrastructure", - "DAO" + "DAO", + "Creator Economy" ], "usesInternetIdentity": false, "github": "https://github.com/glue-org", @@ -2982,8 +3055,9 @@ "tags": [ "NFT", "Metaverse", - "Games", - "AI" + "Gaming", + "AI", + "Creator Economy" ], "usesInternetIdentity": false, "github": "https://github.com/ktimam/ICSimpleSoccer", @@ -3003,7 +3077,8 @@ "oneLiner": "Airbnb for EV charging powered by Blockchain", "stats": "3000+ users", "tags": [ - "NFT" + "NFT", + "Creator Economy" ], "usesInternetIdentity": false, "github": "https://github.com/nbelthan/Mapz-navigator", @@ -3042,7 +3117,7 @@ "oneLiner": "Provably fair and fun dice rolling game with a quirk", "stats": "1500+ transactions", "tags": [ - "Games" + "Gaming" ], "usesInternetIdentity": false, "github": "https://github.com/icdragoneyes/dragon_canister", @@ -3057,7 +3132,8 @@ "website": "https://relinkd.xyz/", "tags": [ "Tools / Infrastructure", - "SocialFi" + "SocialFi", + "Creator Economy" ], "description": "Digital identity + scores protocol and dapp. We're building a decentralized identity protocol, aggregating onchain and off-chain credentials into the scores for creating trustworthy self-sovereign identity and personal brand profiles.", "stats": "1000 users", @@ -3190,12 +3266,13 @@ "oneLiner": "Redefining online betting on the Internet Computer.", "website": "https://vault-bet.com", "tags": [ - "Games", + "Gaming", "DeFi", "Bitcoin", "Ethereum", "NFT", - "Chain Fusion" + "Chain Fusion", + "Creator Economy" ], "twitter": "https://twitter.com/VaultBet", "discord": "https://discord.gg/qmr92dup3J", @@ -3278,7 +3355,8 @@ "website": "https://openfpl.xyz/", "tags": [ "SocialFi", - "DAO" + "DAO", + "Creator Economy" ], "github": "https://github.com/jamesbeadle/OpenFPL", "twitter": "https://twitter.com/OpenFPL_DAO", @@ -3356,8 +3434,9 @@ "discord": "https://discord.gg/wgRuenwTEK", "youtube": "https://www.youtube.com/@Game_bloc", "tags": [ - "Games", - "SocialFi" + "Gaming", + "SocialFi", + "Creator Economy" ], "description": "A decentralized platform empowering gamers and gaming organizations to create, manage, and participate in game tournaments.", "usesInternetIdentity": true, @@ -3375,7 +3454,8 @@ "SocialFi", "AI", "Enterprise", - "Tools / Infrastructure" + "Tools / Infrastructure", + "Creator Economy" ], "twitter": "https://twitter.com/Dmailofficial", "discord": "https://discord.gg/dmailofficial", @@ -3411,7 +3491,8 @@ "tags": [ "Tools / Infrastructure", "Enterprise", - "SocialFi" + "SocialFi", + "Creator Economy" ], "twitter": "https://twitter.com/b4b_world", "description": "B4B.app is a Web3 influencer marketing protocol that brings transparency, ownership, escrow, and onchain history from all socials", @@ -3443,7 +3524,8 @@ "oneLiner": "Decentralised ticketing platform offering fully onchain, dynamic and tradable digital ticketing to event organisers.", "website": "https://xw7l2-viaaa-aaaal-qditq-cai.icp0.io/", "tags": [ - "NFT" + "NFT", + "Creator Economy" ], "twitter": "https://twitter.com/FrontRowIC", "description": "Decentralised ticketing platform offering fully onchain, dynamic and tradable digital ticketing to event organisers.", @@ -3460,7 +3542,8 @@ "Tools / Infrastructure", "NFT", "DAO", - "DeFi" + "DeFi", + "Creator Economy" ], "description": "ICTO is an automated token management platform that simplifies vesting schedules, recurring payroll distributions, token lock and tokenized crowdfunding for projects building on the Internet Computer. It provides modular smart contracts, allowing any project to transparently handle token operations without technical friction.", "usesInternetIdentity": true, @@ -3499,7 +3582,7 @@ "oneLiner": "Flexible framework for fully onchain multiplayer turn-based games. Bulldog Blast is a semi-realtime multiplayer arcade combat game.", "tags": [ "Tools / Infrastructure", - "Games" + "Gaming" ], "description": "Flexible framework for fully onchain multiplayer turn-based games. Bulldog Blast is a semi-realtime multiplayer arcade combat game.", "usesInternetIdentity": true, @@ -3545,7 +3628,8 @@ "name": "Internet Computer Analytics Platform", "oneLiner": "A framework for users to query and analyze data from various sources in the ICP ecosystem.", "tags": [ - "Tools / Infrastructure" + "Tools / Infrastructure", + "Analytics" ], "description": "A framework for users to query and analyze data from various sources in the ICP ecosystem.", "usesInternetIdentity": false, @@ -3577,7 +3661,8 @@ "name": "ICP NFT Creater", "oneLiner": "Shopify app designed to streamline the process of creating and launching NFT collections, product certificates, and more on ICP.", "tags": [ - "NFT" + "NFT", + "Creator Economy" ], "description": "Shopify app designed to streamline the process of creating and launching NFT collections, product certificates, and more on ICP.", "usesInternetIdentity": false, @@ -3607,7 +3692,8 @@ "oneLiner": "A chat and API interface allowing communication with an AI model.", "tags": [ "AI", - "SocialFi" + "SocialFi", + "Creator Economy" ], "description": "A chat and API interface allowing communication with an AI model.", "usesInternetIdentity": false, @@ -3636,7 +3722,8 @@ "oneLiner": "ICP's most popular NFT marketplace", "website": "https://entrepot.app/", "tags": [ - "NFT" + "NFT", + "Creator Economy" ], "twitter": "https://twitter.com/toniqlabs", "description": "Entrepot is a decentralized NFT marketplace developed by ToniqLabs, the creators behind Rise of the Magni, Stoic Wallet, Cronic NFTs, and Exponent. Entrepot provides users with tools and onchain services to design, deploy, and manage NFTs and traditional tokens.", @@ -3664,7 +3751,8 @@ "DAO", "SocialFi", "NFT", - "AI" + "AI", + "Creator Economy" ], "usesInternetIdentity": true, "github": "https://github.com/ldclabs/ic-panda", @@ -3770,7 +3858,8 @@ "oneLiner": "A tool that creates online communities as NFTs owned by the creators.", "tags": [ "SocialFi", - "NFT" + "NFT", + "Creator Economy" ], "description": "A tool that creates online communities as NFTs owned by the creators", "usesInternetIdentity": false, @@ -3813,7 +3902,8 @@ "name": "Amplify Platform", "oneLiner": "A platform that enables Twitter (X) accounts to boost post engagement by rewarding interacting users with ICP and select ICRC tokens.", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "description": "A platform that enables Twitter (X) accounts to boost post engagement by rewarding interacting users with ICP and select ICRC tokens.", "usesInternetIdentity": false, @@ -3828,9 +3918,10 @@ "oneLiner": "Obsidian Tears is a 2D RPG similar to old-time classics, complete with NFT and blockchain integration on the Internet Computer.", "website": "https://obsidiantears.xyz/", "tags": [ - "Games", + "Gaming", "NFT", - "Metaverse" + "Metaverse", + "Creator Economy" ], "description": "Obsidian Tears is a 2D adventure featuring original art, story, music, and over 50 collectible NFT artifacts. Our mission is to make a great story after our favorite old-time classics, and to empower others to do the same.", "logo": "/img/showcase/obsidian-tears-logo.webp", @@ -3924,7 +4015,8 @@ "oneLiner": "A community-owned Web3 application that primarily offers taxi, delivery, and courier services.", "stats": "5000 waitlist signups", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "usesInternetIdentity": true, "twitter": "https://twitter.com/RiideDapp" @@ -3955,7 +4047,8 @@ "display": "Normal", "oneLiner": "A new protocol that gathers notifications and events from all your apps implementing it, and compiles them into a user-specific canister.", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "usesInternetIdentity": true, "twitter": "https://twitter.com/konectA_Dao", @@ -3971,7 +4064,8 @@ "oneLiner": "A vacation real estate tokenization and rental platform on ICP, enabling users to invest in vacation real estate with investments as low as USD 100.", "tags": [ "SocialFi", - "DAO" + "DAO", + "Creator Economy" ], "usesInternetIdentity": true, "twitter": "https://twitter.com/estatedao_icp", @@ -3987,7 +4081,8 @@ "oneLiner": "A community initiative aiming to drive awareness of the Motoko branding.", "tags": [ "SocialFi", - "DAO" + "DAO", + "Creator Economy" ], "usesInternetIdentity": false }, @@ -4000,7 +4095,7 @@ "display": "Normal", "oneLiner": "A game where users participate in motorcycle races, develop their riders and improve high-speed tracks.", "tags": [ - "Games" + "Gaming" ], "usesInternetIdentity": false }, @@ -4010,7 +4105,8 @@ "oneLiner": "Censorship-resistant fully onchain social media platform", "website": "https://distrikt.app", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "twitter": "https://twitter.com/DistriktApp?s=20&t=FIuSJzaUxndtjKLTpwmCEw", "description": "Distrikt is a completely decentralized, community-owned Web3 social media platform. Users of the platform will soon be able to vote on upgrades, and no user data will ever be mined or sold. Create your account, secured by Internet Identity today.", @@ -4080,7 +4176,8 @@ "website": "https://shrny-laaaa-aaaag-alckq-cai.icp0.io/", "tags": [ "Tools / Infrastructure", - "DAO" + "DAO", + "Analytics" ], "twitter": "https://twitter.com/pyorxyz", "description": "A data dashboard that displays metrics and charts related to the rewards distributed within the SNS ecosystem.", @@ -4095,7 +4192,8 @@ "website": "https://replicatr.dev/", "tags": [ "Tools / Infrastructure", - "SocialFi" + "SocialFi", + "Creator Economy" ], "twitter": "https://twitter.com/pyorxyz", "github": "https://github.com/Hubmakerlabs/replicatr", @@ -4110,7 +4208,8 @@ "oneLiner": "A city-based events calendar app helping web3 communities and companies in effectively reaching their target audience within cities.", "website": "https://dotmeet.app/", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "stats": "4,000 users", "twitter": "https://twitter.com/dotmeetapp", @@ -4174,7 +4273,8 @@ "website": "https://www.momint.so", "tags": [ "DeFi", - "NFT" + "NFT", + "Creator Economy" ], "stats": "53,000 users", "twitter": "https://twitter.com/Momint_official", @@ -4217,7 +4317,8 @@ "name": "Raters", "oneLiner": "A SocialFi blockchain-powered platform designed for movie lovers, offering a space to share reviews, ratings, and discover films.", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "website": "https://ratersapp.com/", "twitter": "https://twitter.com/raters_app", @@ -4233,7 +4334,8 @@ "tags": [ "SocialFi", "DAO", - "NFT" + "NFT", + "Creator Economy" ], "website": "https://incheon.world/#/main", "twitter": "https://twitter.com//incheon_heroes", @@ -4262,7 +4364,8 @@ "oneLiner": "AI-powered cross-chain analytics. Offering real-time blockchain data, starting with Bitcoin.", "tags": [ "Tools / Infrastructure", - "Bitcoin" + "Bitcoin", + "Analytics" ], "website": "https://panoramablock.com", "github": "https://github.com/Panorama-Block/panorama-block-icp", @@ -4277,7 +4380,8 @@ "name": "Dapp Radar", "oneLiner": "A dapp discovery portal for blockchain users, provides insights for investors and analysts, and educates visitors about vital blockchain networks.", "tags": [ - "Tools / Infrastructure" + "Tools / Infrastructure", + "Analytics" ], "website": "https://dappradar.com/", "twitter": "https://twitter.com/dappradar", @@ -4291,8 +4395,9 @@ "name": "Motodex", "oneLiner": "A hyper-casual, motorcycle race game where players develop their riders and improve high-speed tracks.", "tags": [ - "Games", - "NFT" + "Gaming", + "NFT", + "Creator Economy" ], "website": "https://motodex.dexstudios.games/", "twitter": "https://twitter.com/openbisea", @@ -4306,7 +4411,8 @@ "name": "Fomowell", "oneLiner": "The fairest Web3 project launch platform.", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "stats": "300 users, daily transactions of $3k", "website": "https://fomowell.com/", @@ -4351,7 +4457,8 @@ "oneLiner": "The world's First NFT Broadcast Station", "tags": [ "NFT", - "SocialFi" + "SocialFi", + "Creator Economy" ], "description": "Introducing CaniPlay (Can I Play), the pioneering, fully onchain NFT broadcast station. Submit your audio or video content, reach a global audience, and receive recognition and rewards from your listeners. As a listener, enjoy airdrops for actively participating in curating content", "usesInternetIdentity": true, @@ -4384,7 +4491,8 @@ "oneLiner": "Web3 social graph using a graph database built on ICP.", "tags": [ "Tools / Infrastructure", - "SocialFi" + "SocialFi", + "Creator Economy" ], "website": "https://relationlabs.ai/home", "github": "https://github.com/relationlabs/relation-graph-icp", @@ -4447,7 +4555,8 @@ "oneLiner": "A fusion of social network, marketplace, and Web directory.", "website": "https://zoncircle.com", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "description": "A fusion of social network, marketplace, and Web directory. World as items in folders. On the mission to overcome network effect - well suited for indie authors.", "logo": "/img/showcase/zon_logo.webp", @@ -4522,7 +4631,8 @@ "logo": "/img/showcase/icecube_logo.png", "display": "Normal", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "usesInternetIdentity": true, "github": "https://github.com/NeutronStarDAO/icecube", @@ -4607,7 +4717,8 @@ "display": "Normal", "oneLiner": "Gamified quest board where projects can create “Shifts” or marketing bounties for their community to collect.", "tags": [ - "SocialFi" + "SocialFi", + "Creator Economy" ], "usesInternetIdentity": true, "github": "https://github.com/MemeFighterCo/Moonshift", @@ -4712,7 +4823,8 @@ "oneLiner": "A decentralized open-source reputation standard that utilizes ICP securely and autonomously verify user achievements and issue credentials.", "tags": [ "SocialFi", - "Tools / Infrastructure" + "Tools / Infrastructure", + "Creator Economy" ], "usesInternetIdentity": true, "github": "https://github.com/relinkd/UPAS", @@ -4742,7 +4854,7 @@ "display": "Normal", "oneLiner": "Collect, battle and track down mythical creatures in this open world adventure game!", "tags": [ - "Games" + "Gaming" ], "usesInternetIdentity": false, "website": "https://gi72u-lqaaa-aaaal-ac3ga-cai.raw.icp0.io/", @@ -4770,7 +4882,8 @@ "logo": "/img/showcase/phasma_logo.webp", "display": "Normal", "tags": [ - "NFT" + "NFT", + "Creator Economy" ], "twitter": "https://x.com/phasmafuture", "website": "https://entrepot.app/marketplace/phasma" @@ -4846,7 +4959,8 @@ "id": "icptokens", "name": "ICP Tokens", "tags": [ - "Tools / Infrastructure" + "Tools / Infrastructure", + "Analytics" ], "stats": "15,000+ users", "website": "https://icptokens.net", @@ -4858,4 +4972,4 @@ "display": "Normal", "logo": "/img/showcase/icptokens_logo.svg" } -] +] \ No newline at end of file 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", + }, ], }, { diff --git a/src/pages/ecosystem.tsx b/src/pages/ecosystem.tsx index 76def18cd2..fc5a470aaa 100644 --- a/src/pages/ecosystem.tsx +++ b/src/pages/ecosystem.tsx @@ -1,27 +1,39 @@ -import Layout from "@theme/Layout"; +import { Pill, PillSecondaryLabel } from "../components/Common/Pills/Pills"; import React, { useEffect, useRef } from "react"; +import DarkHeroStyles from "../components/Common/DarkHeroStyles"; +import Download from "../components/Common/Icons/Download"; +import DownloadFile from "@site/plugins/utils/download-file"; +import GithubIcon from "@site/static/img/svgIcons/github.svg"; +import Layout from "@theme/Layout"; import Link from "@docusaurus/Link"; -import clsx from "clsx"; -import { useInView } from "react-intersection-observer"; -import showcaseData from "../../showcase.json"; +import LinkArrowUpRight from "../components/Common/Icons/LinkArrowUpRight"; import ShareMeta from "../components/Common/ShareMeta"; -import Tooltip from "../components/Common/Tooltip"; import { ShowcaseProject } from "../components/ShowcasePage/ShowcaseProject"; -import { useQueryParam } from "../utils/use-query-param"; - -import GithubIcon from "@site/static/img/svgIcons/github.svg"; -import YoutubeIcon from "@site/static/img/svgIcons/youtube.svg"; +import Tooltip from "../components/Common/Tooltip"; import TwitterIcon from "@site/static/img/svgIcons/twitter.svg"; -import LinkArrowUpRight from "../components/Common/Icons/LinkArrowUpRight"; +import YoutubeIcon from "@site/static/img/svgIcons/youtube.svg"; +import clsx from "clsx"; +import showcaseData from "../../showcase.json"; import { useDarkHeaderInHero } from "../utils/use-dark-header-in-hero"; -import DarkHeroStyles from "../components/Common/DarkHeroStyles"; -import { Pill, PillSecondaryLabel } from "../components/Common/Pills/Pills"; -import DownloadFile from "@site/plugins/utils/download-file"; -import Download from "../components/Common/Icons/Download"; +import { useInView } from "react-intersection-observer"; +import { useQueryParam } from "../utils/use-query-param"; type EnrichedShowcaseProjects = Array; +const tagsNavigation = [ + 'Chain Fusion', + 'DeFi', + 'Bitcoin', + 'Wallet', + 'AI', + 'Gaming', + 'Creator Economy', + 'Enterprise', + 'Analytics', + 'Tools / Infrastructure', +]; + function sortDesktopProjects( projects: ShowcaseProject[] ): EnrichedShowcaseProjects { @@ -288,24 +300,23 @@ const LargeCard = ({ project }: { project: ShowcaseProject }) => { }; const projects = showcaseData as ShowcaseProject[]; -const tags = Object.entries( - projects.reduce((tags, p) => { - if (p.tags) { - for (const tag of p.tags) { - tags[tag] = (tags[tag] || 0) + 1; - } +const reducedTags = projects.reduce((tags, p) => { + if (p.tags) { + for (const tag of p.tags) { + tags[tag] = (tags[tag] || 0) + 1; } - if (p.usesInternetIdentity) { - tags["Internet Identity"] = (tags["Internet Identity"] || 0) + 1; - } - return tags; - }, {} as Record) + } + if (p.usesInternetIdentity) { + tags["Internet Identity"] = (tags["Internet Identity"] || 0) + 1; + } + return tags; +}, {} as Record); +const tags = Object.entries( + reducedTags ) - .map(([tag, count]): [string, number] => - tag === "Chainfusion" ? ["Chain Fusion", count] : [tag, count] - ) + .filter(([tag]) => tagsNavigation.includes(tag)) .sort((a, b) => { - const priorityOrder = ["AI", "Chain Fusion", "Bitcoin", "Ethereum"]; + const priorityOrder = tagsNavigation; const indexA = priorityOrder.indexOf(a[0]); const indexB = priorityOrder.indexOf(b[0]); diff --git a/src/pages/gaming.tsx b/src/pages/gaming.tsx index 66b20e55b0..7e12bb4792 100644 --- a/src/pages/gaming.tsx +++ b/src/pages/gaming.tsx @@ -270,7 +270,7 @@ function GamingPage() { diff --git a/static/img/blog/dev-update-blog-dec-18.jpg b/static/img/blog/dev-update-blog-dec-18.jpg new file mode 100644 index 0000000000..102e9f1026 Binary files /dev/null and b/static/img/blog/dev-update-blog-dec-18.jpg differ