跳转至

验证器以IBRL模式连接测试网

This translation was generated using artificial intelligence and has not been reviewed by a human translator. It may contain inaccuracies or errors and should not be relied upon.

通过连接到DoubleZero测试网,我同意此处规定的评估协议条款(点击展开)

DoubleZero测试网 评估协议

通过访问或使用解决方案(定义如下),您同意自首次访问之日("生效日期")起,本评估协议("协议")规定了DoubleZero基金会("DZF")将以评估为基础向您("用户"或"")提供解决方案访问权的条款和条件。出于相互承诺的对价,您同意如下:

1. 定义。

1.1 "保密信息"指任何一方向另一方披露的、被指定为保密的、或本应被理解为保密的所有信息,包括但不限于解决方案、产品计划、商业计划、商业机密、技术或任何其他专有信息。

1.2 "解决方案"指用于web3项目的DoubleZero高性能网络基础设施的测试网版本("测试网")及相关的集成带宽边缘过滤服务("信息服务")、DZ软件(定义如下)、DZF提供的与DZ软件相关的所有材料("文档"),以及DZF在此提供给用户的其他材料。

2. 访问。

2.1 访问解决方案在本协议条款和条件的约束下,DZF将通过互联网向用户提供对解决方案的访问。用户的访问是对解决方案的非独占、不可转让的有限使用,仅供用户评估信息服务。关于构成解决方案的任何软件("DZ软件"),DZF特此在评估期内授予用户有限的、可撤销的许可,仅按文档的规定复制、下载、制作合理数量的副本、运行和部署(如适用)该DZ软件。

2.2 限制用户可从生效日期起至DZF终止("评估期")期间,按照本协议使用解决方案。用户理解,在评估期之后使用解决方案的任何权利将须服从双方之间关于此的单独商业协议,包括支付费用。用户不得,也不得允许任何第三方:(i)修改解决方案或其任何部分,或基于解决方案或其任何部分创建任何衍生作品;(ii)除本协议明确允许外复制解决方案;(iii)以服务局的形式或以其他方式,向第三方转许可、分发、出售、借出、出租、租赁、转让或授予解决方案全部或任何部分的任何权利,或向第三方提供对解决方案的访问权,除非是通过或与用户平台或产品相关联的信息服务产品,且非独立基础上;或(iv)以本协议规定以外的方式使用解决方案。

2.3 所有权DZF保留解决方案的所有权利、所有权和利益,包括知识产权。

3. 反馈。 DZF可能定期要求用户提供,用户同意向DZF提供关于解决方案使用、操作和功能的反馈("反馈")。用户特此授予DZF非独占、全球范围、永久、不可撤销、免版税、全额付清、可完全转许可和可转让的权利和许可,将反馈用于和纳入任何产品和服务,制造、使用、出售、要约出售、进口和以其他方式利用此类产品和服务,以及以其他方式使用、复制、分发和以其他方式利用反馈而不受限制。

4. 期限和终止。

4.1 期限本协议自生效日期起生效,并在整个评估期内保持完全效力。任何一方均可出于任何原因或无原因,通过书面通知另一方(电子邮件即可)立即以便利为由终止本协议。

4.1 终止的效果本协议因任何原因终止后:(i)授予用户的权利将立即终止;(ii)用户应立即停止使用解决方案,并退还或销毁其控制下的所有文档和任何DZ软件;(iii)各方应立即退还或销毁另一方的所有保密信息和财产;以及(iv)第2.2、2.3、3、4.2条和第5至8条将继续有效。

5. 保密。 各方同意,它将仅使用另一方的保密信息履行其在本协议下的义务和行使其权利,且不得披露或允许披露相同信息,除非本协议另有允许。但是,任何一方可向有知情需要且受不低于本协议规定的保密义务约束的其人员、律师和其他代表披露保密信息;以及在法律要求时(在此情况下,接收方将在披露前通知披露方,并提供对此类披露提出异议的机会,且将在适用法律允许的范围内将此类披露最小化)。第5条的保密义务不适用于以下信息:(a)非因接收方的过错而成为或变得普遍已知或公开可获得的信息;(b)在披露方披露之前,接收方已在无限制情况下适当知晓的信息;(c)有合法授权的其他人士在无限制情况下适当向接收方披露的信息;或(d)接收方未使用或参考披露方的保密信息而独立开发的信息。各方同意在保护另一方的保密信息免受未经授权的使用和披露方面尽职尽责。如果本条款或本协议所含许可的条款实际或威胁遭受违反,非违约方将有权寻求即时禁令救济和其他衡平法救济,而不放弃其可获得的任何其他权利或救济。用户负责维护解决方案的安全以及任何提供对解决方案访问权的密码、助记词或代码作为DZF保密信息的保密性。此处任何内容均不限制或限制DZF使用有关解决方案性能、可用性、使用情况、完整性和安全性数据的权利或能力。如果任何一方违反或威胁违反第5条的规定,各方同意非违约方将没有充分的法律救济,因此有权获得即时禁令和其他衡平法救济,无需保证金,也无需证明实际金钱损害。

6. 保证免责声明;责任限制。

6.1 保证免责声明解决方案按"原样"提供,不附任何形式的保证。DZF不做任何明示、默示、法定或其他形式的保证,包括解决方案和文档的状况、符合任何陈述或描述,DZF特别声明不承担所有关于适销性、特定用途适用性、所有权和不侵权的默示保证。

6.2 责任限制 除第2.1、2.2和5条的违反外,在任何情况下,任何一方均不对另一方因本协议引起的或与本协议相关的间接、附带、特殊或其他间接损害负责,包括但不限于利润损失或使用损失或数据损失,无论是合同诉讼、侵权行为还是其他情况,即使另一方已被告知可能发生此类损害。在任何情况下,DZF因本协议引起的或与本协议相关的总责任不得超过一百美元($100),无论是合同行为、侵权行为还是其他情况。上述限制将不顾本协议中任何有限救济的基本目的失败而适用。双方同意,上述限制代表本协议下合理的风险分配。

7. 适用法律。 本协议及因本协议引起或与本协议相关的所有事项应受开曼群岛法律的管辖、解释和构建。如果因本协议产生或与本协议有关的争议、纠纷或索赔("争议"),相关方应视情况向其他各方发出30天的争议通知("争议通知")。如果争议在争议通知送达后30天届满时仍未解决,相关方可按照本协议的规定启动仲裁程序。如果争议在争议通知送达后30天届满时仍未解决,争议应通过开曼国际调解与仲裁中心(CI-MAC)按照本协议签署之日有效的CI-MAC仲裁规则("仲裁规则")进行仲裁解决,该仲裁规则视为通过引用并入本条款,并受《仲裁法》(经修订)管辖。仲裁地点应在开曼群岛大开曼的乔治敦,并受开曼群岛法律管辖。仲裁语言应为英语。仲裁应由根据仲裁规则指定的独任仲裁员裁定。仲裁员做出的任何裁决或决定应以书面形式作出,并对各方最终具有约束力,不得上诉,对任何此类裁决的判决可在任何有管辖权的法院执行。不得在任何司法管辖区的任何法院提出基于本协议引起或与本协议相关的任何索赔的法律诉讼或衡平法诉讼。如果需要诉诸法律或仲裁来执行本协议的条款,胜诉方将有权由另一方支付其律师费。各方放弃其可能拥有的主张不方便法院原则的任何权利、主张其不受此类仲裁或法院管辖的任何权利,或在按照本协议提起诉讼的范围内对地点提出异议的权利。

8. 一般条款。 未经DZF事先书面同意,用户不得转让或转移本协议。DZF可自由转让本协议。本协议规定的所有通知应通过电子邮件发送(发送给DZF:legal@doublezero.xyz),并视为发送后次日收到(已确认传输)。如果本协议的任何条款被认定为无效或不可执行,本协议的其余条款将继续完全有效。任何一方对本协议的任何违约或违反的放弃不构成对任何其他或后续违约或违反的放弃。任何一方均不对因不可抗力事件、地震、物资短缺、运输困难、劳资纠纷、骚乱、战争、火灾、流行病以及其控制范围之外的类似情况(无论是否可预见)导致的任何延迟或履行失败负责。本协议连同任何附件构成双方之间关于本协议主题的完整协议,并取代所有之前或同期的协议或陈述,无论是书面的还是口头的。本协议不得以书面形式修改或修订,除非经各方授权代表签署。

以IBRL模式连接到测试网

Note

IBRL模式不需要重启验证器客户端,因为它使用您现有的公共IP地址。

Solana测试网验证器将完成到DoubleZero测试网的连接,详情请见本页面。

每个Solana验证器都有其自己的身份密钥对;从中提取称为节点ID的公钥。这是验证器在Solana网络上的唯一指纹。

确认DoubleZero ID和节点ID后,您将证明您对机器的所有权。这通过创建包含使用验证器身份密钥签名的DoubleZero ID的消息来完成。由此产生的加密签名作为您控制该验证器的可验证证明。

最后,您将向DoubleZero提交连接请求。此请求传达:"这是我的身份,这是所有权证明,这是我打算如何连接。" DoubleZero验证此信息,接受证明,并为DoubleZero上的验证器配置网络访问。

本指南允许1个主验证器注册自身,以及同时注册最多3台备份/故障转移机器。

前提条件

  • Solana CLI已安装并在$PATH中
  • 对于验证器:有权访问sol用户下的验证器身份密钥对文件(如validator-keypair.json)
  • 对于验证器:验证正在连接的Solana验证器的身份密钥上至少有1 SOL
  • 防火墙规则允许DoubleZero和Solana RPC所需的出站连接,包括GRE(ip proto 47)和BGP(169.254.0.0/16上的tcp/179)

Info

验证器ID将与Solana gossip进行核对以确定目标IP。然后将使用目标IP和DoubleZero ID在您的机器和目标DoubleZero设备之间建立GRE隧道。

注意:如果您在同一IP上同时有垃圾ID和主ID,只有主ID将用于机器注册。这是因为垃圾ID不会出现在gossip中,因此无法用于验证目标机器的IP。

1. 环境配置

请在继续之前按照设置说明操作。

设置的最后一步是断开与网络的连接。这是为了确保您的机器上只有一个到DoubleZero的隧道处于开放状态,并且该隧道在正确的网络上。

要配置DoubleZero客户端CLI(doublezero)和守护程序(doublezerod)连接到DoubleZero测试网

DESIRED_DOUBLEZERO_ENV=testnet \
    && sudo mkdir -p /etc/systemd/system/doublezerod.service.d \
    && echo -e "[Service]\nExecStart=\nExecStart=/usr/bin/doublezerod -sock-file /run/doublezerod/doublezerod.sock -env $DESIRED_DOUBLEZERO_ENV" | sudo tee /etc/systemd/system/doublezerod.service.d/override.conf > /dev/null \
    && sudo systemctl daemon-reload \
    && sudo systemctl restart doublezerod \
    && doublezero config set --env $DESIRED_DOUBLEZERO_ENV  > /dev/null \
    && echo "✅ doublezerod configured for environment $DESIRED_DOUBLEZERO_ENV"
您应该看到以下输出:
✅ doublezerod configured for environment testnet

大约30秒后,您将看到可用的DoubleZero设备:

doublezero latency
示例输出(测试网)
doublezero latency
 pubkey                                       | code         | ip             | min      | max      | avg      | reachable
 6E1fuqbDBG5ejhYEGKHNkWG5mSTczjy4R77XCKEdUtpb | nyc-dz001    | 64.86.249.22   | 2.44ms   | 2.63ms   | 2.50ms   | true
 CT8mP6RUoRcAB67HjKV9am7SBTCpxaJEwfQrSjVLdZfD | lax-dz001    | 207.45.216.134 | 71.97ms  | 72.01ms  | 71.99ms  | true
 Cpt3doj17dCF6bEhvc7VeAuZbXLD88a1EboTyE8uj6ZL | lon-dz001    | 195.219.120.66 | 71.94ms  | 72.08ms  | 72.00ms  | true
 4Wr7PQr5kyqCNJo3RKa8675K7ZtQ6fBUeorcexgp49Zp | ams-dz001    | 195.219.138.50 | 76.55ms  | 76.65ms  | 76.61ms  | true
 29ghthsKeH2ZCUmN2sUvhJtpEXn2ZxqAuq4sZFBFZmEs | fra-dz001    | 195.219.220.58 | 83.01ms  | 83.10ms  | 83.05ms  | true
 hWffRFpLrsZoF5r9qJS6AL2D9TEmSvPUBEbDrLc111Y  | fra-dz-001-x | 195.12.227.250 | 84.87ms  | 84.91ms  | 84.89ms  | true
 8jyamHfu3rumSEJt9YhtYw3J4a7aKeiztdqux17irGSj | prg-dz-001-x | 195.12.228.250 | 95.27ms  | 95.30ms  | 95.29ms  | true
 5tqXoiQtZmuL6CjhgAC6vA49JRUsgB9Gsqh4fNjEhftU | tyo-dz001    | 180.87.154.78  | 180.96ms | 181.08ms | 181.02ms | true
 D3ZjDiLzvrGi5NJGzmM7b3YZg6e2DrUcBCQznJr3KfC8 | sin-dz001    | 180.87.102.98  | 220.87ms | 221.14ms | 220.97ms | true

主网输出结构相同,但可用设备更多。

2. 开放44880端口

用户需要开放44880端口以使用某些路由功能

要开放44880端口,您可以更新IP表,例如:

sudo iptables -A INPUT -i doublezero0 -p udp --dport 44880 -j ACCEPT
sudo iptables -A OUTPUT -o doublezero0 -p udp --dport 44880 -j ACCEPT

注意-i doublezero0-o doublezero0标志,这些标志将此规则限制为仅DoubleZero接口。

或UFW,例如:

sudo ufw allow in on doublezero0 to any port 44880 proto udp
sudo ufw allow out on doublezero0 to any port 44880 proto udp

注意in on doublezero0out on doublezero0标志,这些标志将此规则限制为仅DoubleZero接口。

3. 证明验证器所有权

设置好DoubleZero环境后,现在是证明您的验证器所有权的时候了。

您在主验证器设置中创建的DoubleZero ID必须用于所有备份机器。

您主机器上的ID可以通过doublezero address找到。相同的ID必须在集群中所有机器的~/.config/doublezero/id.json中。

为了实现这一点,您首先需要通过以下命令验证您正在运行命令的机器是您的主验证器

doublezero-solana passport find-validator -ut

这验证了验证器已在gossip中注册并出现在领导者时间表中。

预期输出:

Connected to Solana: testnet

DoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111
Detected public IP: 11.11.11.111
Validator ID: ValidatorIdentity111111111111111111111111111
Gossip IP: 11.11.11.111
In Leader scheduler
✅ This validator can connect as a primary in DoubleZero 🖥️  💎. It is a leader scheduled validator.

Info

无论是一台还是多台机器,工作流程相同。 要注册一台机器,请从本页上的任何命令中排除参数"--backup-validator-ids"或"backup_ids="。

现在,在您打算运行主验证器的所有备份机器上执行以下命令:

doublezero-solana passport find-validator -ut

预期输出:

Connected to Solana: testnet

DoubleZero ID: YourDoubleZeroAddress11111111111111111111111111111
Detected public IP: 22.22.22.222
Validator ID: ValidatorIdentity222222222222222222222222222
Gossip IP: 22.22.22.222
In Not in Leader scheduler
 ✅ This validator can only connect as a backup in DoubleZero 🖥️  🛟. It is not leader scheduled and cannot act as a primary validator.
此输出是预期的。备份节点在通行证创建时不能在领导者时间表中。

现在您将在您计划使用主验证器投票账户和身份的所有备份机器上运行此命令。

准备连接

主验证器机器上运行以下命令。这是您拥有活跃质押的机器,该机器在您正在运行命令的机器上Solana gossip中以您的主验证器ID在领导者时间表中:

doublezero-solana passport prepare-validator-access -ut \
  --doublezero-address YourDoubleZeroAddress11111111111111111111111111111 \
  --primary-validator-id ValidatorIdentity111111111111111111111111111 \
  --backup-validator-ids ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444>

示例输出:

DoubleZero Passport - Prepare Validator Access Request
Connected to Solana: testnet

Primary validator 🖥️  💎:
  ID: ValidatorIdentity111111111111111111111111111
  Gossip: ✅ OK 11.11.11.111)
  Leader scheduler: ✅ OK (Stake: 1,050,000.00 SOL)

Backup validator 🖥️ 🛡️:
  ID: ValidatorIdentity222222222222222222222222222
  Gossip: ✅ OK (22.22.22.222)
  Leader scheduler:  ✅ OK (not a leader scheduled validator)


Backup validator 🖥️ 🛡️:
  ID: ValidatorIdentity333333333333333333333333333
  Gossip: ✅ OK (33.33.33.333)
  Leader scheduler:  ✅ OK (not a leader scheduled validator)


  Backup validator 🖥️ 🛡️:
  ID: ValidatorIdentity444444444444444444444444444
  Gossip: ✅ OK (33.33.33.333)
  Leader scheduler:  ✅ OK (not a leader scheduled validator)

  To request access, sign the following message with your validator's identity key:

  solana sign-offchain-message \
     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \
     -k <identity-keypair-file.json>
注意此命令末尾的输出。这是下一步的结构。

4. 生成签名

在上一步结束时,我们收到了solana sign-offchain-message的预格式化输出。

从上述输出中,我们将在主验证器机器上运行此命令。

  solana sign-offchain-message \
     service_key=YourDoubleZeroAddress11111111111111111111111111111,backup_ids=ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \
     -k <identity-keypair-file.json>

输出:

  Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7

5. 在DoubleZero中发起连接请求

使用request-validator-access命令在Solana上为连接请求创建账户。DoubleZero Sentinel代理检测新账户,验证其身份和签名,并在DoubleZero中创建访问通行证,使服务器能够建立连接。

使用节点ID、DoubleZero ID和签名。

Note

在此示例中,我们使用-k /home/user/.config/solana/id.json来查找验证器身份。请使用适合您本地部署的位置。

doublezero-solana passport request-validator-access -k <path to keypair> -ut \
--primary-validator-id ValidatorIdentity111111111111111111111111111 \
--backup-validator-ids ValidatorIdentity222222222222222222222222222,ValidatorIdentity33333333333333333333333333,ValidatorIdentity444444444444444444444444444 \
--signature Signature111111rrNykTByK2DgJET3U6MdjSa7xgFivS9AHyhdSG6AbYTeczUNJSjYPwBGqpmNGkoWk9NvS3W7 --doublezero-address YourDoubleZeroAddress11111111111111111111111111111

输出:

此输出可用于在Solana浏览器中查看交易。确保将浏览器切换到测试网。此验证是可选的。

Request Solana validator access: Transaction22222222VaB8FMqM2wEBXyV5THpKRXWrPtDQxmTjHJHiAWteVYTsc7Gjz4hdXxvYoZXGeHkrEayp

如果成功,DoubleZero将注册主验证器及其备份。您现在可以在访问通行证中注册的IP之间进行故障转移。以这种方式注册备份节点时,DoubleZero将自动维护连接。

6. 以IBRL模式连接

在服务器上,使用将连接到DoubleZero的用户,运行connect命令建立到DoubleZero的连接。

doublezero connect ibrl

您应该看到表示配置的输出,例如:

DoubleZero Service Provisioning
🔗  Start Provisioning User...
Public IP detected: 137.184.101.183 - If you want to use a different IP, you can specify it with `--client-ip x.x.x.x`
🔍  Provisioning User for IP: 137.184.101.183
    User account created
    Connected to device: nyc-dz001
    The user has been successfully activated
    Service provisioned with status: ok
✅  User Provisioned
等待一分钟让GRE隧道完成设置。在GRE隧道完成设置之前,您的状态输出可能返回"down"或"Unknown"。

验证您的连接:

doublezero status

输出:

Note

检查此输出。注意Tunnel srcDoubleZero IP与您机器上的公共IPv4地址匹配。

 Tunnel status | Last Session Update     | Tunnel Name | Tunnel src    | Tunnel dst     | Doublezero IP | User Type | Current Device | Lowest Latency Device | Metro     | Network
 up            | 2025-10-20 12:12:55 UTC | doublezero0 | 11.11.11.111 | 12.34.56.789 | 11.11.11.111 | IBRL      | ams-dz001      |  ams-dz001          | Amsterdam | testnet
状态up表示您已成功连接。

您可以通过运行以下命令查看DoubleZero上其他用户传播的路由:

ip route
default via 149.28.38.1 dev enp1s0 proto dhcp src 149.28.38.64 metric 100
5.39.216.186 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64
5.39.251.201 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64
5.39.251.202 via 169.254.0.68 dev doublezero0 proto bgp src 149.28.38.64
...

下一步:通过多播发布碎片

如果您已完成此设置并计划通过多播发布碎片,请继续访问下一页