From 455bbdd13119f6b67422c1b64a8ec31798d9aaaa Mon Sep 17 00:00:00 2001 From: rvanasa Date: Tue, 3 Dec 2024 17:01:54 -0800 Subject: [PATCH 1/7] Add link validation plugin --- docusaurus.config.js | 16 ++++++++++++---- plugins/remark/validate-links.js | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 plugins/remark/validate-links.js diff --git a/docusaurus.config.js b/docusaurus.config.js index 3dc633f7ff..9f272df091 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -38,6 +38,14 @@ const snsDataPlugin = require("./plugins/sns-data"); const airtablePlugin = require("./plugins/airtable"); const youtubePlugin = require("./plugins/youtube"); +const remarkPlugins = [ + math, + simplePlantUML, + require("remark-code-import"), + require("./plugins/remark/validate-links.js"), +]; +const rehypePlugins = [katex]; + const isDeployPreview = !!process.env.PREVIEW_CANISTER_ID; if (process.env.PREVIEW_CANISTER_ID) { @@ -654,16 +662,16 @@ const config = { }, sidebarPath: require.resolve("./sidebars.js"), - remarkPlugins: [math, simplePlantUML, require("remark-code-import")], - rehypePlugins: [katex], + remarkPlugins, + rehypePlugins, editUrl: "https://github.com/dfinity/portal/edit/master/", }, blog: { path: "blog", blogSidebarCount: "ALL", postsPerPage: "ALL", - remarkPlugins: [math, simplePlantUML, require("remark-code-import")], - rehypePlugins: [katex], + remarkPlugins, + rehypePlugins, }, theme: { customCss: require.resolve("./src/css/custom.scss"), diff --git a/plugins/remark/validate-links.js b/plugins/remark/validate-links.js new file mode 100644 index 0000000000..e7c11d18cd --- /dev/null +++ b/plugins/remark/validate-links.js @@ -0,0 +1,32 @@ +// Validate links for Kapa.ai + +const visit = require("unist-util-visit"); + +function isValidLink(url) { + return ( + url.startsWith("https://") || + url.startsWith("http://localhost") || + url.startsWith("http://127.0.0.1") || + (url.startsWith("http://") && url.includes(".localhost")) || + url.startsWith("chrome://") || + url.startsWith("mailto:") || + url.startsWith("/") || + url.startsWith("#") || + url.startsWith(".") + ); +} + +module.exports = function validateLinks() { + return async (ast) => { + visit(ast, "link", (node) => { + const url = node.url; + if (!isValidLink(url)) { + throw new Error( + `Unexpected link: \`${url}\``, + node.position, + "validate-links" + ); + } + }); + }; +}; From 55d4a28f0fe4663e34d352e6f7e8b4c577f012bc Mon Sep 17 00:00:00 2001 From: rvanasa Date: Tue, 3 Dec 2024 17:05:32 -0800 Subject: [PATCH 2/7] Update links --- blog/features/vetkey-primer.md | 6 +-- blog/news-and-updates/2023-12-06-update.mdx | 2 +- blog/news-and-updates/team-spotlight-sdk.mdx | 2 +- docs/developer-docs/defi/dex/overview.mdx | 2 +- docs/developer-docs/defi/wallets/overview.mdx | 2 +- docs/developer-docs/gas-cost.mdx | 2 +- .../bitcoin/using-btc/btc-comparison.mdx | 2 +- .../inter-canister-calls.mdx | 2 +- .../best-practices/general.mdx | 4 +- .../best-practices/reproducible-builds.mdx | 2 +- .../best-practices/troubleshooting.mdx | 2 +- .../web-apps/custom-domains/dns-setup.mdx | 6 +-- docs/other/updates/release-notes/0.9.2-rn.md | 2 +- docs/references/id-encoding-spec.mdx | 4 +- .../level-0/01-ic-overview.mdx | 2 +- .../developer-journey/level-0/02-ic-terms.mdx | 2 +- .../developer-journey/level-0/03-dev-env.mdx | 2 +- .../level-0/04-intro-canisters.mdx | 2 +- .../level-0/05-intro-languages.mdx | 2 +- .../level-0/06-intro-dfx.mdx | 2 +- .../level-1/1.1-live-demo.mdx | 2 +- .../level-1/1.2-motoko-lvl1.mdx | 2 +- .../level-1/1.3-first-dapp.mdx | 2 +- .../level-1/1.4-using-cycles.mdx | 2 +- .../level-1/1.5-deploying-canisters.mdx | 2 +- .../level-1/1.6-managing-canisters.mdx | 2 +- .../level-2/2.1-storage-persistence.mdx | 2 +- .../level-2/2.2-advanced-canister-calls.mdx | 2 +- .../level-2/2.3-third-party-canisters.mdx | 2 +- .../level-2/2.4-intro-candid.mdx | 2 +- .../level-2/2.5-unit-testing.mdx | 2 +- .../level-2/2.6-motoko-lvl2.mdx | 2 +- .../level-3/3.1-package-managers.mdx | 2 +- .../level-3/3.2-https-outcalls.mdx | 2 +- .../level-3/3.3-certified-data.mdx | 2 +- .../level-3/3.4-intro-to-agents.mdx | 2 +- .../level-3/3.5-identities-and-auth.mdx | 2 +- .../level-3/3.6-motoko-lvl3.mdx | 2 +- .../level-4/4.1-icp-ledger.mdx | 2 +- .../level-4/4.2-icrc-tokens.mdx | 2 +- .../level-4/4.3-ckbtc-and-bitcoin.mdx | 2 +- .../level-4/4.4-nns-governance.mdx | 2 +- .../level-4/4.5-using-quill.mdx | 2 +- .../level-4/4.6-motoko-lvl4.mdx | 2 +- .../level-5/5.1-vetKeys-tutorial.mdx | 4 +- .../level-5/5.2-ICP-ETH-tutorial.mdx | 2 +- .../level-5/5.3-token-swap-tutorial.mdx | 2 +- .../level-5/5.4-NFT-tutorial.mdx | 2 +- .../level-5/5.5-auction-tutorial.mdx | 2 +- .../level-5/5.6-next-steps.mdx | 2 +- roadmap/roadmap.json | 42 +++++++++++++++++++ src/components/Common/sampleItems.ts | 2 +- 52 files changed, 100 insertions(+), 58 deletions(-) diff --git a/blog/features/vetkey-primer.md b/blog/features/vetkey-primer.md index 47dbd496d3..224bc23bb3 100644 --- a/blog/features/vetkey-primer.md +++ b/blog/features/vetkey-primer.md @@ -63,7 +63,7 @@ Considering that blockchains are very public places where transparency has been Note that we care most about the secret ***key derivation*** here, as that is the most sensitive part which we want to protect from one central (potentially untrusted, unauthorized, or compromised) party, and hence the **KD** in VETKD. To deal with the centralization point, we need to move into the distributed setting. Assuming there is no one trusted party, we distribute trust amongst multiple parties, and require that some *threshold* of them collaborate on shares of the master secret key to derive decryption keys. How do parties **get shares** of the master secret key? This is done by leveraging a distributed key generation (DKG) protocol, where a threshold of honest parties (or nodes) work together to obtain a set of master key shares. Assuming no collusion between nodes, at no point does any one node hold the full private key. -Click around to learn more about [threshold cryptography]( https://en.wikipedia.org/wiki/Threshold_cryptosystem), [DKG](https://en.wikipedia.org/wiki/Distributed_key_generation) and chapter 22 in the [Boneh-Shoup book](http://toc.cryptobook.us/). +Click around to learn more about [threshold cryptography]( https://en.wikipedia.org/wiki/Threshold_cryptosystem), [DKG](https://en.wikipedia.org/wiki/Distributed_key_generation) and chapter 22 in the [Boneh-Shoup book](https://toc.cryptobook.us/). It’s clear from above that we don't want a centralised key derivation process and this is why we need the **T** for the KD process, but what about **V** and **E**? Perhaps this is best highlighted by a scenario. @@ -100,7 +100,7 @@ At a first glance, we could guess that we will need a distributed key generation Crucially, An observation buried in [BF01] gives us the answer. Moni Naor noted that an IBE scheme can be directly converted into a signature scheme. Considering the key derivation of Boneh-Franklin IBE specifically, the resulting signature scheme happens to be BLS. ### BLS signatures -Digital signatures are used everywhere in cryptography and in the blockchain world to attest to the authenticity of a message, transaction, or other pieces of information. As they are so prevalent, it’s really worth spending time getting to know them. You can get a high level view on wikipedia ([Digital Signatures](https://en.wikipedia.org/wiki/Digital_signature) and [BLS](https://en.wikipedia.org/wiki/BLS_digital_signature)), and dive into the [Boneh-Shoup book](http://toc.cryptobook.us/) when you want more formal details. +Digital signatures are used everywhere in cryptography and in the blockchain world to attest to the authenticity of a message, transaction, or other pieces of information. As they are so prevalent, it’s really worth spending time getting to know them. You can get a high level view on wikipedia ([Digital Signatures](https://en.wikipedia.org/wiki/Digital_signature) and [BLS](https://en.wikipedia.org/wiki/BLS_digital_signature)), and dive into the [Boneh-Shoup book](https://toc.cryptobook.us/) when you want more formal details. BLS signatures are a particular type of digital signature introduced in by Dan Boneh, Ben Lynn, and Hovav Shacham in 2001. @@ -132,7 +132,7 @@ This page contains a high level view and description of VETKD and its building b It also shows one possible way of building VETKD, there are others, some with fancy features, that are described more in the paper. There are many use cases and motivations for building VETKD, these are discussed in [the video](https://youtu.be/baM6jHnmMq8) and can be written up if you like. There are also extensions that could be built depending on what is needed in the community. Finally, note that this page is hosted onchain. ## References -* [BS23](http://toc.cryptobook.us/) - The Boneh-Shoup Book. +* [BS23](https://toc.cryptobook.us/) - The Boneh-Shoup Book. * [BF01](https://crypto.stanford.edu/~dabo/papers/bfibe.pdf) - The IBE paper. * [BLS01](https://www.iacr.org/archive/asiacrypt2001/22480516.pdf) - The BLS paper. * [DH76](https://ee.stanford.edu/~hellman/publications/24.pdf) - Diffie and Hellman's New Directions paper. diff --git a/blog/news-and-updates/2023-12-06-update.mdx b/blog/news-and-updates/2023-12-06-update.mdx index 9932cab04c..da5a0ab057 100644 --- a/blog/news-and-updates/2023-12-06-update.mdx +++ b/blog/news-and-updates/2023-12-06-update.mdx @@ -15,7 +15,7 @@ Hello developers and welcome back to developer weekly! This week, we have some v On Friday, December 1st, the NNS proposals to enable ckETH on ICP went live. We're excited to announce that all proposals were passed by the NNS, and ckETH is now live on the mainnet! -ckETH has been added to the ICP dashboard, which you can view [here](http://dashboard.internetcomputer.org/ethereum). You can learn how to interact with ckETH by reviewing the ckETH minter documentation [here](https://github.com/dfinity/ic/blob/master/rs/ethereum/cketh/minter/README.adoc). +ckETH has been added to the ICP dashboard, which you can view [here](https://dashboard.internetcomputer.org/ethereum). You can learn how to interact with ckETH by reviewing the ckETH minter documentation [here](https://github.com/dfinity/ic/blob/master/rs/ethereum/cketh/minter/README.adoc). ckETH support is also live in the ICRC-1 wallet, which includes ckETH has a pre-defined token. The index canister has been integrated, allowing you to mint directly to your principal. The ICRC-1 wallet canister can be found [here](https://e4hv6-7yaaa-aaaao-a2ida-cai.icp0.io/) diff --git a/blog/news-and-updates/team-spotlight-sdk.mdx b/blog/news-and-updates/team-spotlight-sdk.mdx index bc127d5054..6ffa92964b 100644 --- a/blog/news-and-updates/team-spotlight-sdk.mdx +++ b/blog/news-and-updates/team-spotlight-sdk.mdx @@ -67,7 +67,7 @@ Hey devs and welcome to this edition of ICP team spotlight! In this issue, we sa **The SDK team is pretty involved with the dev community on the forum and Discord server, which I'm sure has lead to features derived as a result of community feedback. What are some of the improvements made as a direct result of developer feedback?** -*Lots! We built the [developer feedback board](http://dx.internetcomputer.org) a while back, and every two weeks, our internal focus group meets to go over the latest items and check-in on the progress we’ve made addressing others. One thing that's come as a result of the feedback received is the `dfx` version manager. Developers expressed that they want a way to switch `dfx` versions easily. We spent some time working out how best to accomplish that, and the `dfx` version manager was born. Another example is the Cycles Ledger - we heard feedback that the Cycles Wallet was a pain to use and developers wanted a better solution. We are continuously looking for ways to improve our tooling, so keep the feedback coming!* +*Lots! We built the [developer feedback board](https://dx.internetcomputer.org) a while back, and every two weeks, our internal focus group meets to go over the latest items and check-in on the progress we’ve made addressing others. One thing that's come as a result of the feedback received is the `dfx` version manager. Developers expressed that they want a way to switch `dfx` versions easily. We spent some time working out how best to accomplish that, and the `dfx` version manager was born. Another example is the Cycles Ledger - we heard feedback that the Cycles Wallet was a pain to use and developers wanted a better solution. We are continuously looking for ways to improve our tooling, so keep the feedback coming!* **Where should developers look for the latest SDK updates?** diff --git a/docs/developer-docs/defi/dex/overview.mdx b/docs/developer-docs/defi/dex/overview.mdx index 3ac89097e9..1e63f6763d 100644 --- a/docs/developer-docs/defi/dex/overview.mdx +++ b/docs/developer-docs/defi/dex/overview.mdx @@ -32,7 +32,7 @@ Some examples of DEXs running on ICP include: ## Interacting with a DEX -To use a decentralized exchange (DEX) on ICP, you can interact with the web application for the exchange, use [tooling such as an SDK or API](#tooling) for more technical interactions, or create your own decentralized exchange application. DEXs are used to interact with the token mechanics of [ICP](docs/current/developer-docs/defi/tokens/token-standards#icp-tokens), the native token of the Internet Computer, and [ICRC-1](/docs/current/developer-docs/defi/tokens/token-standards#icrc-1) compliant tokens. +To use a decentralized exchange (DEX) on ICP, you can interact with the web application for the exchange, use [tooling such as an SDK or API](#tooling) for more technical interactions, or create your own decentralized exchange application. DEXs are used to interact with the token mechanics of [ICP](/docs/current/developer-docs/defi/tokens/token-standards#icp-tokens), the native token of the Internet Computer, and [ICRC-1](/docs/current/developer-docs/defi/tokens/token-standards#icrc-1) compliant tokens. ### Tooling diff --git a/docs/developer-docs/defi/wallets/overview.mdx b/docs/developer-docs/defi/wallets/overview.mdx index 0a9f3ac970..d8a8733fa8 100644 --- a/docs/developer-docs/defi/wallets/overview.mdx +++ b/docs/developer-docs/defi/wallets/overview.mdx @@ -27,7 +27,7 @@ On ICP, both developers and end users will use different types of wallets for di | Type of wallet | Activities | Examples | |----------------|------------|----------| |[Asset wallet](overview.mdx) | Hold, transfer, and receive assets such as fungible tokens including ICP and other ICRC1/ICRC2 tokens (ex. ckBTC, ckETH) and non-fungible tokens. View token holdings. Stake ICP and create a neuron to participate in the NNS. User based authentication. | Plug, Stoic, Oisy. [View the full list](#third-party-custody). | -| [Canister-controlled wallet](/docs/current/developer-docs/smart-contracts/overview/introduction) | Using [Chain Fusion](/docs/current/developer-docs/multi-chain/overview), canisters on ICP can hold, sign, and transact with assets on various chains including ICP, Bitcoin, Ethereum, EVMs, and more. | [Cycles wallet](/docs/current/developer-docs/defi/cycles/cycles-wallet) (will be depreciated from dfx). Holds cycles needed to deploy, upgrade, and perform other operations on canisters. The cycles wallet is still supported, but has been replaced by the [cycles ledger](docs/current/developer-docs/defi/cycles/cycles-ledger). It is recommended to use the cycles ledger instead. | +| [Canister-controlled wallet](/docs/current/developer-docs/smart-contracts/overview/introduction) | Using [Chain Fusion](/docs/current/developer-docs/multi-chain/overview), canisters on ICP can hold, sign, and transact with assets on various chains including ICP, Bitcoin, Ethereum, EVMs, and more. | [Cycles wallet](/docs/current/developer-docs/defi/cycles/cycles-wallet) (will be depreciated from dfx). Holds cycles needed to deploy, upgrade, and perform other operations on canisters. The cycles wallet is still supported, but has been replaced by the [cycles ledger](/docs/current/developer-docs/defi/cycles/cycles-ledger). It is recommended to use the cycles ledger instead. | ### Other authentication methods diff --git a/docs/developer-docs/gas-cost.mdx b/docs/developer-docs/gas-cost.mdx index abfef6f732..8a35ed2ae8 100644 --- a/docs/developer-docs/gas-cost.mdx +++ b/docs/developer-docs/gas-cost.mdx @@ -236,7 +236,7 @@ Getting cycles back from a canister - To withdraw cycles from a canister, the [canister must be deleted](/docs/current/tutorials/developer-journey/level-1/1.6-managing-canisters#getting-cycles-back-from-a-canister). Topping up canisters - - [Top up your canisters](docs/current/developer-docs/smart-contracts/topping-up/topping-up-canister). + - [Top up your canisters](/docs/current/developer-docs/smart-contracts/topping-up/topping-up-canister). - [Cycles management services](/docs/current/developer-docs/smart-contracts/topping-up/cycles_management_services). - [Cycle.express](https://cycle.express/). diff --git a/docs/developer-docs/multi-chain/bitcoin/using-btc/btc-comparison.mdx b/docs/developer-docs/multi-chain/bitcoin/using-btc/btc-comparison.mdx index a01e76a9a8..b2df1912b3 100644 --- a/docs/developer-docs/multi-chain/bitcoin/using-btc/btc-comparison.mdx +++ b/docs/developer-docs/multi-chain/bitcoin/using-btc/btc-comparison.mdx @@ -37,7 +37,7 @@ Canister smart contracts on ICP have special properties that allow developers to To learn more about full canister smart contract functionality, refer to the [smart contracts documentation](/docs/current/developer-docs/smart-contracts/overview/introduction). -Specifically, through protocol-level integration of ICP with the [Bitcoin network](docs/current/developer-docs/multi-chain/bitcoin/overview), ICP smart contracts can interact with the Bitcoin network directly. Canister smart contracts can run [queries against the full Bitcoin UTXO](/docs/current/developer-docs/multi-chain/bitcoin/using-btc/read-state) set, including finding the balance of any Bitcoin address. They can [hold](/docs/current/developer-docs/multi-chain/bitcoin/using-btc/generate-addresses), [sign](/docs/current/developer-docs/multi-chain/bitcoin/using-btc/sign-transactions), and [submit transactions](/docs/current/developer-docs/multi-chain/bitcoin/using-btc/submit-transactions) to the Bitcoin network. +Specifically, through protocol-level integration of ICP with the [Bitcoin network](/docs/current/developer-docs/multi-chain/bitcoin/overview), ICP smart contracts can interact with the Bitcoin network directly. Canister smart contracts can run [queries against the full Bitcoin UTXO](/docs/current/developer-docs/multi-chain/bitcoin/using-btc/read-state) set, including finding the balance of any Bitcoin address. They can [hold](/docs/current/developer-docs/multi-chain/bitcoin/using-btc/generate-addresses), [sign](/docs/current/developer-docs/multi-chain/bitcoin/using-btc/sign-transactions), and [submit transactions](/docs/current/developer-docs/multi-chain/bitcoin/using-btc/submit-transactions) to the Bitcoin network. The [Threshold Schnorr integration](/docs/current/developer-docs/smart-contracts/signatures/t-schnorr) allows developers to interact with Runes and Ordinals directly in canisters. A [Schnorr canister example](https://github.com/dfinity/examples/tree/master/motoko/t-schnorr) is available in Motoko and Rust. diff --git a/docs/developer-docs/security/security-best-practices/inter-canister-calls.mdx b/docs/developer-docs/security/security-best-practices/inter-canister-calls.mdx index 939b722ae8..5f4796e3b2 100644 --- a/docs/developer-docs/security/security-best-practices/inter-canister-calls.mdx +++ b/docs/developer-docs/security/security-best-practices/inter-canister-calls.mdx @@ -153,7 +153,7 @@ To address issues around message ordering that can lead to bugs, one usually emp The locks would usually be released in the callback. That bears the risk that the lock may never be released in case the callback traps, as we discussed in [securely handle traps in callbacks](#securely-handle-traps-in-callbacks). The code examples below shows how one can securely implement a lock per caller. - In Rust, one can use the drop pattern where each caller lock (`CallerGuard` struct) implementats the `Drop` trait to release the lock. From Rust CDK version `0.5.1`, any local variables still go out of scope if the callback traps, so the lock on the caller is released even in that case. Technically, the CDK calls into the `ic0.call_on_cleanup` API to release these resources. Recall that `ic0.call_on_cleanup` is executed if the `reply` or the `reject` callback executed and trapped. -- In Motoko, one can use the [`try`/`finally`](docs/current/motoko/main/reference/language-manual/#try) control flow construct. This construct guarantees that the lock is released in the `finally` block regardless of any errors or traps in the `try` or `catch` blocks. +- In Motoko, one can use the [`try`/`finally`](/docs/current/motoko/main/reference/language-manual/#try) control flow construct. This construct guarantees that the lock is released in the `finally` block regardless of any errors or traps in the `try` or `catch` blocks. diff --git a/docs/developer-docs/smart-contracts/best-practices/general.mdx b/docs/developer-docs/smart-contracts/best-practices/general.mdx index 0ccb29ce34..0ad4374f35 100644 --- a/docs/developer-docs/smart-contracts/best-practices/general.mdx +++ b/docs/developer-docs/smart-contracts/best-practices/general.mdx @@ -18,7 +18,7 @@ This guide outlines essential development best practices for building on the Int Ensure all canisters have sufficient cycles to sustain operations for several years initially. Given the cost-effectiveness of storage and computation on ICP compared to other platforms, this upfront investment is usually modest. -Refer to [topping up cycles page](docs/current/developer-docs/smart-contracts/topping-up/topping-up-canister) to learn how to top-up cycles effectively. +Refer to [topping up cycles page](/docs/current/developer-docs/smart-contracts/topping-up/topping-up-canister) to learn how to top-up cycles effectively. Refer to the [cycles estimate](/docs/current/developer-docs/gas-cost) page to estimate cycle usage. @@ -26,7 +26,7 @@ Refer to the [cycles estimate](/docs/current/developer-docs/gas-cost) page to es ICP features a mechanism to prevent canisters from running out of cycles. Canisters have a configurable `freezing_threshold`, dynamically evaluated in cycles. Set `freezing_threshold` conservatively, ensuring at least 90 to 180 days' worth of cycles for proactive management. -Refer to [this resource](docs/current/developer-docs/smart-contracts/topping-up/topping-up-canister#managing-cycle-depletion-with-freezing-threshold) to learn how to configure the `freezing_threshold` of a canister. +Refer to [this resource](/docs/current/developer-docs/smart-contracts/topping-up/topping-up-canister#managing-cycle-depletion-with-freezing-threshold) to learn how to configure the `freezing_threshold` of a canister. To make sure you won’t get surprised by a high cycle burn rate or hitting an instruction limit, you can use the recently added [performance counter API](https://internetcomputer.org/blog/features/async-performance-counter) to profile your canisters even before going live. diff --git a/docs/developer-docs/smart-contracts/best-practices/reproducible-builds.mdx b/docs/developer-docs/smart-contracts/best-practices/reproducible-builds.mdx index 30f6fe250d..bce4af1759 100644 --- a/docs/developer-docs/smart-contracts/best-practices/reproducible-builds.mdx +++ b/docs/developer-docs/smart-contracts/best-practices/reproducible-builds.mdx @@ -26,7 +26,7 @@ However, build tools aren’t perfect, and may fail to ensure reproducible build ICP does not allow you to access the Wasm module of an arbitrary canister. This is a design decision, as developers might want to keep some code private. However, ICP does allow anyone to access the SHA-256 of the Wasm module. -To obtain this hash, you must first note the principal of the canister whose code you want to check. For example, to check the code of the Internet Identity canister, the principal is `rdmx6-jaaaa-aaaaa-aaadq-cai`. Then, the easiest way to access this data is using [`dfx`](docs/current/developer-docs/getting-started/install) from a command line using the following command: +To obtain this hash, you must first note the principal of the canister whose code you want to check. For example, to check the code of the Internet Identity canister, the principal is `rdmx6-jaaaa-aaaaa-aaadq-cai`. Then, the easiest way to access this data is using [`dfx`](/docs/current/developer-docs/getting-started/install) from a command line using the following command: ```bash dfx canister --network ic info rdmx6-jaaaa-aaaaa-aaadq-cai diff --git a/docs/developer-docs/smart-contracts/best-practices/troubleshooting.mdx b/docs/developer-docs/smart-contracts/best-practices/troubleshooting.mdx index f49b2967bc..69580c13ce 100644 --- a/docs/developer-docs/smart-contracts/best-practices/troubleshooting.mdx +++ b/docs/developer-docs/smart-contracts/best-practices/troubleshooting.mdx @@ -22,7 +22,7 @@ On subnets with higher loads, your application may experience elevated latencies ### Recommendation: Consider moving the canister to another subnet. -If your canister is running on a subnet that has a consistently high load and thus elevated latency, consider adding a [compute allocation](docs/current/developer-docs/gas-cost#execution-and-compute-allocation) setting. A compute allocation of 1% will guarantee your canister is scheduled for execution once every 100 rounds. +If your canister is running on a subnet that has a consistently high load and thus elevated latency, consider adding a [compute allocation](/docs/current/developer-docs/gas-cost#execution-and-compute-allocation) setting. A compute allocation of 1% will guarantee your canister is scheduled for execution once every 100 rounds. ## Troubleshooting best practices diff --git a/docs/developer-docs/web-apps/custom-domains/dns-setup.mdx b/docs/developer-docs/web-apps/custom-domains/dns-setup.mdx index cdc3f73de0..63eafc6d70 100644 --- a/docs/developer-docs/web-apps/custom-domains/dns-setup.mdx +++ b/docs/developer-docs/web-apps/custom-domains/dns-setup.mdx @@ -58,7 +58,7 @@ The resulting configuration should look similar to the following screenshot: ![DNS Configuration for `example.ic-domain.live` on Namecheap](namecheap-subdomain.png) -Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](using-custom-domains#custom-domains-on-the-boundary-nodes). +Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](/docs/developer-docs/web-apps/custom-domains/using-custom-domains#custom-domains-on-the-boundary-nodes). ## GoDaddy @@ -171,7 +171,7 @@ The resulting configuration should look similar to the following screenshot: ![DNS Configuration for `example.ic-domain.live` on GoDaddy](godaddy-subdomain.png) -Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](using-custom-domains#custom-domains-on-the-boundary-nodes). +Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](/docs/developer-docs/web-apps/custom-domains/using-custom-domains#custom-domains-on-the-boundary-nodes). ## Amazon Route 53 @@ -201,4 +201,4 @@ The resulting configuration should look similar to the following screenshot: ![DNS Configuration for `example.ic-domain.live` on Amazon Route 53](route53-subdomain.png) -Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](using-custom-domains#custom-domains-on-the-boundary-nodes). +Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](/docs/developer-docs/web-apps/custom-domains/using-custom-domains#custom-domains-on-the-boundary-nodes). diff --git a/docs/other/updates/release-notes/0.9.2-rn.md b/docs/other/updates/release-notes/0.9.2-rn.md index 0eb30dbd45..985da806d0 100644 --- a/docs/other/updates/release-notes/0.9.2-rn.md +++ b/docs/other/updates/release-notes/0.9.2-rn.md @@ -2,7 +2,7 @@ An overview of the 0.9.2 release: -Be sure to see the [0.9.0 Release Notes](0.9.0-rn) and follow the instructions due to breaking changes since dfx 0.8.4. +Be sure to see the [0.9.0 Release Notes](/docs/other/updates/release-notes/0.9.0-rn) and follow the instructions due to breaking changes since dfx 0.8.4. ## Changes to DFX diff --git a/docs/references/id-encoding-spec.mdx b/docs/references/id-encoding-spec.mdx index 2b0d3ba3ff..f758d88d5d 100644 --- a/docs/references/id-encoding-spec.mdx +++ b/docs/references/id-encoding-spec.mdx @@ -57,10 +57,10 @@ Links describing our CRC32 function (resp. the polynomial used therein): * Table entry “CRC-32” on [Wikipedia](https://en.wikipedia.org/wiki/Cyclic_redundancy_check). * Row “IEEE 802.3; CRC-32” in [Koopman's database](https://users.ece.cmu.edu/~koopman/crc/crc32.html). -* Entry “CRC-32/ISO-HDLC” in the [CRC catalogue](http://reveng.sourceforge.net/crc-catalogue/all.htm). +* Entry “CRC-32/ISO-HDLC” in the [CRC catalogue](https://reveng.sourceforge.net/crc-catalogue/all.htm). * Row labeled “CRC-32” in this [online calculator](https://crccalc.com/). -Our CRC32 function is defined by the following parameters in the [CRC catalogue](http://reveng.sourceforge.net/crc-catalogue/all.htm) and [online calculator](https://crccalc.com/): +Our CRC32 function is defined by the following parameters in the [CRC catalogue](https://reveng.sourceforge.net/crc-catalogue/all.htm) and [online calculator](https://crccalc.com/): ``` diff --git a/docs/tutorials/developer-journey/level-0/01-ic-overview.mdx b/docs/tutorials/developer-journey/level-0/01-ic-overview.mdx index 394d081e66..cbfb3be778 100644 --- a/docs/tutorials/developer-journey/level-0/01-ic-overview.mdx +++ b/docs/tutorials/developer-journey/level-0/01-ic-overview.mdx @@ -148,7 +148,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-0/02-ic-terms.mdx b/docs/tutorials/developer-journey/level-0/02-ic-terms.mdx index 567d03bc8a..dcfd9fffdd 100644 --- a/docs/tutorials/developer-journey/level-0/02-ic-terms.mdx +++ b/docs/tutorials/developer-journey/level-0/02-ic-terms.mdx @@ -108,7 +108,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-0/03-dev-env.mdx b/docs/tutorials/developer-journey/level-0/03-dev-env.mdx index 21aaca9694..9c0d9e6fca 100644 --- a/docs/tutorials/developer-journey/level-0/03-dev-env.mdx +++ b/docs/tutorials/developer-journey/level-0/03-dev-env.mdx @@ -144,7 +144,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-0/04-intro-canisters.mdx b/docs/tutorials/developer-journey/level-0/04-intro-canisters.mdx index 96cfc37437..ef433d13b7 100644 --- a/docs/tutorials/developer-journey/level-0/04-intro-canisters.mdx +++ b/docs/tutorials/developer-journey/level-0/04-intro-canisters.mdx @@ -110,7 +110,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-0/05-intro-languages.mdx b/docs/tutorials/developer-journey/level-0/05-intro-languages.mdx index a32c27562a..64942b9790 100644 --- a/docs/tutorials/developer-journey/level-0/05-intro-languages.mdx +++ b/docs/tutorials/developer-journey/level-0/05-intro-languages.mdx @@ -140,7 +140,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-0/06-intro-dfx.mdx b/docs/tutorials/developer-journey/level-0/06-intro-dfx.mdx index b20ca4c355..9363851f66 100644 --- a/docs/tutorials/developer-journey/level-0/06-intro-dfx.mdx +++ b/docs/tutorials/developer-journey/level-0/06-intro-dfx.mdx @@ -273,7 +273,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-1/1.1-live-demo.mdx b/docs/tutorials/developer-journey/level-1/1.1-live-demo.mdx index 19ade8ec07..45048c1422 100644 --- a/docs/tutorials/developer-journey/level-1/1.1-live-demo.mdx +++ b/docs/tutorials/developer-journey/level-1/1.1-live-demo.mdx @@ -187,7 +187,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-1/1.2-motoko-lvl1.mdx b/docs/tutorials/developer-journey/level-1/1.2-motoko-lvl1.mdx index fc9780c46a..0d69dade32 100644 --- a/docs/tutorials/developer-journey/level-1/1.2-motoko-lvl1.mdx +++ b/docs/tutorials/developer-journey/level-1/1.2-motoko-lvl1.mdx @@ -328,7 +328,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - [Weekly developer office hours](https://discord.gg/4a7SZzRk?event=1164114241893187655) to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-1/1.3-first-dapp.mdx b/docs/tutorials/developer-journey/level-1/1.3-first-dapp.mdx index bf3df76b22..6c600cf950 100644 --- a/docs/tutorials/developer-journey/level-1/1.3-first-dapp.mdx +++ b/docs/tutorials/developer-journey/level-1/1.3-first-dapp.mdx @@ -1035,7 +1035,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-1/1.4-using-cycles.mdx b/docs/tutorials/developer-journey/level-1/1.4-using-cycles.mdx index 0b751df45e..3e860517f8 100644 --- a/docs/tutorials/developer-journey/level-1/1.4-using-cycles.mdx +++ b/docs/tutorials/developer-journey/level-1/1.4-using-cycles.mdx @@ -252,7 +252,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-1/1.5-deploying-canisters.mdx b/docs/tutorials/developer-journey/level-1/1.5-deploying-canisters.mdx index c15abce0e1..a7908ef799 100644 --- a/docs/tutorials/developer-journey/level-1/1.5-deploying-canisters.mdx +++ b/docs/tutorials/developer-journey/level-1/1.5-deploying-canisters.mdx @@ -153,7 +153,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-1/1.6-managing-canisters.mdx b/docs/tutorials/developer-journey/level-1/1.6-managing-canisters.mdx index bc3408e826..ed868ae122 100644 --- a/docs/tutorials/developer-journey/level-1/1.6-managing-canisters.mdx +++ b/docs/tutorials/developer-journey/level-1/1.6-managing-canisters.mdx @@ -429,7 +429,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-2/2.1-storage-persistence.mdx b/docs/tutorials/developer-journey/level-2/2.1-storage-persistence.mdx index c569b1273e..1fdb682f73 100644 --- a/docs/tutorials/developer-journey/level-2/2.1-storage-persistence.mdx +++ b/docs/tutorials/developer-journey/level-2/2.1-storage-persistence.mdx @@ -266,7 +266,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-2/2.2-advanced-canister-calls.mdx b/docs/tutorials/developer-journey/level-2/2.2-advanced-canister-calls.mdx index c08daf44e4..a33395e8bb 100644 --- a/docs/tutorials/developer-journey/level-2/2.2-advanced-canister-calls.mdx +++ b/docs/tutorials/developer-journey/level-2/2.2-advanced-canister-calls.mdx @@ -284,7 +284,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-2/2.3-third-party-canisters.mdx b/docs/tutorials/developer-journey/level-2/2.3-third-party-canisters.mdx index a89f1576bd..08f6bb4838 100644 --- a/docs/tutorials/developer-journey/level-2/2.3-third-party-canisters.mdx +++ b/docs/tutorials/developer-journey/level-2/2.3-third-party-canisters.mdx @@ -220,7 +220,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-2/2.4-intro-candid.mdx b/docs/tutorials/developer-journey/level-2/2.4-intro-candid.mdx index d732fae54f..aff7247042 100644 --- a/docs/tutorials/developer-journey/level-2/2.4-intro-candid.mdx +++ b/docs/tutorials/developer-journey/level-2/2.4-intro-candid.mdx @@ -378,7 +378,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-2/2.5-unit-testing.mdx b/docs/tutorials/developer-journey/level-2/2.5-unit-testing.mdx index d8f5710824..2f17abc20b 100644 --- a/docs/tutorials/developer-journey/level-2/2.5-unit-testing.mdx +++ b/docs/tutorials/developer-journey/level-2/2.5-unit-testing.mdx @@ -477,7 +477,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-2/2.6-motoko-lvl2.mdx b/docs/tutorials/developer-journey/level-2/2.6-motoko-lvl2.mdx index 68b9daf376..fd256620d3 100644 --- a/docs/tutorials/developer-journey/level-2/2.6-motoko-lvl2.mdx +++ b/docs/tutorials/developer-journey/level-2/2.6-motoko-lvl2.mdx @@ -451,7 +451,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-3/3.1-package-managers.mdx b/docs/tutorials/developer-journey/level-3/3.1-package-managers.mdx index 670751d230..62aa662f97 100644 --- a/docs/tutorials/developer-journey/level-3/3.1-package-managers.mdx +++ b/docs/tutorials/developer-journey/level-3/3.1-package-managers.mdx @@ -236,7 +236,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-3/3.2-https-outcalls.mdx b/docs/tutorials/developer-journey/level-3/3.2-https-outcalls.mdx index 9c1a657229..2252d3bf31 100644 --- a/docs/tutorials/developer-journey/level-3/3.2-https-outcalls.mdx +++ b/docs/tutorials/developer-journey/level-3/3.2-https-outcalls.mdx @@ -847,7 +847,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-3/3.3-certified-data.mdx b/docs/tutorials/developer-journey/level-3/3.3-certified-data.mdx index 162459fd29..54cf4234af 100644 --- a/docs/tutorials/developer-journey/level-3/3.3-certified-data.mdx +++ b/docs/tutorials/developer-journey/level-3/3.3-certified-data.mdx @@ -380,7 +380,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-3/3.4-intro-to-agents.mdx b/docs/tutorials/developer-journey/level-3/3.4-intro-to-agents.mdx index 8163f35a1c..f69860c7a2 100644 --- a/docs/tutorials/developer-journey/level-3/3.4-intro-to-agents.mdx +++ b/docs/tutorials/developer-journey/level-3/3.4-intro-to-agents.mdx @@ -274,7 +274,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-3/3.5-identities-and-auth.mdx b/docs/tutorials/developer-journey/level-3/3.5-identities-and-auth.mdx index e592315991..74e931c1e3 100644 --- a/docs/tutorials/developer-journey/level-3/3.5-identities-and-auth.mdx +++ b/docs/tutorials/developer-journey/level-3/3.5-identities-and-auth.mdx @@ -386,7 +386,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-3/3.6-motoko-lvl3.mdx b/docs/tutorials/developer-journey/level-3/3.6-motoko-lvl3.mdx index 417aaa827b..1381c7e081 100644 --- a/docs/tutorials/developer-journey/level-3/3.6-motoko-lvl3.mdx +++ b/docs/tutorials/developer-journey/level-3/3.6-motoko-lvl3.mdx @@ -640,7 +640,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-4/4.1-icp-ledger.mdx b/docs/tutorials/developer-journey/level-4/4.1-icp-ledger.mdx index b15fe0ce6b..1de4aa6288 100644 --- a/docs/tutorials/developer-journey/level-4/4.1-icp-ledger.mdx +++ b/docs/tutorials/developer-journey/level-4/4.1-icp-ledger.mdx @@ -348,7 +348,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-4/4.2-icrc-tokens.mdx b/docs/tutorials/developer-journey/level-4/4.2-icrc-tokens.mdx index 3edcdd6ce0..a23fdeb212 100644 --- a/docs/tutorials/developer-journey/level-4/4.2-icrc-tokens.mdx +++ b/docs/tutorials/developer-journey/level-4/4.2-icrc-tokens.mdx @@ -511,7 +511,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-4/4.3-ckbtc-and-bitcoin.mdx b/docs/tutorials/developer-journey/level-4/4.3-ckbtc-and-bitcoin.mdx index 7acc981d66..38d44f0ecb 100644 --- a/docs/tutorials/developer-journey/level-4/4.3-ckbtc-and-bitcoin.mdx +++ b/docs/tutorials/developer-journey/level-4/4.3-ckbtc-and-bitcoin.mdx @@ -362,7 +362,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-4/4.4-nns-governance.mdx b/docs/tutorials/developer-journey/level-4/4.4-nns-governance.mdx index c1263b3ff6..c50a3b4068 100644 --- a/docs/tutorials/developer-journey/level-4/4.4-nns-governance.mdx +++ b/docs/tutorials/developer-journey/level-4/4.4-nns-governance.mdx @@ -305,7 +305,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-4/4.5-using-quill.mdx b/docs/tutorials/developer-journey/level-4/4.5-using-quill.mdx index 811d8d9991..35f5ba8437 100644 --- a/docs/tutorials/developer-journey/level-4/4.5-using-quill.mdx +++ b/docs/tutorials/developer-journey/level-4/4.5-using-quill.mdx @@ -457,7 +457,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-4/4.6-motoko-lvl4.mdx b/docs/tutorials/developer-journey/level-4/4.6-motoko-lvl4.mdx index 9b1294ef31..6a306ce0eb 100644 --- a/docs/tutorials/developer-journey/level-4/4.6-motoko-lvl4.mdx +++ b/docs/tutorials/developer-journey/level-4/4.6-motoko-lvl4.mdx @@ -641,7 +641,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-5/5.1-vetKeys-tutorial.mdx b/docs/tutorials/developer-journey/level-5/5.1-vetKeys-tutorial.mdx index e44b24c627..15aa03d90e 100644 --- a/docs/tutorials/developer-journey/level-5/5.1-vetKeys-tutorial.mdx +++ b/docs/tutorials/developer-journey/level-5/5.1-vetKeys-tutorial.mdx @@ -780,7 +780,7 @@ Then, you can see the note has been saved in the 'Your notes' section: - [The first Community Conversation](https://youtu.be/baM6jHnmMq8). -- [vetKeys primer blog post](ttps://internetcomputer.org/blog/features/vetkey-primer). +- [vetKeys primer blog post](https://internetcomputer.org/blog/features/vetkey-primer). - [vetKeys research paper](https://eprint.iacr.org/2023/616.pdf). @@ -807,7 +807,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-5/5.2-ICP-ETH-tutorial.mdx b/docs/tutorials/developer-journey/level-5/5.2-ICP-ETH-tutorial.mdx index 4156d4d955..16c6e83584 100644 --- a/docs/tutorials/developer-journey/level-5/5.2-ICP-ETH-tutorial.mdx +++ b/docs/tutorials/developer-journey/level-5/5.2-ICP-ETH-tutorial.mdx @@ -377,7 +377,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-5/5.3-token-swap-tutorial.mdx b/docs/tutorials/developer-journey/level-5/5.3-token-swap-tutorial.mdx index c18f873932..3cb68ccaf7 100644 --- a/docs/tutorials/developer-journey/level-5/5.3-token-swap-tutorial.mdx +++ b/docs/tutorials/developer-journey/level-5/5.3-token-swap-tutorial.mdx @@ -828,7 +828,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-5/5.4-NFT-tutorial.mdx b/docs/tutorials/developer-journey/level-5/5.4-NFT-tutorial.mdx index 0fa48340e9..3b994efeae 100644 --- a/docs/tutorials/developer-journey/level-5/5.4-NFT-tutorial.mdx +++ b/docs/tutorials/developer-journey/level-5/5.4-NFT-tutorial.mdx @@ -593,7 +593,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-5/5.5-auction-tutorial.mdx b/docs/tutorials/developer-journey/level-5/5.5-auction-tutorial.mdx index 93dbb9dbe9..4de9493fde 100644 --- a/docs/tutorials/developer-journey/level-5/5.5-auction-tutorial.mdx +++ b/docs/tutorials/developer-journey/level-5/5.5-auction-tutorial.mdx @@ -390,7 +390,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-5/5.6-next-steps.mdx b/docs/tutorials/developer-journey/level-5/5.6-next-steps.mdx index 31e72e963a..7f54573111 100644 --- a/docs/tutorials/developer-journey/level-5/5.6-next-steps.mdx +++ b/docs/tutorials/developer-journey/level-5/5.6-next-steps.mdx @@ -106,4 +106,4 @@ Several of ICP's repositories are open-source, and external contributions are en - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). diff --git a/roadmap/roadmap.json b/roadmap/roadmap.json index a2341fa69a..986f2844bd 100644 --- a/roadmap/roadmap.json +++ b/roadmap/roadmap.json @@ -2373,6 +2373,48 @@ "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", diff --git a/src/components/Common/sampleItems.ts b/src/components/Common/sampleItems.ts index c54901efea..1bd4d013f7 100644 --- a/src/components/Common/sampleItems.ts +++ b/src/components/Common/sampleItems.ts @@ -265,7 +265,7 @@ export const sampleItems: SampleItem[] = [ }, motoko: "https://github.com/dfinity/examples/tree/master/motoko/send_http_get", - docs: "docs/current/developer-docs/smart-contracts/advanced-features/https-outcalls/https-outcalls-how-to-use", + docs: "/docs/current/developer-docs/smart-contracts/advanced-features/https-outcalls/https-outcalls-how-to-use", rust: "https://github.com/dfinity/examples/tree/master/rust/send_http_get", }, }, From 206ae0bf5bfbba4f8d91af8e48c5e338379f1520 Mon Sep 17 00:00:00 2001 From: rvanasa Date: Wed, 4 Dec 2024 09:03:05 -0800 Subject: [PATCH 3/7] Relax validation errors --- plugins/remark/validate-links.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/plugins/remark/validate-links.js b/plugins/remark/validate-links.js index e7c11d18cd..0a987fc79f 100644 --- a/plugins/remark/validate-links.js +++ b/plugins/remark/validate-links.js @@ -2,7 +2,7 @@ const visit = require("unist-util-visit"); -function isValidLink(url) { +function isExpectedLink(url) { return ( url.startsWith("https://") || url.startsWith("http://localhost") || @@ -20,11 +20,15 @@ module.exports = function validateLinks() { return async (ast) => { visit(ast, "link", (node) => { const url = node.url; - if (!isValidLink(url)) { + if (!url.startsWith("docs/developer-docs/")) { throw new Error( - `Unexpected link: \`${url}\``, - node.position, - "validate-links" + `Link requires a leading \`/\` character: \`${url}\` (plugins/remark/validate-links.js)` + ); + } + if (!isExpectedLink(url)) { + console.warn( + `Unexpected link: \`${url}\` (plugins/remark/validate-links.js)`, + node.position ); } }); From 29b2ce90ec5db52387da4e64331c26f8cc11133b Mon Sep 17 00:00:00 2001 From: rvanasa Date: Wed, 4 Dec 2024 09:17:39 -0800 Subject: [PATCH 4/7] Fix --- plugins/remark/validate-links.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/remark/validate-links.js b/plugins/remark/validate-links.js index 0a987fc79f..6291b55afc 100644 --- a/plugins/remark/validate-links.js +++ b/plugins/remark/validate-links.js @@ -20,7 +20,7 @@ module.exports = function validateLinks() { return async (ast) => { visit(ast, "link", (node) => { const url = node.url; - if (!url.startsWith("docs/developer-docs/")) { + if (url.startsWith("docs/developer-docs/")) { throw new Error( `Link requires a leading \`/\` character: \`${url}\` (plugins/remark/validate-links.js)` ); From 32f56360847c931614dfaa21b531d89626cb9a23 Mon Sep 17 00:00:00 2001 From: rvanasa Date: Wed, 4 Dec 2024 09:33:22 -0800 Subject: [PATCH 5/7] Update link --- plugins/remark/validate-links.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/remark/validate-links.js b/plugins/remark/validate-links.js index 6291b55afc..c7fb6f2022 100644 --- a/plugins/remark/validate-links.js +++ b/plugins/remark/validate-links.js @@ -27,8 +27,7 @@ module.exports = function validateLinks() { } if (!isExpectedLink(url)) { console.warn( - `Unexpected link: \`${url}\` (plugins/remark/validate-links.js)`, - node.position + `Unexpected link: \`${url}\` (plugins/remark/validate-links.js)` ); } }); From a64dd37923db1a030d07594f0c961510c1876edf Mon Sep 17 00:00:00 2001 From: rvanasa Date: Wed, 4 Dec 2024 09:34:46 -0800 Subject: [PATCH 6/7] Actually update link --- docs/other/updates/release-notes/0.9.2-rn.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/other/updates/release-notes/0.9.2-rn.md b/docs/other/updates/release-notes/0.9.2-rn.md index 985da806d0..0a29147c98 100644 --- a/docs/other/updates/release-notes/0.9.2-rn.md +++ b/docs/other/updates/release-notes/0.9.2-rn.md @@ -2,7 +2,7 @@ An overview of the 0.9.2 release: -Be sure to see the [0.9.0 Release Notes](/docs/other/updates/release-notes/0.9.0-rn) and follow the instructions due to breaking changes since dfx 0.8.4. +Be sure to see the [0.9.0 Release Notes](./0.9.0-rn) and follow the instructions due to breaking changes since dfx 0.8.4. ## Changes to DFX From c9e38ad76583b34ed17dc8006e56b0b7d234da5f Mon Sep 17 00:00:00 2001 From: rvanasa Date: Wed, 4 Dec 2024 09:52:49 -0800 Subject: [PATCH 7/7] More adjustments --- docs/developer-docs/web-apps/custom-domains/dns-setup.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/developer-docs/web-apps/custom-domains/dns-setup.mdx b/docs/developer-docs/web-apps/custom-domains/dns-setup.mdx index 63eafc6d70..d5ab678687 100644 --- a/docs/developer-docs/web-apps/custom-domains/dns-setup.mdx +++ b/docs/developer-docs/web-apps/custom-domains/dns-setup.mdx @@ -58,7 +58,7 @@ The resulting configuration should look similar to the following screenshot: ![DNS Configuration for `example.ic-domain.live` on Namecheap](namecheap-subdomain.png) -Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](/docs/developer-docs/web-apps/custom-domains/using-custom-domains#custom-domains-on-the-boundary-nodes). +Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](./using-custom-domains#custom-domains-on-the-boundary-nodes). ## GoDaddy @@ -171,7 +171,7 @@ The resulting configuration should look similar to the following screenshot: ![DNS Configuration for `example.ic-domain.live` on GoDaddy](godaddy-subdomain.png) -Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](/docs/developer-docs/web-apps/custom-domains/using-custom-domains#custom-domains-on-the-boundary-nodes). +Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](./using-custom-domains#custom-domains-on-the-boundary-nodes). ## Amazon Route 53 @@ -201,4 +201,4 @@ The resulting configuration should look similar to the following screenshot: ![DNS Configuration for `example.ic-domain.live` on Amazon Route 53](route53-subdomain.png) -Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](/docs/developer-docs/web-apps/custom-domains/using-custom-domains#custom-domains-on-the-boundary-nodes). +Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](./using-custom-domains#custom-domains-on-the-boundary-nodes).