Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Martinh/xassets #148

Merged
merged 28 commits into from
Dec 23, 2024
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
09572d4
migrate xasset document to docs
martin0995 Nov 26, 2024
83e4d42
grammarly check
martin0995 Nov 26, 2024
1ee8b52
updated token metadata process
martin0995 Nov 26, 2024
68c9355
create index page for multichain token tutorials
martin0995 Nov 26, 2024
8820773
Merge branch 'main' into martinh/xassets
martin0995 Nov 26, 2024
966de30
grammarly on index page
martin0995 Nov 26, 2024
657b4f3
Merge branch 'main' into martinh/xassets
martin0995 Nov 27, 2024
b0a405b
Merge branch 'main' into martinh/xassets
martin0995 Nov 27, 2024
9c8bcb7
Update tutorials/multichain-assets/index.md
martin0995 Nov 28, 2024
ed65861
Update tutorials/multichain-assets/multichain-token.md
martin0995 Nov 28, 2024
a3ba66c
Merge branch 'main' into martinh/xassets
martin0995 Nov 28, 2024
c991601
Update tutorials/multichain-assets/multichain-token.md
martin0995 Nov 28, 2024
96f2259
Update tutorials/multichain-assets/multichain-token.md
martin0995 Nov 28, 2024
ff7b178
multichain in lowercase
martin0995 Nov 28, 2024
c4e328f
removed steps from title
martin0995 Nov 28, 2024
4ceb6a3
modify image size
martin0995 Nov 28, 2024
2a8e8fe
updated images with steps
martin0995 Nov 28, 2024
242e6d4
updated style based on feedback
martin0995 Nov 28, 2024
22431b8
Merge branch 'main' into martinh/xassets
martin0995 Dec 20, 2024
9846825
merged with reorg branch
martin0995 Dec 20, 2024
e764efa
reorg multichain assets location
martin0995 Dec 20, 2024
29cacc4
reorg multichain asset to different directory
martin0995 Dec 20, 2024
315a0b5
add description to ntt index
martin0995 Dec 20, 2024
49c403d
Update tutorials/by-product/native-token-transfers/index.md
martin0995 Dec 20, 2024
ccc7f77
Merge branch 'main' into martinh/xassets
ilariae Dec 23, 2024
bb16dea
Martinh/xassets (#176)
ilariae Dec 23, 2024
cf51b7f
sync
Dec 23, 2024
5bf6b41
remove gateway
Dec 23, 2024
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
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion tutorials/.pages
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ title: Tutorials
nav:
- index.md
- by-product
# - end-to-end
# - end-to-end
2 changes: 1 addition & 1 deletion tutorials/by-product/.pages
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ nav:
- index.md
- connect
- cross-chain-contracts
# - native-token-transfers
- native-token-transfers
- multigov
- wormhole-sdk
2 changes: 1 addition & 1 deletion tutorials/by-product/native-token-transfers/.pages
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
title: Native Token Transfers (NTT)
nav:
- index.md
# - 'Create Native Multichain Tokens': 'multichain-token.md'
- 'Create Native Multichain Tokens': 'multichain-token.md'
12 changes: 12 additions & 0 deletions tutorials/by-product/native-token-transfers/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,15 @@ description: TODO
# Native Token Transfers (NTT) Tutorials

Learn to move native assets between different blockchains seamlessly. These tutorials teach you how to set up and execute secure, efficient, and scalable cross-chain token transfers. Provide your users and applications with robust bridging solutions that unlock the power of an interconnected blockchain ecosystem.

<div class="grid cards" markdown>

- :octicons-code-square-16:{ .lg .middle } **Create Multichain Tokens**
martin0995 marked this conversation as resolved.
Show resolved Hide resolved

---

Learn how to register your token on the source chain, create a wrapped token on the target chain, and update its metadata for cross-chain compatibility.

[:octicons-arrow-right-16: Start building](/docs/tutorials/by-product/native-token-transfers/multichain-token)

</div>
92 changes: 92 additions & 0 deletions tutorials/by-product/native-token-transfers/multichain-token.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
title: Create Multichain Tokens
description: Learn how to create a multichain token, bridge tokens across blockchains, and update metadata for seamless multichain interoperability.
---

# Create Multichain Tokens

## Introduction

Blockchain ecosystems are becoming increasingly interconnected, with assets often needing to exist across multiple networks to maximize their utility and reach. For example, tokens created on one chain may want to expand to others to tap into broader audiences and liquidity pools.

This guide explains how to create a multichain token—a token that seamlessly bridges across blockchains using the Wormhole protocol. The process is designed to be user-friendly. With just a few steps, your token can become multichain, enabling it to be traded or used on various networks.

By the end of this tutorial, you'll learn:

- How to register your token for bridging
- How to create a wrapped version of your token
- How to ensure its visibility on blockchain explorers

Let’s begin with a straightforward, step-by-step process for creating a multichain token and expanding its reach.

## Register the Token on the Source Chain

The first step in creating a multichain token is registering your token on its source chain. This ensures the token is prepared for bridging across blockchains. Follow these steps:

1. Open the [Portal Bridge](https://portalbridge.com/advanced-tools/#/register){target=\_blank}
2. Select the blockchain where your token is currently deployed (source chain)
3. Connect your wallet by following the on-screen instructions
4. Locate the **Asset** field and paste the token contract address
5. Click **Next** to proceed

<img src="/docs/images/tutorials/by-product/native-token-transfers/multichain-tokens/multichain-token-1.webp" alt="Source Chain Registration Screen">

## Register the Token on the Target Chain

After registering your token on the source chain, the next step is to select the target chain—the blockchain where you want the wrapped version of your token to exist. This step connects your token to its destination network.

1. Choose the blockchain where you want the token to be bridged (target chain)
2. Connect your wallet to the target chain
3. Click **Next** to finalize the registration process

<img src="/docs/images/tutorials/by-product/native-token-transfers/multichain-tokens/multichain-token-2.webp" alt="Target Chain Registration Screen">

## Send an Attestation
Attestation is a key step in the process. It verifies your token’s metadata, ensuring it is correctly recognized on the target chain’s blockchain explorer (e.g., [Etherscan](https://etherscan.io/){target=\_blank}).

1. Click **Attest** to initiate the attestation process
2. Approve the transaction in your wallet when prompted

<img src="/docs/images/tutorials/by-product/native-token-transfers/multichain-tokens/multichain-token-3.webp" alt="Send Attestation Screen">

!!! note
- Attestation is crucial for token metadata to appear correctly on blockchain explorers like Etherscan, allowing users to identify and trust your token
- Ensure you have sufficient funds to cover transaction fees on the target chain

## Create the Wrapped Token

The final step is to create the wrapped token on the target chain. This token represents the original asset and enables its use within the target blockchain.

1. Click **Create** to generate the wrapped token
2. Approve the transaction in your wallet when prompted

<img src="/docs/images/tutorials/by-product/native-token-transfers/multichain-tokens/multichain-token-4.webp" alt="Create Wrapped Token Screen">

Upon successful creation, you will see a confirmation screen displaying key details such as the source chain, target chain, and transaction status. This helps verify that the process was completed correctly. Refer to the image below as an example:

<img src="/docs/images/tutorials/by-product/native-token-transfers/multichain-tokens/multichain-token-5.webp" alt="Confirmation Screen">

## Additional Steps and Recommendations

After creating your multichain token, there are a few optional but highly recommended steps to ensure the best experience for users interacting with your token.

### Add Your Token to the Wormhole Metadata List (Legacy)

For legacy compatibility in the [**Advanced Tools**](https://portalbridge.com/advanced-tools/){target=\_blank} section of Portal Bridge, you can request updates to your token metadata. Follow these steps:

1. Join the [Wormhole Discord server](https://discord.com/invite/wormholecrypto){target=\_blank}
2. Submit a request for metadata updates in the appropriate support channel

!!! note
These updates only apply to the **Advanced Tools** section of Portal Bridge and will not update how your token appears in other Wormhole-powered apps or on blockchain explorers like Etherscan.

### Update Metadata on Blockchain Explorers

It is recommended that you update your token’s metadata on blockchain explorers such as Etherscan. This includes adding details like the token logo, price, and contract verification.

1. Create an account on the relevant scanner and go to the [token update section](https://etherscan.io/tokenupdate){target=\_blank} (or the relevant scanner that you would like to update metadata on)
2. Copy and paste the wrapped contract address in the **Token Update Application Form**
3. Before proceeding to the next step, you will need to verify as the contract address owner on [Etherscan’s address verification tool](https://etherscan.io/verifyAddress/){target=\_blank}
4. Follow the directions to verify contract address ownership via MetaMask by reviewing the [guide on verifying address ownership](https://info.etherscan.com/how-to-verify-address-ownership/){target=\_blank}
- Given that Wormhole may be the contract owner, use the manual verification process by reaching out through the [Etherscan contact form](https://etherscan.io/contactus){target=\_blank}. The team will provide support as needed
5. Once the step above is completed, follow the [instructions to update token information](https://info.etherscan.com/how-to-update-token-information-on-token-page/){target=\_blank}