Logo
新用户订阅 RPC,首月享 6.5 折优惠查看优惠
RPC Assistant

Asset Hub Polkadot:它是什么以及如何连接您的 dApp

摘要

Asset Hub Polkadot 是承载 Polkadot 生态系统中资产、NFT 和智能合约的系统平行链。本文解释了它的作用、关键特性,以及如何使用 RPC 端点连接您的应用程序,并提供实用示例和故障排除技巧。

快速建议:如何连接到 Asset Hub Polkadot

如果您正在构建一个需要读取余额、提交交易或查询 Asset Hub Polkadot 上资产元数据的应用程序,最快的方法是使用托管的 RPC 端点。您可以先使用公共端点 wss://asset-hub-polkadot-rpc.polkadot.io 进行测试,但对于生产环境的工作负载,您应该评估提供一致性能和可靠性的专用或高级公共 RPC 提供商。OnFinality 提供 Asset Hub Polkadot 的 RPC 端点 和其他 Polkadot 系统链,选项包括免费公共端点到专用节点。查看 支持的网络列表 以确认可用性,并查看 RPC 定价 了解速率限制和计划详情。

对于大多数开发者来说,决策归结为:

  • 原型或低流量应用:公共端点没问题,但要注意速率限制和潜在的停机时间。
  • 生产 dApp:使用具有多个端点、WebSocket 支持和故障转移能力的托管提供商。
  • 高吞吐量或归档需求:考虑使用专用节点以避免共享资源争用。

什么是 Asset Hub Polkadot?

Asset Hub Polkadot(以前称为 Statemint)是 Polkadot 网络上的系统平行链。它旨在为发行和管理链上资产提供核心功能,包括同质化代币、非同质化代币(NFT),以及最近的智能合约。虽然中继链(Polkadot)处理安全性和共识,但 Asset Hub 专注于资产逻辑——铸造、销毁、转移和元数据——高效且经济。

关键特性包括:

  • 原生资产创建:使用可配置的权限和元数据创建和管理代币。
  • NFT 支持:铸造和转移非同质化资产。
  • 智能合约:使用 pallet-revive(以前是 pallet-contracts)部署和交互智能合约。
  • XCM 集成:使用跨共识消息在平行链之间移动资产。
  • 低费用:Asset Hub 上的交易通常比中继链便宜。

在运行时升级到 2.0.0 版本后,Asset Hub 还托管了以前位于中继链上的余额、质押和治理功能,使其成为日常 Polkadot 活动的主要网络。

为什么使用 Asset Hub Polkadot?

Asset Hub 提供了一个标准化的资产管理框架,该框架是 Polkadot 生态系统的原生功能。以下是开发者和项目选择它的主要原因:

  • 成本效益:在 Asset Hub 上创建和转移资产比在中继链上便宜得多。
  • 互操作性:在 Asset Hub 上发行的资产可以通过 XCM 转移到其他平行链,从而实现跨链应用。
  • 智能合约支持:随着智能合约功能的增加,开发者可以直接在 Asset Hub 上构建 DeFi、游戏和其他应用。
  • 安全性:作为系统平行链,Asset Hub 受益于与中继链相同的共享安全性。

链设置概览

当您将应用程序连接到 Asset Hub Polkadot 时,您需要正确的网络配置。以下是基本细节:

设置值
网络名称Asset Hub Polkadot
链 ID1000(平行链 ID)
RPC 端点(HTTPS)https://asset-hub-polkadot-rpc.polkadot.io
RPC 端点(WSS)wss://asset-hub-polkadot-rpc.polkadot.io
代币符号DOT
代币小数位10
区块浏览器Subscan

注意:这些是公共端点。对于生产环境,请考虑使用像 OnFinality 这样的托管提供商,它提供更可靠的专用端点。查看 Polkadot 网络页面 了解 OnFinality 的具体端点。

使用 RPC 连接到 Asset Hub Polkadot

要与 Asset Hub Polkadot 交互,您可以使用 JSON-RPC 调用。以下是一个简单的 curl 示例,用于获取最新区块号:

curl -H "Content-Type: application/json" \
  -d '{"id":1, "jsonrpc":"2.0", "method":"chain_getHeader", "params":[]}' \
  https://asset-hub-polkadot-rpc.polkadot.io

对于 WebSocket 订阅(例如,监听新区块),您可以使用像 wscat 这样的工具或 JavaScript 库。以下是在 Node.js 中使用 ws 包的示例:

const WebSocket = require('ws');

const ws = new WebSocket('wss://asset-hub-polkadot-rpc.polkadot.io');

ws.on('open', function open() {
  ws.send(JSON.stringify({
    id: 1,
    jsonrpc: '2.0',
    method: 'chain_subscribeNewHeads',
    params: []
  }));
});

ws.on('message', function incoming(data) {
  console.log(data.toString());
});

对于更高级别的交互,您可以使用 Polkadot.js API。以下是一个查询账户余额的示例:

const { ApiPromise, WsProvider } = require('@polkadot/api');

async function main() {
  const provider = new WsProvider('wss://asset-hub-polkadot-rpc.polkadot.io');
  const api = await ApiPromise.create({ provider });

  const address = 'YOUR_ADDRESS_HERE';
  const { data: { free } } = await api.query.system.account(address);
  console.log('Free balance:', free.toString());

  await api.disconnect();
}

main().catch(console.error);

在 Asset Hub Polkadot 上管理资产

Asset Hub 支持原生资产和外来资产。原生资产直接在平行链上发行,而外来资产是来自其他链的资产的表示,通过 XCM 管理。

创建同质化资产

要创建新的同质化资产,您需要使用 assets pallet 提交一个外部函数。以下是一个使用 Polkadot.js 的示例:

const { ApiPromise, WsProvider, Keyring } = require('@polkadot/api');

async function createAsset() {
  const provider = new WsProvider('wss://asset-hub-polkadot-rpc.polkadot.io');
  const api = await ApiPromise.create({ provider });

  const keyring = new Keyring({ type: 'sr25519' });
  const alice = keyring.addFromUri('//Alice');

  const tx = api.tx.assets.create(
    1, // 资产 ID
    alice.address, // 管理员
    1000000, // 最小余额
    100 // 小数位
  );

  const hash = await tx.signAndSend(alice);
  console.log('Transaction hash:', hash.toHex());

  await api.disconnect();
}

createAsset().catch(console.error);

转移资产

转移同质化资产很简单:

const tx = api.tx.assets.transfer(
  1, // 资产 ID
  'RECIPIENT_ADDRESS',
  1000 // 金额
);

NFT

Asset Hub 还通过 uniques 和 nfts pallet 支持 NFT。您可以使用类似的外部函数铸造、转移和管理 NFT。

Asset Hub Polkadot 上的智能合约

随着智能合约支持的引入,Asset Hub 允许开发者使用 pallet-revive 部署基于 Wasm 的智能合约。这为直接在网络上构建 DeFi、游戏和其他应用开辟了可能性。

要部署合约,您通常使用 polkadot.js UI 或像 @polkadot/contracts 这样的开发框架。该过程包括:

  1. 编译您的合约到 Wasm。
  2. 上传代码到链上。
  3. 实例化合约并设置初始参数。

以下是一个使用 Polkadot.js 上传合约代码的简化示例:

const code = fs.readFileSync('my_contract.wasm');
const tx = api.tx.contracts.upload(code, null, null);

请注意,智能合约支持相对较新,因此请查看最新的运行时文档以了解确切的 API 和要求。

常见陷阱和故障排除

在使用 Asset Hub Polkadot 时,开发者经常遇到这些问题:

  • 错误的端点:使用中继链端点而不是 Asset Hub 端点。确保您连接到 asset-hub-polkadot。
  • 速率限制:公共端点可能会限制请求。如果您遇到速率限制,请考虑升级到付费计划或专用节点。
  • WebSocket 断开:对于长时间运行的订阅,请确保您的客户端处理重新连接逻辑。
  • 资产 ID 冲突:创建资产时,选择唯一的资产 ID 以避免冲突。
  • 存在性存款(ED):账户必须保持最低余额(ED)才能保持活跃。如果账户低于 ED,它可能会被清除。

监控和生产就绪

对于生产应用程序,您应该监控您的 RPC 端点以确保它们健康。以下是一个使用 curl 的简单健康检查脚本:

curl -s -X POST https://asset-hub-polkadot-rpc.polkadot.io \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"system_health","params":[],"id":1}'

健康的响应将包括 "isSyncing": false 和 "peers": >0。如果您使用 OnFinality,您还可以通过仪表板设置正常运行时间监控和警报。

关键要点

  • Asset Hub Polkadot 是 Polkadot 生态系统中用于资产管理、NFT 和智能合约的系统平行链。
  • 它提供低费用、XCM 互操作性和与中继链的共享安全性。
  • 对于开发,使用公共 RPC 端点;对于生产,考虑使用像 OnFinality 这样的托管提供商以获得可靠性和支持。
  • 常见操作包括创建和转移资产、铸造 NFT 以及部署智能合约。
  • 始终监控您的端点并优雅地处理速率限制和重新连接。

常见问题解答

Asset Hub Polkadot 和 Polkadot 中继链有什么区别?

中继链提供安全性和共识,而 Asset Hub 处理资产逻辑和智能合约。迁移后,Asset Hub 还托管余额、质押和治理。

我可以在 Asset Hub Polkadot 上部署 ERC-20 风格的代币吗?

是的,您可以创建行为类似于 ERC-20 代币的同质化资产,但它们是 Substrate 运行时的原生资产,并使用 assets pallet。

如何获得 DOT 来支付 Asset Hub 上的交易费用?

您需要 DOT 来支付交易费用。您可以从交易所或水龙头获取 DOT,然后通过 XCM 或直接转移将其转移到您的 Asset Hub 账户。

Asset Hub Polkadot 与以太坊工具兼容吗?

不,Asset Hub 是基于 Substrate 的链,因此它使用 Polkadot.js 和 Substrate API。但是,通过智能合约支持,您可以使用基于 Wasm 的合约,这与 EVM 合约不同。

我在哪里可以找到 Asset Hub 的官方文档?

请参阅 Polkadot 开发者文档 和 Polkadot Wiki 获取详细信息。

如何在公共和专用 RPC 端点之间选择?

对于高流量的生产应用,专用端点提供更好的性能和可靠性。评估您的工作负载、速率限制和预算。OnFinality 提供灵活的 RPC 定价 和 专用节点 选项。

RPC 知识库

相关 RPC 内容

RPC 提供商选择Solana

开发者应如何评估领先的 Solana RPC 提供商?

本文解释了如何为生产工作负载评估领先的 Solana RPC 提供商,涵盖最重要的标准:吞吐量、归档数据访问、WebSocket 支持、故障转移和运营可见性。它还展示了 OnFinality 的 Solana RPC API 和专用节点如何融入多提供商设置,并提供了实用的配置示例和决策框架。...

RPC 提供商选择Efinity

Solana 上的专用节点与共享节点访问:如何比较 RPC 提供商?

共享 Solana RPC 将许多调用者汇集到相同的端点上,因此吞吐量和优先级取决于当时其他所有人的操作。专用 Solana 节点为你的工作负载提供专属容量,当你依赖高流量读取、WebSocket 订阅或负载下的可预测行为时,这一点至关重要。本比较解释了如何评估两种模式下的提供商、哪些工作负载适合每...

RPC 提供商选择

共享与专用 Solana RPC 节点的成本差异是什么?

共享 Solana RPC 节点按使用量计费——根据请求量、计算单元或数据传输——对于开发和低至中等流量来说成本效益高。专用 Solana RPC 节点有较高的固定月费,但提供可预测的性能、资源隔离和无速率限制争用。正确的选择取决于你的应用程序的流量模式、延迟要求和预算。...

测试网 RPCEthereumBase

Base Sepolia RPC 端点:链设置、水龙头与调试

Base Sepolia 是基于 OP Stack 构建的 Base L2 网络的测试网,使用 Sepolia ETH。本页面提供官方 RPC 端点、链配置、水龙头链接以及开发者在 Base Sepolia 上测试 dapp 时的常见故障排除技巧。...

RPC 提供商选择Abstract

什么是 Abstract RPC 提供者,如何评估一个?

Abstract RPC 提供者为你的 dApp 提供指向 Abstract 二层网络的 JSON-RPC 端点,该网络是基于 ZK Stack 构建的零知识 rollup。提供者负责节点操作、负载均衡和 API 访问,让你专注于构建。本文介绍在选择 Abstract RPC 提供者时应注意什么,如...

区块链基础设施Efinity

运行 Optimism 节点有哪些要求?

运行 Optimism 节点意味着同时运行 OP Stack 执行客户端(op-geth)和 op-node——从以太坊 L1 推导 L2 状态的 rollup 共识客户端。全节点的硬件需求适中,但归档模式、高请求量和历史日志查询会迅速推高存储和 I/O 要求。 本页涵盖 CPU、RAM、磁盘和带宽...

永远不用担心基础设施

OnFinality 消除了 DevOps 的繁重工作,让您能够更聪明、更快地构建。

开始