Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/build-on-btc/runes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Creating a Rune is done through a process called 'etching,' which refers to subm

## Runes on ICP

Canisters deployed on ICP can sign and submit transactions directly to the Bitcoin network through ICP's Bitcoin integration) and [threshold signatures](/references/t-sigs-how-it-works). Specifically, for a canister to etch Runes, it must sign transactions using [threshold Schnorr signatures](/references/t-sigs-how-it-works#deuterium-schnorr-release-beta) and have a [Bitcoin taproot address](/building-apps/chain-fusion/bitcoin/using-btc/generate-addresses#generating-addresses-with-threshold-schnorr).
Canisters deployed on ICP can sign and submit transactions directly to the Bitcoin network through ICP's Bitcoin integration) and [threshold signatures](/references/t-sigs-how-it-works). Specifically, for a canister to etch Runes, it must sign transactions using [threshold Schnorr signatures](/references/t-sigs-how-it-works#deuterium-schnorr-release-beta) and have a [Bitcoin taproot address](/build-on-btc/btc-transactions/generate-addresses#generating-addresses-with-threshold-schnorr).

## Etching and minting Runes

Expand Down
2 changes: 1 addition & 1 deletion docs/building-apps/essentials/gas-cost.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ Certain network features incur a special cost based on the feature’s unique in

- [**Chain-key signing API**](/references/t-sigs-how-it-works/): Threshold signatures, including threshold ECDSA and threshold Schnorr.

- [**EVM RPC canister**](/building-apps/chain-fusion/ethereum/overview)
- [**EVM RPC canister**](/defi/chain-fusion/ethereum/overview)


## Errors related to cycles
Expand Down
4 changes: 2 additions & 2 deletions docs/building-apps/essentials/network-overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { GlossaryTooltip } from "/src/components/Tooltip/GlossaryTooltip";
**The Internet Computer is the first "World Computer" network. It enables you to build web applications and internet services using a 100% decentralized platform without Big Tech and traditional IT. While traditional blockchains struggle to store a single phone photo onchain, ICP already hosts social networks, multiple ledgers, AI, and much more, fully onchain.**


It is designed to give applications near-native performance and scalability while maintaining the security of decentralized execution. [Smart contracts](/building-apps/essentials/canisters) on ICP can [host web assets](/building-apps/frontends/uploading-serving-assets), [hold tokens](/defi/create), and serve HTTP requests from users. They can also interact with [RPC nodes](/building-apps/chain-fusion/ethereum/evm-rpc/overview) on other blockchains and Web2 servers through secure [HTTP requests](/building-apps/network-features/using-http/https-outcalls/overview), seamlessly and securely integrating with other ecosystems.
It is designed to give applications near-native performance and scalability while maintaining the security of decentralized execution. [Smart contracts](/building-apps/essentials/canisters) on ICP can [host web assets](/building-apps/frontends/uploading-serving-assets), [hold tokens](/defi/create), and serve HTTP requests from users. They can also interact with [RPC nodes](/defi/chain-fusion/ethereum/evm-rpc/overview) on other blockchains and Web2 servers through secure [HTTP requests](/building-apps/network-features/using-http/https-outcalls/overview), seamlessly and securely integrating with other ecosystems.

## Subnets

Expand Down Expand Up @@ -49,7 +49,7 @@ Chain-key cryptography is a suite of cryptographic mechanisms that facilitate ma

Nodes can collectively sign messages to users and other subnets using these secret shares. This makes validation of the state and results trivial for users, since all they need to do is verify the digital signature against the fixed public key.

[Chain-key signatures](/defi/chain-key-tokens/overview) are another component of chain-key cryptography that allows smart contracts to sign transactions targeted specifically at other blockchain networks like [Bitcoin](/build-on-btc/) and [Ethereum](/building-apps/chain-fusion/ethereum/overview). These transactions are submitted directly to the target chains without needing a bridge or oracle to facilitate the communication.
[Chain-key signatures](/defi/chain-key-tokens/overview) are another component of chain-key cryptography that allows smart contracts to sign transactions targeted specifically at other blockchain networks like [Bitcoin](/build-on-btc/) and [Ethereum](/defi/chain-fusion/ethereum/overview). These transactions are submitted directly to the target chains without needing a bridge or oracle to facilitate the communication.

[Learn more about chain-key cryptography](https://learn.internetcomputer.org/hc/en-us/articles/34209497587732-Chain-Key-Signatures).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Canisters can make a request to a URL using [HTTPS outcalls](https://internetcom

HTTPS outcalls enable a wide range of applications. For example, oracle services can directly integrate with ICP in a trustless manner, and dapps can provide user notifications or anything else that requires communication with servers on the Internet.

Some examples of onchain oracle-like services that obtain data from off-chain sources through HTTP outcalls include the [EVM RPC canister](/building-apps/chain-fusion/ethereum/evm-rpc/overview), the [exchange rate canister](/references/system-canisters/) and the [Orally dapp](https://kclew-uiaaa-aaaal-qbuiq-cai.ic0.app/sybil).
Some examples of onchain oracle-like services that obtain data from off-chain sources through HTTP outcalls include the [EVM RPC canister](/defi/chain-fusion/ethereum/evm-rpc/overview), the [exchange rate canister](/references/system-canisters/) and the [Orally dapp](https://kclew-uiaaa-aaaal-qbuiq-cai.ic0.app/sybil).

## How it works

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -763,7 +763,7 @@ dfx canister call evm_rpc eth_feeHistory "(variant {$RPC_SOURCE}, $RPC_CONFIG, r

## Send a raw transaction

The EVM RPC canister can also be used to send raw transactions to the Ethereum and other EVM-compatible chains. Examples for using the EVM RPC canister can be found below, or you can view the [documentation for sending a raw ETH transaction](/building-apps/chain-fusion/ethereum/using-eth/submit-transactions).
The EVM RPC canister can also be used to send raw transactions to the Ethereum and other EVM-compatible chains. Examples for using the EVM RPC canister can be found below, or you can view the [documentation for sending a raw ETH transaction](/defi/chain-fusion/ethereum/using-eth/submit-transactions).

<AdornedTabs groupId="languages">
<TabItem value="motoko" label="Motoko" default>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ This enables functionality similar to traditional Ethereum dapps, including quer

Beyond the Ethereum blockchain, this canister also has partial support for Polygon, Avalanche, and other popular EVM networks. Check out [ChainList.org](https://chainlist.org/?testnets=true) for an extensive list of compatible networks and RPC providers.

You can [learn how to use the EVM RPC canister](/building-apps/chain-fusion/ethereum/evm-rpc/evm-rpc-canister).
You can [learn how to use the EVM RPC canister](/defi/chain-fusion/ethereum/evm-rpc/evm-rpc-canister).

## ckETH

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ To interact with the Ethereum network or another EVM-compatible network, a devel

2. [Sign a transaction](./signing-transactions.mdx): Next, a transaction must be signed before it can be submitted to the Ethereum network and executed. Transactions are signed using [threshold ECDSA](/references/t-sigs-how-it-works/), a novel protocol as part of ICP's chain-key signatures suite.

3. [Submit a transaction](./submit-transactions.mdx): Signed raw transactions can be submitted using the EVM RPC canister's RPC method `eth_sendRawTransaction`. Code examples for sending transactions can be found in the [EVM RPC canister](/building-apps/chain-fusion/ethereum/evm-rpc/evm-rpc-canister) documentation.
3. [Submit a transaction](./submit-transactions.mdx): Signed raw transactions can be submitted using the EVM RPC canister's RPC method `eth_sendRawTransaction`. Code examples for sending transactions can be found in the [EVM RPC canister](/defi/chain-fusion/ethereum/evm-rpc/evm-rpc-canister) documentation.

4. [Read information from the Ethereum network](/building-apps/chain-fusion/ethereum/evm-rpc/evm-rpc-canister): Information from the Ethereum network can be queried using RPC methods such as:
4. [Read information from the Ethereum network](/defi/chain-fusion/ethereum/evm-rpc/evm-rpc-canister): Information from the Ethereum network can be queried using RPC methods such as:

- `eth_getBlockByNumber`: Returns information about a given block.

Expand All @@ -37,9 +37,9 @@ To interact with the Ethereum network or another EVM-compatible network, a devel

- `eth_getLogs`: Returns the logs of a specified block or transaction.

Each of these steps can be executed programmatically within a smart contract that is deployed on ICP. View the [EVM RPC canister](/building-apps/chain-fusion/ethereum/evm-rpc/evm-rpc-canister) documentation to see code examples for each RPC method.
Each of these steps can be executed programmatically within a smart contract that is deployed on ICP. View the [EVM RPC canister](/defi/chain-fusion/ethereum/evm-rpc/evm-rpc-canister) documentation to see code examples for each RPC method.

Additional sample projects can be found in the [EVM RPC](/building-apps/chain-fusion/ethereum/evm-rpc/evm-rpc-canister) canister documentation.
Additional sample projects can be found in the [EVM RPC](/defi/chain-fusion/ethereum/evm-rpc/evm-rpc-canister) canister documentation.

## Integrating with Ethereum

Expand All @@ -59,7 +59,7 @@ ckERC20 tokens, such as [ckUSDC](https://dashboard.internetcomputer.org/ethereum

## Resources

- [EVM RPC canister](/building-apps/chain-fusion/ethereum/evm-rpc/evm-rpc-canister).
- [EVM RPC canister](/defi/chain-fusion/ethereum/evm-rpc/evm-rpc-canister).

- [Generating addresses](./generating-addresses.mdx).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ RPC_CONFIG=null
dfx canister call evm_rpc eth_sendRawTransaction "(variant {$RPC_SOURCE}, $RPC_CONFIG, \"0xf86c098504a817c800825208943535353535353535353535353535353535353535880de0b6b3a76400008025a028ef61340bd939bc2195fe537567866003e1a15d3c71ff63e1590620aa636276a067cbe9d8997f761aecb703304b3800ccf555c9f3dc64214b297fb1966a3b6d83\")" --with-cycles=$CYCLES --wallet=$WALLET
```

[Learn more about the EVM RPC canister](/building-apps/chain-fusion/ethereum/evm-rpc/evm-rpc-canister).
[Learn more about the EVM RPC canister](/defi/chain-fusion/ethereum/evm-rpc/evm-rpc-canister).

## Resources

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ This page highlights both DFINITY-contributed and community-contributed tooling

## Ethereum & EVM examples

[Learn more about the Ethereum integration](/building-apps/chain-fusion/ethereum/overview).
[Learn more about the Ethereum integration](/defi/chain-fusion/ethereum/overview).

- [Bitfinity EVM](https://bitfinity.network): An implementation of the Ethereum Virtual Machine (EVM) on ICP.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,7 @@ There are several building blocks available to augment non-ICP smart contracts w

- **Chain-key tokens**: Using the primitives described above, DFINITY has built canisters implementing the [ICRC-2](https://github.com/dfinity/ICRC) token standard to represent native Bitcoin, Ethereum, and ERC-20 tokens on ICP: [ckBTC](/defi/chain-key-tokens/ckbtc/overview), [ckETH](/defi/chain-key-tokens/cketh/overview), and [ckERC20](/defi/chain-key-tokens/ckerc20/overview). These tokens are digital twins of their corresponding native token and are backed 1:1 by the native assets which are managed 100% onchain through a canister smart contract without any intermediaries.

- **[EVM RPC canister](/building-apps/chain-fusion/ethereum/evm-rpc/evm-rpc-canister)**: A canister smart contract providing an onchain API for communicating with [Ethereum](https://ethereum.org/en/) or any other [EVM blockchain](https://chainlist.org/?testnets=true).
- **[EVM RPC canister](/defi/chain-fusion/ethereum/evm-rpc/evm-rpc-canister)**: A canister smart contract providing an onchain API for communicating with [Ethereum](https://ethereum.org/en/) or any other [EVM blockchain](https://chainlist.org/?testnets=true).

- **[Threshold signatures](/references/t-sigs-how-it-works)**: An ICP service implementing the threshold ECDSA and threshold Schnorr protocols.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ but they are supported in the same way as Ethereum through the EVM RPC canister.
| Bitcoin | [ECDSA, Schnorr](/build-on-btc/btc-transactions/generate-addresses) | Direct | [ckBTC](/defi/chain-key-tokens/ckbtc/overview) | |
| Cardano | ECDSA, EdDSA, Schnorr | [RPC via HTTPS outcalls](/building-apps/network-features/using-http/https-outcalls/overview) | |
| Cosmos | [ECDSA, EdDSA](https://docs.cosmos.network/v0.50/learn/beginner/accounts) | [RPC via HTTPS outcalls](/building-apps/network-features/using-http/https-outcalls/overview) | |
| Dogecoin | [ECDSA](https://dfinity.github.io/dogecoin-canister) | [Direct](/building-apps/chain-fusion/dogecoin/overview) | ckDOGE (upcoming) |
| Ethereum | [ECDSA](/building-apps/chain-fusion/ethereum/using-eth/generating-addresses) | [EVM RPC](/building-apps/chain-fusion/ethereum/evm-rpc/overview.mdx), [ic-web3-rs](https://github.com/horizonx-tech/ic-web3-rs) | [ckETH](/defi/chain-key-tokens/cketh/overview), [ckERC20](/defi/chain-key-tokens/ckerc20/overview) |
| Dogecoin | [ECDSA](https://dfinity.github.io/dogecoin-canister) | [Direct](/defi/chain-fusion/dogecoin/overview) | ckDOGE (upcoming) |
| Ethereum | [ECDSA](/defi/chain-fusion/ethereum/using-eth/generating-addresses) | [EVM RPC](/defi/chain-fusion/ethereum/evm-rpc/overview.mdx), [ic-web3-rs](https://github.com/horizonx-tech/ic-web3-rs) | [ckETH](/defi/chain-key-tokens/cketh/overview), [ckERC20](/defi/chain-key-tokens/ckerc20/overview) |
| Filecoin | [ECDSA](https://spec.filecoin.io/algorithms/crypto/signatures/)| [RPC via HTTPS outcalls](/building-apps/network-features/using-http/https-outcalls/overview) | |
| Hedera | [ECDSA, EdDSA](https://docs.hedera.com/hedera/core-concepts/keys-and-signatures)| [RPC via HTTPS outcalls](/building-apps/network-features/using-http/https-outcalls/overview) | |
| Kaspa | [ECDSA](https://github.com/kaspanet/go-secp256k1/blob/master/ecdsa_privkey.go) | [RPC via HTTPS outcalls](/building-apps/network-features/using-http/https-outcalls/overview) | |
Expand Down
2 changes: 1 addition & 1 deletion docs/defi/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { GlossaryTooltip } from "/src/components/Tooltip/GlossaryTooltip";

<MarkdownChipRow labels={["Beginner", "Tokens"]} />

The Internet Computer Protocol is positioned as an appealing DeFi platform thanks to its unique [chain-key signatures](https://learn.internetcomputer.org/hc/en-us/articles/34209486239252-Chain-Key-Cryptography) and [ability to communicate directly with other blockchain networks](/building-apps/chain-fusion/overview).
The Internet Computer Protocol is positioned as an appealing DeFi platform thanks to its unique [chain-key signatures](https://learn.internetcomputer.org/hc/en-us/articles/34209486239252-Chain-Key-Cryptography) and [ability to communicate directly with other blockchain networks](/defi/chain-fusion/overview).

Using chain-key signatures, canisters can sign and submit transactions directly on other blockchains, hold assets, and seamlessly swap between tokens like BTC and ETH and their chain-key counterparts, ckBTC and ckETH.

Expand Down
61 changes: 61 additions & 0 deletions docs/defi/sidebar.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,67 @@ const defiSidebar = [
},
"defi/token-indexes/index",
"defi/defi-best-practices",
{
type: "category",
label: "Chain Fusion",
link: {
type: "doc",
id: "defi/chain-fusion/overview",
},
items: [
"defi/chain-fusion/supported-chains",
{
type: "doc",
label: "Bitcoin",
id: "build-on-btc/index",
},
{
type: "doc",
label: "Dogecoin",
id: "defi/chain-fusion/dogecoin/overview",
},
{
type: "category",
label: "Ethereum & EVM chains",
link: {
type: "doc",
id: "defi/chain-fusion/ethereum/overview",
},
items: [
"defi/chain-fusion/ethereum/using-eth/eth-comparison",
"defi/chain-fusion/ethereum/using-eth/eth-dev-workflow",
{
type: "category",
label: "Interacting with Ethereum",
items: [
"defi/chain-fusion/ethereum/using-eth/generating-addresses",
"defi/chain-fusion/ethereum/using-eth/signing-transactions",
"defi/chain-fusion/ethereum/using-eth/submit-transactions",
],
},
{
type: "category",
label: "EVM RPC canister",
link: {
type: "doc",
id: "defi/chain-fusion/ethereum/evm-rpc/overview",
},
items: [
"defi/chain-fusion/ethereum/evm-rpc/how-it-works",
"defi/chain-fusion/ethereum/evm-rpc/evm-rpc-canister",
"defi/chain-fusion/ethereum/evm-rpc/costs",
],
},
],
},
{
type: "doc",
label: "Solana",
id: "defi/chain-fusion/solana/overview",
},
"defi/chain-fusion/examples",
],
},
{
type: "category",
label: "Chain-key tokens",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -232,13 +232,13 @@ Some JSON-RPC APIs may only return a `NonceTooLow` status when successfully subm

- [View the full Github repo for this starter project](https://github.com/rvanasa/vite-react-motoko/tree/evm-rpc).

- [How it works: EVM RPC canister](/building-apps/chain-fusion/ethereum/evm-rpc/how-it-works).
- [How it works: EVM RPC canister](/defi/chain-fusion/ethereum/evm-rpc/how-it-works).

- [Using the EVM RPC canister](/building-apps/chain-fusion/ethereum/evm-rpc/evm-rpc-canister).
- [Using the EVM RPC canister](/defi/chain-fusion/ethereum/evm-rpc/evm-rpc-canister).

- [Costs of RPC requests](/building-apps/chain-fusion/ethereum/evm-rpc/costs).
- [Costs of RPC requests](/defi/chain-fusion/ethereum/evm-rpc/costs).

- [Samples using the EVM RPC canister](/building-apps/chain-fusion/ethereum/evm-rpc/evm-rpc-canister).
- [Samples using the EVM RPC canister](/defi/chain-fusion/ethereum/evm-rpc/evm-rpc-canister).

import TutorialFooter from "@site/src/components/TutorialFooter/";

Expand Down
1 change: 1 addition & 0 deletions plugins/utils/redirects.js
Original file line number Diff line number Diff line change
Expand Up @@ -485,6 +485,7 @@ const redirects = `
/current/developer-docs/defi/nfts/overview https://internetcomputer.zendesk.com/hc/en-us
/current/developer-docs/defi/overview /defi/overview
/current/developer-docs/defi/token_integrations/ /defi/overview
/building-apps/chain-fusion/* /defi/chain-fusion/:splat

## Rosetta
/current/developer-docs/defi/rosetta/overview /defi/rosetta/icp_rosetta/
Expand Down
Loading
Loading