BSV 主网 mainnet 与测试环境有什么区别

主网承载真实价值,测试环境用于学习和开发。本文梳理 BSV mainnet 与测试环境的区别、常见风险、SDK 使用中的注意事项,以及项目配置中的分环境建议。

林知衡

林知衡

technical_editor

发布于 2026年5月24日5 分钟阅读

一句话理解

主网承载真实价值,测试环境用于学习、开发和调试。写 BSV 应用时,必须明确自己正在连接哪个网络。

很多区块链事故并不是因为算法太复杂,而是因为开发者把测试代码、测试私钥或测试配置误用到了真实网络。学习 BSV 时,先分清主网和测试环境,是一项非常实际的安全要求。

什么是主网 mainnet

主网(mainnet)是真实运行的 BSV 网络。

主网上的交易具有真实经济意义。你在主网上花费 UTXO,就是在真实转移 BSV 的控制权;你把数据写上主网,也会形成公开的链上记录。

主网包含真实矿工、真实费用、真实区块、真实区块浏览器和真实用户。也正因为如此,主网上的错误通常不能简单撤销。

主网适合用于:

  • 真实支付;
  • 生产业务;
  • 正式数据记录;
  • 需要长期保存和验证的交易。

但主网不适合随意试错。任何广播到主网的交易,都应该经过充分检查。

什么是测试环境

测试环境用于开发、调试和学习。它可能是官方测试网络、私有测试网络、本地 regtest 环境,也可能是某些 SDK 或钱包提供的开发模式。

测试环境里的币通常没有真实经济价值,或者只在测试范围内有意义。它的目标不是承载真实业务,而是让开发者安全地完成试验,例如:

  • 创建地址;
  • 构造交易;
  • 生成签名;
  • 广播交易;
  • 查询交易状态;
  • 测试钱包接口;
  • 测试应用协议。

对于新手来说,测试环境的最大价值是:允许你在低风险条件下犯错、排查问题并理解流程。

为什么新手必须先用测试环境

刚开始写 BSV 应用时,出错很正常。你可能会遇到这些问题:

  • 忘记添加找零 output;
  • 手续费计算错误;
  • 用错私钥;
  • 把数据写成错误格式;
  • 重复广播交易;
  • 误删钱包文件;
  • 把主网地址和测试地址混在一起。

在测试环境中,这些错误主要是学习成本;在主网中,它们可能带来真实资金损失,或者造成公开数据污染。

因此,更安全的学习路径是:先在测试环境中跑通完整流程,再用极小金额在主网上验证,最后才进入正式业务场景。

网络环境会影响哪些细节

网络环境不只是一个名称,它会影响应用运行的多个关键环节:

  • 地址格式;
  • 钱包配置;
  • API endpoint;
  • 区块浏览器;
  • 广播服务;
  • 手续费策略;
  • 可用矿工或测试节点;
  • 交易确认速度;
  • SDK 示例配置。

所以,不能只看代码里有没有调用 send() 或广播函数,还要确认它连接的是哪个网络。

一个清晰的项目通常会显式区分不同环境,例如:

TEXT
1mainnet config
2testnet config
3local config

同时,应用也应该在日志、命令行输出或界面中清楚显示当前网络,避免开发者误操作。

使用 BSV SDK 时也要有环境意识

使用 @bsv/sdk 或钱包接口时,开发者可能不需要一开始就处理所有底层网络参数,因为钱包或 SDK 会封装很多细节。

但这并不意味着网络环境不重要。你仍然需要确认:

  • 钱包当前连接的是主网还是测试环境;
  • 交易是否会消耗真实 BSV;
  • 交易会被广播到哪里;
  • 返回的 txid 应该使用哪个区块浏览器查询;
  • 示例代码中是否写死了某个 endpoint。

例如,在学习 BSV TypeScript SDK 的 first transaction 示例时,不应只关注代码是否能运行,还要关注钱包、广播服务和查询工具对应的是哪个网络。

参考文档:

主网数据不能随便删除

BSV 是公开链。写入链上的数据会由交易记录承载。即使某些服务不再显示,链上记录仍可能长期存在。

因此,不要在主网上写入以下内容:

  • 私钥;
  • 助记词;
  • 身份证件;
  • 真实手机号;
  • 未加密隐私数据;
  • 商业机密;
  • 任何你未来希望删除的敏感内容。

同时,测试环境也不应放入真实隐私信息。测试服务同样可能被他人访问、索引或记录。

项目配置建议

即使只是学习项目,也建议从一开始就建立分环境习惯:

  • 把网络名称写进配置文件;
  • 不要在代码里硬编码私钥;
  • 主网操作前打印明显提示;
  • 测试钱包和主网钱包分开;
  • API key 和 wallet credential 分开管理;
  • 交易日志记录 txid、网络名和时间;
  • 不要把 .env 提交到 GitHub。

这些习惯看起来基础,但能显著降低误操作风险。越早建立,后续开发真实应用时越轻松。

新手常见误解

下面这些误解在学习阶段很常见,需要特别注意:

  • 测试环境成功,不代表主网一定成功;
  • 主网小额测试,也是真实资金操作;
  • 区块浏览器查不到交易,可能是网络选错了;
  • 同一个助记词在不同网络或路径下,可能看到不同地址;
  • SDK 示例能运行,不代表可以直接用于生产;
  • 测试数据也不应该包含真实隐私。

小结

主网和测试环境的区别,不只是“有没有真实币”这么简单。它会影响地址、钱包、广播、查询、费用、确认和数据可见性。

对 BSV 开发者来说,最重要的实践原则是:

  1. 明确当前网络;
  2. 测试环境先跑通;
  3. 主网操作前再次确认;
  4. 不把敏感数据写上链;
  5. 从一开始就做好环境隔离。

当你能清楚回答“这笔交易会发到哪里、会花谁的钱、会留下什么记录”时,再进入主网操作会更安全。

推荐文章