Skip to content

Commit

Permalink
update links to avoid redirects
Browse files Browse the repository at this point in the history
  • Loading branch information
eshaben committed Oct 2, 2024
1 parent 789ec26 commit 0adc44c
Show file tree
Hide file tree
Showing 36 changed files with 145 additions and 145 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
For example, to move DOT to Moonbeam, the following XCM instructions are used:

1. [`TransferReserveAsset`](/builders/interoperability/xcm/core-concepts/instructions#transfer-reserve-asset){target=\_blank} - gets executed in Polkadot. Assets are transferred from the origin account and deposited into Moonbeam's Sovereign account on Polkadot
2. [`ReserveAssetDeposited`](/builders/interoperability/xcm/core-concepts/instructions#reserve-asset-deposited){target=\_blank} - gets executed in Moonbeam. Mints the DOT representation on Moonbeam, called xcDOT
3. [`ClearOrigin`](/builders/interoperability/xcm/core-concepts/instructions#clear-origin){target=\_blank} - gets executed in Moonbeam. Clears origin information, which was Polkadot's Sovereign account on Moonbeam
4. [`BuyExecution`](/builders/interoperability/xcm/core-concepts/instructions#buy-execution){target=\_blank} - gets executed in Moonbeam. As such, execution fees are determined by Moonbeam. In this particular scenario, part of the minted xcDOT is used to pay for XCM execution
5. [`DepositAsset`](/builders/interoperability/xcm/core-concepts/instructions#deposit-asset){target=\_blank} - gets executed in Moonbeam. Ultimately, it sends assets to a destination account on Moonbeam
1. [`TransferReserveAsset`](/builders/interoperability/xcm/core-concepts/instructions/#transfer-reserve-asset){target=\_blank} - gets executed in Polkadot. Assets are transferred from the origin account and deposited into Moonbeam's Sovereign account on Polkadot
2. [`ReserveAssetDeposited`](/builders/interoperability/xcm/core-concepts/instructions/#reserve-asset-deposited){target=\_blank} - gets executed in Moonbeam. Mints the DOT representation on Moonbeam, called xcDOT
3. [`ClearOrigin`](/builders/interoperability/xcm/core-concepts/instructions/#clear-origin){target=\_blank} - gets executed in Moonbeam. Clears origin information, which was Polkadot's Sovereign account on Moonbeam
4. [`BuyExecution`](/builders/interoperability/xcm/core-concepts/instructions/#buy-execution){target=\_blank} - gets executed in Moonbeam. As such, execution fees are determined by Moonbeam. In this particular scenario, part of the minted xcDOT is used to pay for XCM execution
5. [`DepositAsset`](/builders/interoperability/xcm/core-concepts/instructions/#deposit-asset){target=\_blank} - gets executed in Moonbeam. Ultimately, it sends assets to a destination account on Moonbeam
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
To move xcDOT from Moonbeam back to Polkadot, the instructions that are used are:

1. [`WithdrawAsset`](/builders/interoperability/xcm/core-concepts/instructions#withdraw-asset){target=\_blank} - gets executed in Moonbeam. Takes the funds from the sender
2. [`InitiateReserveWithdraw`](/builders/interoperability/xcm/core-concepts/instructions#initiate-reserve-withdraw){target=\_blank} - gets executed in Moonbeam. Burns the funds while sending an XCM message to the destination chain to execute the remainder of the token transfer
3. [`WithdrawAsset`](/builders/interoperability/xcm/core-concepts/instructions#withdraw-asset){target=\_blank} - gets executed in Polkadot. Takes the funds from Moonbeam's Sovereign account on Polkadot
4. [`ClearOrigin`](/builders/interoperability/xcm/core-concepts/instructions#clear-origin){target=\_blank} - gets executed in Polkadot. Clears origin information, which was Moonbeam's Sovereign account on Moonbeam
5. [`BuyExecution`](/builders/interoperability/xcm/core-concepts/instructions#buy-execution){target=\_blank} - gets executed in Polkadot. As such, Polkadot determines the execution fees. In this scenario, part of the DOTs being sent are used to pay for the execution of the XCM
6. [`DepositAsset`](/builders/interoperability/xcm/core-concepts/instructions#deposit-asset){target=\_blank} - gets executed in Polkadot. Ultimately, it sends assets to a destination account on Polkadot
1. [`WithdrawAsset`](/builders/interoperability/xcm/core-concepts/instructions/#withdraw-asset){target=\_blank} - gets executed in Moonbeam. Takes the funds from the sender
2. [`InitiateReserveWithdraw`](/builders/interoperability/xcm/core-concepts/instructions/#initiate-reserve-withdraw){target=\_blank} - gets executed in Moonbeam. Burns the funds while sending an XCM message to the destination chain to execute the remainder of the token transfer
3. [`WithdrawAsset`](/builders/interoperability/xcm/core-concepts/instructions/#withdraw-asset){target=\_blank} - gets executed in Polkadot. Takes the funds from Moonbeam's Sovereign account on Polkadot
4. [`ClearOrigin`](/builders/interoperability/xcm/core-concepts/instructions/#clear-origin){target=\_blank} - gets executed in Polkadot. Clears origin information, which was Moonbeam's Sovereign account on Moonbeam
5. [`BuyExecution`](/builders/interoperability/xcm/core-concepts/instructions/#buy-execution){target=\_blank} - gets executed in Polkadot. As such, Polkadot determines the execution fees. In this scenario, part of the DOTs being sent are used to pay for the execution of the XCM
6. [`DepositAsset`](/builders/interoperability/xcm/core-concepts/instructions/#deposit-asset){target=\_blank} - gets executed in Polkadot. Ultimately, it sends assets to a destination account on Polkadot
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ The default [Frontier](/learn/platform/technology/#frontier){target=\_blank} dat

To spin up a node with a Frontier SQL backend, you'll need to add the `--frontier-backend-type sql` flag to your start-up command.

There are additional flags you can use to configure the pool size, query timeouts, and more for your SQL backend; please refer to the [Flags](/node-operators/networks/run-a-node/flags#flags-for-sql-backend){target=\_blank} page for more information.
There are additional flags you can use to configure the pool size, query timeouts, and more for your SQL backend; please refer to the [Flags](/node-operators/networks/run-a-node/flags/#flags-for-sql-backend){target=\_blank} page for more information.
2 changes: 1 addition & 1 deletion builders/ethereum/dev-env/hardhat.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Please note that although Hardhat comes with a [Hardhat Network](https://hardhat

To get started, you will need the following:

- Have [MetaMask installed](/tokens/connect/metamask#install-the-metamask-extension){target=\_blank} and [connected to Moonbase Alpha](/tokens/connect/metamask#connect-metamask-to-moonbeam){target=\_blank}
- Have [MetaMask installed](/tokens/connect/metamask/#install-the-metamask-extension){target=\_blank} and [connected to Moonbase Alpha](/tokens/connect/metamask/#connect-metamask-to-moonbeam){target=\_blank}
- Have an account with funds.
--8<-- 'text/_common/faucet/faucet-list-item.md'
-
Expand Down
4 changes: 2 additions & 2 deletions builders/ethereum/dev-env/remix.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ If you followed the guides above, you should have a local Moonbeam node, which w

![The terminal logs of for a local Moonbeam development node that is producing blocks.](/images/builders/ethereum/dev-env/remix/remix-1.webp)

Your development node comes with 10 pre-funded accounts. You should have MetaMask connected to your Moonbeam development node and have imported at least one of the pre-funded accounts. You can refer to the [Import Accounts](/tokens/connect/metamask#import-accounts){target=\_blank} section of the MetaMask docs for step-by-step instructions on how to import a development account.
Your development node comes with 10 pre-funded accounts. You should have MetaMask connected to your Moonbeam development node and have imported at least one of the pre-funded accounts. You can refer to the [Import Accounts](/tokens/connect/metamask/#import-accounts){target=\_blank} section of the MetaMask docs for step-by-step instructions on how to import a development account.

![The main screen of MetaMask, which shows an account connected to a Moonbeam development node and its balance.](/images/builders/ethereum/dev-env/remix/remix-2.webp)

Expand Down Expand Up @@ -181,6 +181,6 @@ On the other hand, if you call the `approve` function, which will approve an acc

![The inputs for the approve function of the ERC-20 contract and the MetaMask pop-up for the approval.](/images/builders/ethereum/dev-env/remix/remix-14.webp)

To view your balance or approvals, or transfer MYTOKs, you can add the MYTOK to your wallet. For information on how to add a token to MetaMask, you can refer to the [Add an ERC-20 Token](/tokens/connect/metamask#add-erc20){target=\_blank} section of [our MetaMask documentation](/tokens/connect/metamask/){target=\_blank}.
To view your balance or approvals, or transfer MYTOKs, you can add the MYTOK to your wallet. For information on how to add a token to MetaMask, you can refer to the [Add an ERC-20 Token](/tokens/connect/metamask/#add-erc20){target=\_blank} section of [our MetaMask documentation](/tokens/connect/metamask/){target=\_blank}.

--8<-- 'text/_disclaimers/third-party-content.md'
2 changes: 1 addition & 1 deletion builders/ethereum/dev-env/thirdweb.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ thirdweb offers a small number of chains from `@thirdweb/chains` and does not in
The following sections will provide an overview of fundamental methods of the thirdweb SDK and how to interact with them. Each code snippet will showcase the relevant import statements and demonstrate using the method in a typical scenario. This guide is intended to be a quick reference guide to the most common thirdweb methods that dApp developers will use. However, it does not include information on each and every thirdweb offering. For details on the entirety of thirdweb's offerings, be sure to visit the [thirdweb documentation site](https://portal.thirdweb.com/){target=\_blank}.
For a comprehensive, step-by-step guide to building a dApp with thirdweb be sure to check out Moonbeam's [thirdweb tutorial in the tutorials section](/tutorials/eth-api/thirdweb). The following sections will cover everything from connecting wallets, to preparing transactions, and more.
For a comprehensive, step-by-step guide to building a dApp with thirdweb be sure to check out Moonbeam's [thirdweb tutorial in the tutorials section](/tutorials/eth-api/thirdweb/). The following sections will cover everything from connecting wallets, to preparing transactions, and more.
### Accounts and Wallets {: #accounts-and-wallets }
Expand Down
2 changes: 1 addition & 1 deletion builders/ethereum/json-rpc/debug-trace.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Geth's [debug](https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-debug

This guide will cover the supported RPC methods available on Moonbeam and how to invoke them using curl commands against a tracing node with the debug, txpool, and tracing flags enabled. You can access a tracing node in one of two ways: through a supported tracing RPC provider or by spinning up a tracing node of your own.

To view a list of tracing RPC providers, please check out the [Network Endpoints](/builders/get-started/endpoints#tracing-providers){target=\_blank} page.
To view a list of tracing RPC providers, please check out the [Network Endpoints](/builders/get-started/endpoints/#tracing-providers){target=\_blank} page.

If you wish to set up your own tracing node, you can follow the [Running a Tracing Node](/node-operators/networks/tracing-node/){target=\_blank} guide. The RPC HTTP endpoint of your tracing node should be at `{{ networks.development.rpc_url }}` and your node should display similar logs to the following:

Expand Down
2 changes: 1 addition & 1 deletion builders/ethereum/precompiles/features/randomness.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ keywords: solidity, ethereum, randomness, VRF, moonbeam, precompiled, contracts

Moonbeam utilizes verifiable random functions (VRF) to generate randomness that can be verified on-chain. A VRF is a cryptographic function that takes some input and produces random values, along with a proof of authenticity that these random values were generated by the submitter. The proof can be verified by anyone to ensure the random values generated were calculated correctly.

There are two available sources of randomness that provide random inputs based on block producers' VRF keys and past randomness results: [local VRF](/learn/features/randomness#local-vrf) and [BABE epoch randomness](/learn/features/randomness#babe-epoch-randomness). Local VRF is determined directly within Moonbeam using the collator of the block's VRF key and the last block's VRF output. On the other hand, [BABE](https://wiki.polkadot.network/docs/learn-consensus#block-production-babe){target=\_blank} epoch randomness is based on all the VRF produced by the relay chain validators during a complete [epoch](https://wiki.polkadot.network/docs/glossary#epoch){target=\_blank}.
There are two available sources of randomness that provide random inputs based on block producers' VRF keys and past randomness results: [local VRF](/learn/features/randomness/#local-vrf) and [BABE epoch randomness](/learn/features/randomness/#babe-epoch-randomness). Local VRF is determined directly within Moonbeam using the collator of the block's VRF key and the last block's VRF output. On the other hand, [BABE](https://wiki.polkadot.network/docs/learn-consensus#block-production-babe){target=\_blank} epoch randomness is based on all the VRF produced by the relay chain validators during a complete [epoch](https://wiki.polkadot.network/docs/glossary#epoch){target=\_blank}.

For more information on the two sources of randomness, how the request and fulfillment process works, and security considerations, please refer to the [Randomness on Moonbeam](/learn/features/randomness/){target=\_blank} page.

Expand Down
2 changes: 1 addition & 1 deletion builders/ethereum/precompiles/ux/batch.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The batch precompiled contract on Moonbeam allows developers to combine multiple

Currently, having users interact with multiple contracts would require multiple transaction confirmations in the user's wallet. An example would be approving a smart contract's access to a token, then transferring it. With the batch precompile, developers can enhance user experience with batched transactions as it minimizes the number of transactions a user is required to confirm to one. Additionally, gas fees can be reduced since batching avoids multiple base gas fees (the initial 21000 units of gas spent to begin a transaction).

The precompile interacts directly with [Substrate's EVM pallet](/learn/platform/technology#evm-pallet){target=\_blank}. The caller of the batch function will have their address act as the `msg.sender` for all subtransactions, but unlike [delegate calls](https://docs.soliditylang.org/en/v0.8.15/introduction-to-smart-contracts.html#delegatecall-callcode-and-libraries){target=\_blank}, the target contract will still affect its own storage. It is effectively the same as if the user signed multiple transactions, but with only one confirmation.
The precompile interacts directly with [Substrate's EVM pallet](/learn/platform/technology/#evm-pallet){target=\_blank}. The caller of the batch function will have their address act as the `msg.sender` for all subtransactions, but unlike [delegate calls](https://docs.soliditylang.org/en/v0.8.15/introduction-to-smart-contracts.html#delegatecall-callcode-and-libraries){target=\_blank}, the target contract will still affect its own storage. It is effectively the same as if the user signed multiple transactions, but with only one confirmation.

The precompile is located at the following address:

Expand Down
2 changes: 1 addition & 1 deletion builders/ethereum/verify-contracts/api-verification.md
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@ And one for the source files of both perfect and partial matches:

### Using Sourcify with Foundry {: #using-sourcify-with-foundry }

Foundry's Forge tool has built-in support for Sourcify verification similar to how it has [built-in support for Etherscan](/builders/ethereum/verify-contracts/etherscan-plugins#using-foundry-to-verify){target=\_blank}. The example in this section of the guide will use the `MyToken.sol` contract that was created in the [Using Foundry to Deploy to Moonbeam](/builders/ethereum/dev-env/foundry/){target=\_blank} guide.
Foundry's Forge tool has built-in support for Sourcify verification similar to how it has [built-in support for Etherscan](/builders/ethereum/verify-contracts/etherscan-plugins/#using-foundry-to-verify){target=\_blank}. The example in this section of the guide will use the `MyToken.sol` contract that was created in the [Using Foundry to Deploy to Moonbeam](/builders/ethereum/dev-env/foundry/){target=\_blank} guide.

A Foundry project that uses Sourcify must have their compiler emit metadata files. This can be configured in the `foundry.toml` file:

Expand Down
2 changes: 1 addition & 1 deletion builders/get-started/networks/moonbeam-dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ produceBlock();
## Prefunded Development Accounts {: #pre-funded-development-accounts }
Moonbeam has a [unified accounts](/learn/core-concepts/unified-accounts/){target=\_blank} system, which enables users to have an Ethereum-styled H160 account that can interact with the Substrate API and the Ethereum API. As a result, you can interact with your account through [Polkadot.js Apps](/tokens/connect/polkadotjs#connect-polkadotjs-apps){target=\_blank} or [MetaMask](/tokens/connect/metamask/){target=\_blank} (or any other [EVM wallet](/tokens/connect/){target=\_blank}). In addition, you can also use other [development tools](/builders/ethereum/dev-env/){target=\_blank}, such as [Remix](/builders/ethereum/dev-env/remix/){target=\_blank} and [Hardhat](/builders/ethereum/dev-env/hardhat/){target=\_blank}.
Moonbeam has a [unified accounts](/learn/core-concepts/unified-accounts/){target=\_blank} system, which enables users to have an Ethereum-styled H160 account that can interact with the Substrate API and the Ethereum API. As a result, you can interact with your account through [Polkadot.js Apps](/tokens/connect/polkadotjs/#connect-polkadotjs-apps){target=\_blank} or [MetaMask](/tokens/connect/metamask/){target=\_blank} (or any other [EVM wallet](/tokens/connect/){target=\_blank}). In addition, you can also use other [development tools](/builders/ethereum/dev-env/){target=\_blank}, such as [Remix](/builders/ethereum/dev-env/remix/){target=\_blank} and [Hardhat](/builders/ethereum/dev-env/hardhat/){target=\_blank}.
Your Moonbeam development node comes with ten prefunded Ethereum-styled accounts for development. The addresses are derived from Substrate's canonical development mnemonic:
Expand Down
Loading

0 comments on commit 0adc44c

Please sign in to comment.