摘要
Composable Finance 是一个跨链 DeFi 基础设施项目,使用 IBC 实现不同区块链生态系统之间的无信任通信。其核心组件包括用于编排的跨链虚拟机(XCVM)和用于桥接的 Centauri,并以 Picasso 作为其平行链。对于开发者来说,与这些网络交互需要可靠的 RPC 端点来查询状态、提交交易和监控事件。
快速建议:为 Composable 和 Picasso 使用托管 RPC
如果您正在 Composable Finance 或其 Picasso 平行链上构建,您需要可靠的 RPC 端点来与链交互。运行自己的节点可以完全控制,但会增加运维负担:同步、监控和升级维护。对于大多数开发者来说,像 OnFinality 这样的托管 RPC 提供商是更快的路径。OnFinality 为 Composable Finance 和 Picasso 提供公共和专用端点,并支持 WebSocket 实时订阅。查看支持的 RPC 网络列表以确认可用性,并查看RPC 定价了解免费层和付费计划。如果您需要高吞吐量或归档数据,专用节点可能更适合。
什么是 Composable Finance?
Composable Finance 是一个跨链 DeFi 基础设施项目,旨在使区块链网络互操作。其核心创新是首次跨生态系统实现 IBC(跨区块链通信),该协议最初为 Cosmos 构建。这允许不同链之间的无信任通信,包括 Polkadot 平行链和兼容以太坊的网络。
该项目由多个模块化组件组成:
- 跨链虚拟机(XCVM):一个编排层,允许开发者部署可与多个链异步交互的协议。
- Centauri:一个无信任桥接协议,将 IBC 与 XCVM 结合,实现跨链资产转移。
- Picasso:Kusama 和 Polkadot 上的平行链,作为这些跨链原语的结算环境。
对于开发者来说,Composable Finance 为构建不局限于单一链的 DeFi 应用开辟了新的可能性。然而,要与这些网络交互,您需要连接到它们的 RPC 端点。
Composable Finance 与 Picasso:您需要哪个网络?
Composable Finance 和 Picasso 经常被一起提及,但它们服务于不同的目的。Composable Finance 是总体项目,而 Picasso 是承载跨链基础设施的特定平行链。当您在 Composable Finance 上构建时,您可能会与 Picasso 网络进行交易和智能合约调用。
| 网络 | 用途 | 链类型 |
|---|---|---|
| Composable Finance | 跨链基础设施、治理和协议开发 | Polkadot 平行链 |
| Picasso | 跨链交易的结算和执行 | Kusama/Polkadot 平行链 |
如果您正在构建使用 Centauri 进行桥接的 DeFi 应用,您需要连接到 Picasso。如果您正在开发 pallet 或参与治理,您可能会与 Composable Finance 网络交互。始终查看网络的文档以确认您的用例需要哪个链。
如何连接到 Composable Finance RPC
要与 Composable Finance 或 Picasso 交互,您需要一个 RPC 端点。您可以使用公共端点,但对于生产应用,建议使用托管提供商以确保可靠性和可扩展性。
公共端点示例
OnFinality 为 Composable Finance 提供公共 RPC 端点。以下是如何使用 curl 查询最新区块的示例:
curl -H "Content-Type: application/json" \
-d '{"id":1,"jsonrpc":"2.0","method":"chain_getBlock","params":[]}' \
https://composable.api.onfinality.io/public
将 URL 替换为Composable Finance 网络页面上的实际公共端点。对于 Picasso,使用同一页面上的相应端点。
使用 WebSocket 进行实时更新
对于需要实时数据的应用,例如价格馈送或交易监控,请使用 WebSocket。以下是使用 ws 库的 JavaScript 示例:
const WebSocket = require('ws');
const ws = new WebSocket('wss://composable.api.onfinality.io/public/ws');
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());
});
同样,使用网络页面上的正确 WebSocket URL。
配置您的钱包或 dApp
如果您正在构建连接到 Composable Finance 的 dApp,您需要使用正确的网络参数配置您的钱包或库。以下是使用 Polkadot.js API 的示例:
const { ApiPromise, WsProvider } = require('@polkadot/api');
const provider = new WsProvider('wss://composable.api.onfinality.io/public/ws');
const api = await ApiPromise.create({ provider });
const chain = await api.rpc.system.chain();
console.log('Connected to', chain.toString());
对于兼容以太坊的网络,您可以使用 ethers.js 或 viem 类似的方法,但 Composable Finance 主要基于 Substrate,因此 Polkadot.js 是标准。
常见陷阱和故障排除
在使用 Composable Finance RPC 时,您可能会遇到几个问题。以下是常见的故障模式及解决方法:
| 症状 | 可能原因 | 解决方案 |
|---|---|---|
| 连接超时 | 网络拥塞或端点宕机 | 尝试其他端点或使用具有故障转移的托管提供商 |
| 无效的响应格式 | 使用了错误的 JSON-RPC 方法 | 查看 Substrate RPC 文档以获取正确的方法 |
| WebSocket 断开 | 空闲超时或速率限制 | 实现重连逻辑并使用专用 WebSocket 端点 |
| 交易未包含 | nonce 过低或余额不足 | 发送前检查您的账户 nonce 和余额 |
如果您使用公共端点并遇到速率限制,请考虑升级到专用节点以获得更高的吞吐量和专用资源。
构建与购买:运行自己的节点与托管 RPC
决定是运行自己的 Composable Finance 节点还是使用托管 RPC 提供商,取决于您的工作负载和资源。以下比较可帮助您做出决定:
| 因素 | 自托管节点 | 托管 RPC(OnFinality) |
|---|---|---|
| 设置时间 | 数小时到数天 | 几分钟 |
| 维护 | 您负责升级、监控和备份 | 提供商负责 |
| 可扩展性 | 受限于您的硬件 | 随需求扩展 |
| 成本 | 硬件和电费 | 订阅费,提供免费层 |
| 可靠性 | 取决于您的基础设施 | 高可用性,带故障转移 |
对于生产应用,托管 RPC 通常是更好的选择,因为它减少了运维负担并提供更好的正常运行时间。OnFinality 提供公共和专用端点,因此您可以从免费层开始,并根据需要扩展。
关键要点
- Composable Finance 是一个跨链 DeFi 基础设施项目,使用 IBC 实现无信任互操作性。
- Picasso 是跨链交易结算的平行链。
- 要在 Composable Finance 上构建,您需要可靠的 RPC 端点来查询和提交交易。
- OnFinality 为 Composable Finance 和 Picasso 提供托管 RPC,包括公共和专用选项。
- 在选择自托管和托管 RPC 时,请考虑您的工作负载和资源。
常见问题
Composable Finance 和 Picasso 有什么区别?
Composable Finance 是总体项目,而 Picasso 是承载跨链基础设施的特定平行链。开发者通常与 Picasso 进行交易和智能合约交互。
OnFinality 支持 Composable Finance 吗?
是的,OnFinality 在其支持的网络页面上列出了 Composable Finance。您可以在那里找到公共和专用 RPC 端点。
如何为 Composable Finance 获取专用 RPC 端点?
您可以通过专用节点页面请求专用节点。这将为您提供具有更高速率限制和更好性能的专属节点访问。
我可以使用 WebSocket 获取 Composable Finance 的实时数据吗?
是的,OnFinality 为 Composable Finance 提供 WebSocket 端点。使用 wss:// URL 进行订阅。
使用 OnFinality 的 Composable Finance RPC 费用是多少?
OnFinality 为公共端点提供免费层。对于更高使用量,请查看RPC 定价页面了解付费计划详情。
如何解决连接问题?
首先检查端点 URL 和网络状态。如果您使用公共端点,请尝试其他端点或联系支持。对于持续问题,请考虑使用专用节点。