跳到主要内容

常见问题

开发者构建 OXN 时的常见问题。这里没有的问题通过支持渠道联系团队。

综合

OXN 是 rollup 吗?

不是。OXN 是拥有自己验证人集合与共识的主权 Layer 1。向以太坊提交状态、依赖其他链提供终结性。

我的合约调用为什么 revert invalid code

你用了比 paris 更新的 EVM 版本编译。OXN 尚未支持 Shanghai 引入的 PUSH0 opcode。在编译器配置里设 evmVersion: "paris"。见 EVM 兼容性

我合约里能读别的用户的余额吗?

不能,如果合约用了机密存储。只有账户持有者(或被授权者)通过签名查询能读自己的余额。见签名查询构建机密 ERC-20

主网什么时候?

时间线未公布。路线图与当前状态见主网状态

开发

应该怎么设置 gasLimit

每笔交易都显式设置 gasLimit,不要依赖客户端 eth_estimateGas。推荐默认值见下方以及 Gas 与手续费

推荐的 gas limit?

  • 原生代币转账:100_000n
  • ERC-20 转账:500_000n
  • 简单合约部署:3_000_000n
  • 大合约部署:5_000_000n+

未消耗的 gas 会退还,多给一些是安全的。

能用 viem 或 web3.js 代替 ethers.js 吗?

能,配合合适的 wrapper。ethers.js 的 OXN SDK 集成最完整。viem 支持;web3.js 支持有限。备选 SDK 的当前状态请联系团队。

能用 Hardhat 本地测机密性吗?

只能部分测。Hardhat 内建 network 跑纯 EVM,没有 SGX,所以机密性特定行为(加密 calldata、签名查询、加密存储)在本地不存在。本地测业务逻辑,然后打真实 OXN 测试网跑机密性路径的集成测试。见测试机密行为

Sapphire.randomBytes 为什么一个区块内返回同一个值?

设计如此。随机源按区块派生。想在一次调用内得到多个独立随机值,传不同 personalization 字符串:

bytes memory r1 = Sapphire.randomBytes(32, "draw-1");
bytes memory r2 = Sapphire.randomBytes(32, "draw-2");

钱包与账户

发交易时为什么 MetaMask 显示 "Invalid address"?

可能是误导性错误标签。OXN 网页钱包(某些版本)在底层错误实际是 insufficient balance to pay fees 时会显示 "Invalid address"。检查账户余额,测试网上试 gasPrice: 0n

水龙头为什么拒绝我的地址?

水龙头只接受 EVM(0x…)地址,不是原生(oxn1…)地址。从钱包主界面复制 EVM 地址。

能在 OXN 上用我的以太坊 mnemonic 吗?

可以。同一 mnemonic 产生同一私钥,在两个网络上产生同一 EVM(0x…)地址。那个地址在每条链上的余额是分开的。

钱包里的 "TBLUAI" 或 "BLUAI" 是什么意思?

两者都指 OXN 的原生代币。钱包显示符号按环境不同:

  • 测试网TBLUAI(前缀 T 标记为测试网;测试网代币无经济价值)。
  • 主网BLUAI(主网上线后的符号)。

较早的文档可能仍显示 "TEST"——那是更早的测试网符号,正在被 TBLUAI 替换。

机密性

全局索引器能解密我合约的事件吗?

不能。事件内容用调用者的会话密钥加密,所以只有 emit 它们的调用者能解密。需要全局事件可见性时,emit 一份不含敏感字段的明文伴随事件。见机密性模型

我能隐藏 msg.sender 吗?

不能。msg.sender 公开——它是交易发送方,链必须把交易路由到某处。想要交易图隐私就在 OXN 之上叠混币器或中继。

我能隐藏调用的是哪个合约吗?

不能。tx.to 公开。机密性隐藏你请求合约做什么,不隐藏你调用了它。

我的 gas 使用量是私密的吗?

不是。Gas 是公开硬件上度量的公共资源。合约在秘密状态上分支时,用掉的 gas 会泄漏走了哪个分支。见机密性陷阱

运维

链状态被重置了,怎么办?

OXN 测试网在活跃开发期间可能被重置。重置时合约地址与账户余额被清零。Chain ID 与端点保持不变。见测试网参数

我能跑验证人吗?

当前不能。测试网阶段不开放验证人入网。第三方可以跑只读 RPC 节点。见节点运营概览

怎么报告 bug?

非安全 bug:在相应 GitHub 仓库开 issue。安全问题:见报告安全问题——不要公开提交安全问题。

下一步