|
| 1 | +# Asset Hub |
| 2 | + |
| 3 | +The **Asset Hub** is a dedicated parachain within the **Polkadot ecosystem** specializing in creating, managing, and tracking assets. These assets can represent various types, from a parachain’s native tokens to NFTs or on-chain representations of off-chain reserves. The Asset Hub acts as a central "home base" for assets within the network, maintaining a secure and trusted environment. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## Key Features |
| 8 | + |
| 9 | +### Asset Representation |
| 10 | +- **Sufficient Assets**: Assets deemed “sufficient” allow an account to exist without holding the native token (e.g., DOT or KSM). |
| 11 | +- **Non-Sufficient Assets**: Accounts holding non-sufficient assets require a minimum native token balance to remain on-chain. |
| 12 | +- **Asset Conversion**: Enables token conversions through an automated market maker (AMM) for any assets with sufficient liquidity. |
| 13 | + |
| 14 | +### Asset Creation and Management |
| 15 | +Anyone with sufficient funds can create assets on the Asset Hub by reserving a deposit. When creating an asset: |
| 16 | +- **Unique Asset ID**: A unique `AssetId` (u32 integer) is assigned, serving as a canonical identifier. |
| 17 | +- **Metadata**: Each asset can have associated metadata, like links to off-chain resources (e.g., IPFS). |
| 18 | +- **Privileged Roles**: The asset creator can assign roles, such as owner, issuer, admin, and freezer, which determine permissions for tasks like minting, burning, and freezing. |
| 19 | + |
| 20 | +--- |
| 21 | + |
| 22 | +## Advanced Management and Features |
| 23 | + |
| 24 | +### Transaction Fees and Payments |
| 25 | +- **Sufficient Asset Fees**: Assets deemed sufficient can cover transaction fees without requiring the native token. |
| 26 | +- **Polkadot-JS UI**: Users must pay transaction fees in the native token on Polkadot-JS UI, regardless of sufficient asset holdings. |
| 27 | + |
| 28 | +### Cross-Chain Accounting and Asset Transfer |
| 29 | +Asset Hub tracks cross-chain transfers and supports reserve-backed assets across parachains, allowing asset owners to monitor total issuance and manage transfers securely. |
| 30 | + |
| 31 | +### Application Development Interface |
| 32 | +Developers can use `approve_transfer`, `transfer_approved`, and `cancel_approval` functions for user-authorized transfers, enabling controlled asset movements within applications. |
| 33 | + |
| 34 | +--- |
| 35 | + |
| 36 | +## Transferring and Destroying Assets |
| 37 | + |
| 38 | +### Transferring Assets |
| 39 | +- **Simple Transfers**: Users can transfer both fungible and non-fungible assets, with additional functions like `transfer_keep_alive` to ensure accounts remain active post-transfer. |
| 40 | +- **NFT Transfers**: NFTs can be transferred and approved for third-party transfers by applications. |
| 41 | + |
| 42 | +### Freezing Assets |
| 43 | +Asset creators can freeze assets via specific function (`assets.freezeAsset`). |
| 44 | + |
| 45 | +--- |
| 46 | + |
| 47 | +## Application and Advanced Use Cases |
| 48 | + |
| 49 | +### Multisig and Proxy Accounts |
| 50 | +Although the Asset Hub does not support smart contracts, users can leverage Multisig and Proxy accounts to replicate common contract functions such as multi-signature approvals and delegations. |
| 51 | + |
| 52 | +### Reserve-Backed Transfers |
| 53 | +The Asset Hub tracks assets sent across parachains, maintaining accurate reserves and preventing over-issuance by ensuring that cross-chain transactions follow network protocols. |
| 54 | + |
| 55 | +--- |
| 56 | + |
| 57 | +### Additional Resources |
| 58 | + |
| 59 | +For additional technical guidance, video tutorials, and step-by-step instructions on creating, transferring, and managing assets, please refer to the official [Asset Hub documentation](https://wiki.polkadot.network/docs/learn-assets). |
0 commit comments